diff --git a/CHANGES.md b/CHANGES.md index 081de7f9..b723e693 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,5 +1,11 @@ twilio-oai changelog ==================== +[2024-10-24] Version 2.1.5 +-------------------------- +**Conversations** +- Expose ConversationWithParticipants resource that allows creating a conversation with participants + + [2024-10-17] Version 2.1.4 -------------------------- **Api** diff --git a/spec/json/twilio_assistants_v1.json b/spec/json/twilio_assistants_v1.json index 5cbd2dd4..fd0165af 100644 --- a/spec/json/twilio_assistants_v1.json +++ b/spec/json/twilio_assistants_v1.json @@ -771,6 +771,10 @@ "description": "The score associated with the chunk.", "type": "number", "format": "float" + }, + "knowledge_id": { + "description": "The knowledge ID associated with the chunk.", + "type": "string" } } } diff --git a/spec/json/twilio_conversations_v1.json b/spec/json/twilio_conversations_v1.json index 78dd84f2..40478467 100644 --- a/spec/json/twilio_conversations_v1.json +++ b/spec/json/twilio_conversations_v1.json @@ -755,6 +755,113 @@ "POST" ] }, + "conversations.v1.conversation_with_participants": { + "type": "object", + "properties": { + "account_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The unique ID of the [Account](https://www.twilio.com/docs/iam/api/account) responsible for this conversation." + }, + "chat_service_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The unique ID of the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) this conversation belongs to." + }, + "messaging_service_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^MG[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The unique ID of the [Messaging Service](https://www.twilio.com/docs/messaging/api/service-resource) this conversation belongs to." + }, + "sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^CH[0-9a-fA-F]{32}$", + "nullable": true, + "description": "A 34 character string that uniquely identifies this resource." + }, + "friendly_name": { + "type": "string", + "nullable": true, + "description": "The human-readable name of this conversation, limited to 256 characters. Optional.", + "x-twilio": { + "pii": { + "handling": "standard", + "deleteSla": 30 + } + } + }, + "unique_name": { + "type": "string", + "nullable": true, + "description": "An application-defined string that uniquely identifies the resource. It can be used to address the resource in place of the resource's `sid` in the URL.", + "x-twilio": { + "pii": { + "handling": "standard", + "deleteSla": 30 + } + } + }, + "attributes": { + "type": "string", + "nullable": true, + "description": "An optional string metadata field you can use to store any data you wish. The string value must contain structurally valid JSON if specified. **Note** that if the attributes are not set \"{}\" will be returned.", + "x-twilio": { + "pii": { + "handling": "sensitive", + "deleteSla": 30 + } + } + }, + "state": { + "type": "string", + "$ref": "#/components/schemas/conversation_with_participants_enum_state", + "nullable": true, + "description": "Current state of this conversation. Can be either `active`, `inactive` or `closed` and defaults to `active`" + }, + "date_created": { + "type": "string", + "format": "date-time", + "nullable": true, + "description": "The date that this resource was created." + }, + "date_updated": { + "type": "string", + "format": "date-time", + "nullable": true, + "description": "The date that this resource was last updated." + }, + "timers": { + "nullable": true, + "description": "Timer date values representing state update for this conversation." + }, + "links": { + "type": "object", + "format": "uri-map", + "nullable": true, + "description": "Contains absolute URLs to access the [participants](https://www.twilio.com/docs/conversations/api/conversation-participant-resource), [messages](https://www.twilio.com/docs/conversations/api/conversation-message-resource) and [webhooks](https://www.twilio.com/docs/conversations/api/conversation-scoped-webhook-resource) of this conversation." + }, + "bindings": { + "nullable": true + }, + "url": { + "type": "string", + "format": "uri", + "nullable": true, + "description": "An absolute API resource URL for this conversation." + } + } + }, "conversation_with_participants_enum_webhook_enabled_type": { "type": "string", "enum": [ @@ -1825,6 +1932,113 @@ "POST" ] }, + "conversations.v1.service.service_conversation_with_participants": { + "type": "object", + "properties": { + "account_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^AC[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The unique ID of the [Account](https://www.twilio.com/docs/iam/api/account) responsible for this conversation." + }, + "chat_service_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The unique ID of the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) this conversation belongs to." + }, + "messaging_service_sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^MG[0-9a-fA-F]{32}$", + "nullable": true, + "description": "The unique ID of the [Messaging Service](https://www.twilio.com/docs/messaging/api/service-resource) this conversation belongs to." + }, + "sid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^CH[0-9a-fA-F]{32}$", + "nullable": true, + "description": "A 34 character string that uniquely identifies this resource." + }, + "friendly_name": { + "type": "string", + "nullable": true, + "description": "The human-readable name of this conversation, limited to 256 characters. Optional.", + "x-twilio": { + "pii": { + "handling": "standard", + "deleteSla": 30 + } + } + }, + "unique_name": { + "type": "string", + "nullable": true, + "description": "An application-defined string that uniquely identifies the resource. It can be used to address the resource in place of the resource's `sid` in the URL.", + "x-twilio": { + "pii": { + "handling": "standard", + "deleteSla": 30 + } + } + }, + "attributes": { + "type": "string", + "nullable": true, + "description": "An optional string metadata field you can use to store any data you wish. The string value must contain structurally valid JSON if specified. **Note** that if the attributes are not set \"{}\" will be returned.", + "x-twilio": { + "pii": { + "handling": "sensitive", + "deleteSla": 30 + } + } + }, + "state": { + "type": "string", + "$ref": "#/components/schemas/service_conversation_with_participants_enum_state", + "nullable": true, + "description": "Current state of this conversation. Can be either `active`, `inactive` or `closed` and defaults to `active`" + }, + "date_created": { + "type": "string", + "format": "date-time", + "nullable": true, + "description": "The date that this resource was created." + }, + "date_updated": { + "type": "string", + "format": "date-time", + "nullable": true, + "description": "The date that this resource was last updated." + }, + "timers": { + "nullable": true, + "description": "Timer date values representing state update for this conversation." + }, + "links": { + "type": "object", + "format": "uri-map", + "nullable": true, + "description": "Contains absolute URLs to access the [participants](https://www.twilio.com/docs/conversations/api/conversation-participant-resource), [messages](https://www.twilio.com/docs/conversations/api/conversation-message-resource) and [webhooks](https://www.twilio.com/docs/conversations/api/conversation-scoped-webhook-resource) of this conversation." + }, + "bindings": { + "nullable": true + }, + "url": { + "type": "string", + "format": "uri", + "nullable": true, + "description": "An absolute API resource URL for this conversation." + } + } + }, "service_conversation_with_participants_enum_webhook_enabled_type": { "type": "string", "enum": [ @@ -3422,7 +3636,7 @@ "AutoCreation.Type": "webhook", "AutoCreation.ConversationServiceSid": "ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "AutoCreation.WebhookUrl": "https://example.com", - "AutoCreation.WebhookMethod": "POST", + "AutoCreation.WebhookMethod": "post", "AutoCreation.WebhookFilters": [ "onParticipantAdded", "onMessageAdded" @@ -7765,46 +7979,94 @@ "operationId": "DeleteConversationScopedWebhook" } }, - "/v1/Credentials": { + "/v1/ConversationWithParticipants": { "servers": [ { "url": "https://conversations.twilio.com" } ], - "description": "A Credential resource represents a push notification credential.", + "description": "A Conversation resource represents an omnichannel group conversation with an ordered list of messages and a participant roster.", "x-twilio": { "defaultOutputProperties": [ "sid", + "chat_service_sid", "friendly_name", - "type" + "date_created" ], + "className": "conversation_with_participants", "pathType": "list" }, "post": { - "description": "Add a new push notification credential to your account", + "description": "Create a new conversation with the list of participants in your account's default service", "tags": [ - "ConversationsV1Credential" + "ConversationsV1ConversationWithParticipants" + ], + "parameters": [ + { + "name": "X-Twilio-Webhook-Enabled", + "in": "header", + "description": "The X-Twilio-Webhook-Enabled HTTP request header", + "schema": { + "type": "string", + "$ref": "#/components/schemas/conversation_with_participants_enum_webhook_enabled_type" + } + } ], "responses": { "201": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/conversations.v1.credential" + "$ref": "#/components/schemas/conversations.v1.conversation_with_participants" }, "examples": { "create": { "value": { - "sid": "CRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "sid": "CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", - "friendly_name": "Test slow create", - "type": "apn", - "sandbox": "False", - "date_created": "2015-10-07T17:50:01Z", - "date_updated": "2015-10-07T17:50:01Z", - "url": "https://conversations.twilio.com/v1/Credentials/CRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" + "chat_service_sid": "ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "messaging_service_sid": "MGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "friendly_name": "friendly_name", + "unique_name": "unique_name", + "attributes": "{ \"topic\": \"feedback\" }", + "date_created": "2015-12-16T22:18:37Z", + "date_updated": "2015-12-16T22:18:38Z", + "state": "inactive", + "timers": { + "date_inactive": "2015-12-16T22:19:38Z", + "date_closed": "2015-12-16T22:28:38Z" + }, + "bindings": {}, + "links": { + "participants": "https://conversations.twilio.com/v1/Conversations/CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Participants", + "messages": "https://conversations.twilio.com/v1/Conversations/CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Messages", + "webhooks": "https://conversations.twilio.com/v1/Conversations/CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Webhooks" + }, + "url": "https://conversations.twilio.com/v1/Conversations/CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" } - } + }, + "createNoTimersNoAttributes": { + "value": { + "sid": "CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "chat_service_sid": "ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "messaging_service_sid": "MGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "friendly_name": "friendly_name", + "unique_name": null, + "attributes": "{}", + "date_created": "2020-07-01T22:18:37Z", + "date_updated": "2020-07-01T22:18:37Z", + "state": "active", + "timers": {}, + "bindings": {}, + "links": { + "participants": "https://conversations.twilio.com/v1/Conversations/CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Participants", + "messages": "https://conversations.twilio.com/v1/Conversations/CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Messages", + "webhooks": "https://conversations.twilio.com/v1/Conversations/CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Webhooks" + }, + "url": "https://conversations.twilio.com/v1/Conversations/CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" + } + } } } }, @@ -7845,186 +8107,34 @@ } }, "description": "Created" - } - }, - "security": [ - { - "accountSid_authToken": [] - } - ], - "operationId": "CreateCredential", - "requestBody": { - "content": { - "application/x-www-form-urlencoded": { - "schema": { - "type": "object", - "title": "CreateCredentialRequest", - "properties": { - "Type": { - "type": "string", - "$ref": "#/components/schemas/credential_enum_push_type", - "description": "The type of push-notification service the credential is for. Can be: `fcm`, `gcm`, or `apn`." - }, - "FriendlyName": { - "type": "string", - "description": "A descriptive string that you create to describe the new resource. It can be up to 64 characters long." - }, - "Certificate": { - "type": "string", - "description": "[APN only] The URL encoded representation of the certificate. For example, \n`-----BEGIN CERTIFICATE-----\nMIIFnTCCBIWgAwIBAgIIAjy9H849+E8wDQYJKoZIhvcNAQEF.....A==\n-----END CERTIFICATE-----`." - }, - "PrivateKey": { - "type": "string", - "description": "[APN only] The URL encoded representation of the private key. For example,\n`-----BEGIN RSA PRIVATE KEY-----\nMIIEpQIBAAKCAQEAuyf/lNrH9ck8DmNyo3fG...\n-----END RSA PRIVATE KEY-----`." - }, - "Sandbox": { - "type": "boolean", - "description": "[APN only] Whether to send the credential to sandbox APNs. Can be `true` to send to sandbox APNs or `false` to send to production." - }, - "ApiKey": { - "type": "string", - "description": "[GCM only] The API key for the project that was obtained from the Google Developer console for your GCM Service application credential." - }, - "Secret": { - "type": "string", - "description": "[FCM only] The **Server key** of your project from the Firebase console, found under Settings / Cloud messaging." - } - }, - "required": [ - "Type" - ] - }, - "examples": { - "create": { - "value": { - "Type": "apn" - } - } - } - } - } - } - }, - "get": { - "description": "Retrieve a list of all push notification credentials on your account", - "tags": [ - "ConversationsV1Credential" - ], - "parameters": [ - { - "name": "PageSize", - "in": "query", - "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", - "schema": { - "type": "integer", - "minimum": 1, - "maximum": 1000 - } - }, - { - "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": { + "202": { "content": { "application/json": { "schema": { - "type": "object", - "properties": { - "credentials": { - "type": "array", - "items": { - "$ref": "#/components/schemas/conversations.v1.credential" - } - }, - "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": "ListCredentialResponse" + "$ref": "#/components/schemas/conversations.v1.conversation_with_participants" }, "examples": { - "readFull": { + "createWithParticipants": { "value": { - "credentials": [ - { - "sid": "CRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", - "account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", - "friendly_name": "Test slow create", - "type": "apn", - "sandbox": "False", - "date_created": "2015-10-07T17:50:01Z", - "date_updated": "2015-10-07T17:50:01Z", - "url": "https://conversations.twilio.com/v1/Credentials/CRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" - } - ], - "meta": { - "page": 0, - "page_size": 50, - "first_page_url": "https://conversations.twilio.com/v1/Credentials?PageSize=50&Page=0", - "previous_page_url": null, - "url": "https://conversations.twilio.com/v1/Credentials?PageSize=50&Page=0", - "next_page_url": null, - "key": "credentials" - } - } - }, - "readEmpty": { - "value": { - "credentials": [], - "meta": { - "page": 0, - "page_size": 50, - "first_page_url": "https://conversations.twilio.com/v1/Credentials?PageSize=50&Page=0", - "previous_page_url": null, - "url": "https://conversations.twilio.com/v1/Credentials?PageSize=50&Page=0", - "next_page_url": null, - "key": "credentials" - } + "sid": "CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "chat_service_sid": "ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "messaging_service_sid": "MGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "friendly_name": "friendly_name", + "unique_name": null, + "attributes": "{}", + "date_created": "2020-07-01T22:18:37Z", + "date_updated": "2020-07-01T22:18:37Z", + "state": "active", + "timers": {}, + "bindings": {}, + "links": { + "participants": "https://conversations.twilio.com/v1/Conversations/CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Participants", + "messages": "https://conversations.twilio.com/v1/Conversations/CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Messages", + "webhooks": "https://conversations.twilio.com/v1/Conversations/CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Webhooks" + }, + "url": "https://conversations.twilio.com/v1/Conversations/CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" } } } @@ -8066,7 +8176,7 @@ } } }, - "description": "OK" + "description": "Accepted" } }, "security": [ @@ -8074,52 +8184,144 @@ "accountSid_authToken": [] } ], - "operationId": "ListCredential" - } - }, - "/v1/Credentials/{Sid}": { - "servers": [ - { - "url": "https://conversations.twilio.com" - } - ], - "description": "A Credential resource represents a push notification credential.", - "x-twilio": { - "defaultOutputProperties": [ - "sid", - "friendly_name", - "type" - ], - "pathType": "instance" - }, - "post": { - "description": "Update an existing push notification credential on your account", - "tags": [ - "ConversationsV1Credential" - ], - "parameters": [ - { - "name": "Sid", - "in": "path", - "description": "A 34 character string that uniquely identifies this resource.", - "schema": { - "type": "string", - "minLength": 34, - "maxLength": 34, - "pattern": "^CR[0-9a-fA-F]{32}$" - }, - "required": true - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/conversations.v1.credential" + "operationId": "CreateConversationWithParticipants", + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "CreateConversationWithParticipantsRequest", + "properties": { + "FriendlyName": { + "type": "string", + "description": "The human-readable name of this conversation, limited to 256 characters. Optional." + }, + "UniqueName": { + "type": "string", + "description": "An application-defined string that uniquely identifies the resource. It can be used to address the resource in place of the resource's `sid` in the URL." + }, + "DateCreated": { + "type": "string", + "format": "date-time", + "description": "The date that this resource was created." + }, + "DateUpdated": { + "type": "string", + "format": "date-time", + "description": "The date that this resource was last updated." + }, + "MessagingServiceSid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^MG[0-9a-fA-F]{32}$", + "description": "The unique ID of the [Messaging Service](https://www.twilio.com/docs/messaging/api/service-resource) this conversation belongs to." + }, + "Attributes": { + "type": "string", + "description": "An optional string metadata field you can use to store any data you wish. The string value must contain structurally valid JSON if specified. **Note** that if the attributes are not set \"{}\" will be returned." + }, + "State": { + "type": "string", + "$ref": "#/components/schemas/conversation_with_participants_enum_state", + "description": "Current state of this conversation. Can be either `active`, `inactive` or `closed` and defaults to `active`" + }, + "Timers.Inactive": { + "type": "string", + "description": "ISO8601 duration when conversation will be switched to `inactive` state. Minimum value for this timer is 1 minute." + }, + "Timers.Closed": { + "type": "string", + "description": "ISO8601 duration when conversation will be switched to `closed` state. Minimum value for this timer is 10 minutes." + }, + "Bindings.Email.Address": { + "type": "string", + "description": "The default email address that will be used when sending outbound emails in this conversation." + }, + "Bindings.Email.Name": { + "type": "string", + "description": "The default name that will be used when sending outbound emails in this conversation." + }, + "Participant": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The participant to be added to the conversation in JSON format. The parameters are as in [Participant Resource](https://www.twilio.com/docs/conversations/api/conversation-participant-resource). The maximum number of participants that can be added in a single request is 10." + } + } + }, + "examples": { + "create": { + "value": { + "FriendlyName": "friendly_name", + "UniqueName": "unique_name", + "Attributes": "{ \"topic\": \"feedback\" }", + "DateCreated": "2015-12-16T22:18:37Z", + "DateUpdated": "2015-12-16T22:18:38Z", + "MessagingServiceSid": "MGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "State": "inactive", + "Timers.Inactive": "PT1M", + "Timers.Closed": "PT10M" + } + }, + "createNoTimersNoAttributes": { + "value": { + "FriendlyName": "friendly_name", + "DateCreated": "2020-07-01T22:18:37Z", + "DateUpdated": "2020-07-01T22:18:37Z", + "MessagingServiceSid": "MGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "State": "active" + } + }, + "createWithParticipants": { + "value": { + "FriendlyName": "friendly_name", + "DateCreated": "2020-07-01T22:18:37Z", + "DateUpdated": "2020-07-01T22:18:37Z", + "MessagingServiceSid": "MGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "State": "active", + "Participant": [ + "{ \"identity\": \"user1\" }", + "{ \"identity\": \"user2\" }" + ] + } + } + } + } + } + } + } + }, + "/v1/Credentials": { + "servers": [ + { + "url": "https://conversations.twilio.com" + } + ], + "description": "A Credential resource represents a push notification credential.", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "friendly_name", + "type" + ], + "pathType": "list" + }, + "post": { + "description": "Add a new push notification credential to your account", + "tags": [ + "ConversationsV1Credential" + ], + "responses": { + "201": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/conversations.v1.credential" }, "examples": { - "update": { + "create": { "value": { "sid": "CRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", @@ -8170,7 +8372,7 @@ } } }, - "description": "OK" + "description": "Created" } }, "security": [ @@ -8178,13 +8380,13 @@ "accountSid_authToken": [] } ], - "operationId": "UpdateCredential", + "operationId": "CreateCredential", "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { "type": "object", - "title": "UpdateCredentialRequest", + "title": "CreateCredentialRequest", "properties": { "Type": { "type": "string", @@ -8215,12 +8417,15 @@ "type": "string", "description": "[FCM only] The **Server key** of your project from the Firebase console, found under Settings / Cloud messaging." } - } + }, + "required": [ + "Type" + ] }, "examples": { - "update": { + "create": { "value": { - "FriendlyName": "Test slow create" + "Type": "apn" } } } @@ -8228,54 +8433,38 @@ } } }, - "delete": { - "description": "Remove a push notification credential from your account", + "get": { + "description": "Retrieve a list of all push notification credentials on your account", "tags": [ "ConversationsV1Credential" ], "parameters": [ { - "name": "Sid", - "in": "path", - "description": "A 34 character string that uniquely identifies this resource.", + "name": "PageSize", + "in": "query", + "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { - "type": "string", - "minLength": 34, - "maxLength": 34, - "pattern": "^CR[0-9a-fA-F]{32}$" - }, - "required": true - } - ], - "responses": { - "204": { - "description": "The resource was deleted successfully." - } - }, - "security": [ + "type": "integer", + "minimum": 1, + "maximum": 1000 + } + }, { - "accountSid_authToken": [] - } - ], - "operationId": "DeleteCredential" - }, - "get": { - "description": "Fetch a push notification credential from your account", - "tags": [ - "ConversationsV1Credential" - ], - "parameters": [ + "name": "Page", + "in": "query", + "description": "The page index. This value is simply for client state.", + "schema": { + "type": "integer", + "minimum": 0 + } + }, { - "name": "Sid", - "in": "path", - "description": "A 34 character string that uniquely identifies this resource.", + "name": "PageToken", + "in": "query", + "description": "The page token. This is provided by the API.", "schema": { - "type": "string", - "minLength": 34, - "maxLength": 34, - "pattern": "^CR[0-9a-fA-F]{32}$" - }, - "required": true + "type": "string" + } } ], "responses": { @@ -8283,18 +8472,357 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/conversations.v1.credential" + "type": "object", + "properties": { + "credentials": { + "type": "array", + "items": { + "$ref": "#/components/schemas/conversations.v1.credential" + } + }, + "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": "ListCredentialResponse" }, "examples": { - "fetch": { + "readFull": { "value": { - "sid": "CRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", - "account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", - "friendly_name": "Test slow create", - "type": "apn", - "sandbox": "False", - "date_created": "2015-10-07T17:50:01Z", - "date_updated": "2015-10-07T17:50:01Z", + "credentials": [ + { + "sid": "CRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "friendly_name": "Test slow create", + "type": "apn", + "sandbox": "False", + "date_created": "2015-10-07T17:50:01Z", + "date_updated": "2015-10-07T17:50:01Z", + "url": "https://conversations.twilio.com/v1/Credentials/CRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" + } + ], + "meta": { + "page": 0, + "page_size": 50, + "first_page_url": "https://conversations.twilio.com/v1/Credentials?PageSize=50&Page=0", + "previous_page_url": null, + "url": "https://conversations.twilio.com/v1/Credentials?PageSize=50&Page=0", + "next_page_url": null, + "key": "credentials" + } + } + }, + "readEmpty": { + "value": { + "credentials": [], + "meta": { + "page": 0, + "page_size": 50, + "first_page_url": "https://conversations.twilio.com/v1/Credentials?PageSize=50&Page=0", + "previous_page_url": null, + "url": "https://conversations.twilio.com/v1/Credentials?PageSize=50&Page=0", + "next_page_url": null, + "key": "credentials" + } + } + } + } + } + }, + "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": "ListCredential" + } + }, + "/v1/Credentials/{Sid}": { + "servers": [ + { + "url": "https://conversations.twilio.com" + } + ], + "description": "A Credential resource represents a push notification credential.", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "friendly_name", + "type" + ], + "pathType": "instance" + }, + "post": { + "description": "Update an existing push notification credential on your account", + "tags": [ + "ConversationsV1Credential" + ], + "parameters": [ + { + "name": "Sid", + "in": "path", + "description": "A 34 character string that uniquely identifies this resource.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^CR[0-9a-fA-F]{32}$" + }, + "required": true + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/conversations.v1.credential" + }, + "examples": { + "update": { + "value": { + "sid": "CRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "friendly_name": "Test slow create", + "type": "apn", + "sandbox": "False", + "date_created": "2015-10-07T17:50:01Z", + "date_updated": "2015-10-07T17:50:01Z", + "url": "https://conversations.twilio.com/v1/Credentials/CRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" + } + } + } + } + }, + "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": "UpdateCredential", + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "UpdateCredentialRequest", + "properties": { + "Type": { + "type": "string", + "$ref": "#/components/schemas/credential_enum_push_type", + "description": "The type of push-notification service the credential is for. Can be: `fcm`, `gcm`, or `apn`." + }, + "FriendlyName": { + "type": "string", + "description": "A descriptive string that you create to describe the new resource. It can be up to 64 characters long." + }, + "Certificate": { + "type": "string", + "description": "[APN only] The URL encoded representation of the certificate. For example, \n`-----BEGIN CERTIFICATE-----\nMIIFnTCCBIWgAwIBAgIIAjy9H849+E8wDQYJKoZIhvcNAQEF.....A==\n-----END CERTIFICATE-----`." + }, + "PrivateKey": { + "type": "string", + "description": "[APN only] The URL encoded representation of the private key. For example,\n`-----BEGIN RSA PRIVATE KEY-----\nMIIEpQIBAAKCAQEAuyf/lNrH9ck8DmNyo3fG...\n-----END RSA PRIVATE KEY-----`." + }, + "Sandbox": { + "type": "boolean", + "description": "[APN only] Whether to send the credential to sandbox APNs. Can be `true` to send to sandbox APNs or `false` to send to production." + }, + "ApiKey": { + "type": "string", + "description": "[GCM only] The API key for the project that was obtained from the Google Developer console for your GCM Service application credential." + }, + "Secret": { + "type": "string", + "description": "[FCM only] The **Server key** of your project from the Firebase console, found under Settings / Cloud messaging." + } + } + }, + "examples": { + "update": { + "value": { + "FriendlyName": "Test slow create" + } + } + } + } + } + } + }, + "delete": { + "description": "Remove a push notification credential from your account", + "tags": [ + "ConversationsV1Credential" + ], + "parameters": [ + { + "name": "Sid", + "in": "path", + "description": "A 34 character string that uniquely identifies this resource.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^CR[0-9a-fA-F]{32}$" + }, + "required": true + } + ], + "responses": { + "204": { + "description": "The resource was deleted successfully." + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "operationId": "DeleteCredential" + }, + "get": { + "description": "Fetch a push notification credential from your account", + "tags": [ + "ConversationsV1Credential" + ], + "parameters": [ + { + "name": "Sid", + "in": "path", + "description": "A 34 character string that uniquely identifies this resource.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^CR[0-9a-fA-F]{32}$" + }, + "required": true + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/conversations.v1.credential" + }, + "examples": { + "fetch": { + "value": { + "sid": "CRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "friendly_name": "Test slow create", + "type": "apn", + "sandbox": "False", + "date_created": "2015-10-07T17:50:01Z", + "date_updated": "2015-10-07T17:50:01Z", "url": "https://conversations.twilio.com/v1/Credentials/CRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" } } @@ -9251,6 +9779,12 @@ "chat_service_sid": "sid" }, "resource_url": "/v1/Services/{chat_service_sid}/ParticipantConversations" + }, + "conversation_with_participants": { + "mapping": { + "chat_service_sid": "sid" + }, + "resource_url": "/v1/Services/{chat_service_sid}/ConversationWithParticipants" } }, "pathType": "list" @@ -9282,7 +9816,8 @@ "roles": "https://conversations.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Roles", "bindings": "https://conversations.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Bindings", "configuration": "https://conversations.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Configuration", - "participant_conversations": "https://conversations.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/ParticipantConversations" + "participant_conversations": "https://conversations.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/ParticipantConversations", + "conversation_with_participants": "https://conversations.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/ConversationWithParticipants" } } } @@ -9460,7 +9995,8 @@ "roles": "https://conversations.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Roles", "bindings": "https://conversations.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Bindings", "configuration": "https://conversations.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Configuration", - "participant_conversations": "https://conversations.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/ParticipantConversations" + "participant_conversations": "https://conversations.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/ParticipantConversations", + "conversation_with_participants": "https://conversations.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/ConversationWithParticipants" } } ], @@ -9573,6 +10109,12 @@ "chat_service_sid": "sid" }, "resource_url": "/v1/Services/{chat_service_sid}/ParticipantConversations" + }, + "conversation_with_participants": { + "mapping": { + "chat_service_sid": "sid" + }, + "resource_url": "/v1/Services/{chat_service_sid}/ConversationWithParticipants" } }, "pathType": "instance" @@ -9649,7 +10191,8 @@ "roles": "https://conversations.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Roles", "bindings": "https://conversations.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Bindings", "configuration": "https://conversations.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Configuration", - "participant_conversations": "https://conversations.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/ParticipantConversations" + "participant_conversations": "https://conversations.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/ParticipantConversations", + "conversation_with_participants": "https://conversations.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/ConversationWithParticipants" } } } @@ -14301,18 +14844,149 @@ "accountSid_authToken": [] } ], - "operationId": "DeleteServiceConversationScopedWebhook" + "operationId": "DeleteServiceConversationScopedWebhook" + }, + "get": { + "description": "Fetch the configuration of a conversation-scoped webhook", + "tags": [ + "ConversationsV1Webhook" + ], + "parameters": [ + { + "name": "ChatServiceSid", + "in": "path", + "description": "The SID of the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) the Participant resource is associated with.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^IS[0-9a-fA-F]{32}$" + }, + "required": true + }, + { + "name": "ConversationSid", + "in": "path", + "description": "The unique ID of the [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) for this webhook.", + "schema": { + "type": "string" + }, + "required": true + }, + { + "name": "Sid", + "in": "path", + "description": "A 34 character string that uniquely identifies this resource.", + "schema": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^WH[0-9a-fA-F]{32}$" + }, + "required": true + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/conversations.v1.service.service_conversation.service_conversation_scoped_webhook" + }, + "examples": { + "fetch": { + "value": { + "account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "chat_service_sid": "ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "conversation_sid": "CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "sid": "WHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "target": "studio", + "configuration": { + "flow_sid": "FWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" + }, + "date_created": "2016-03-24T21:05:50Z", + "date_updated": "2016-03-24T21:05:50Z", + "url": "https://conversations.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Conversations/CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Webhooks/WHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" + } + } + } + } + }, + "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": "FetchServiceConversationScopedWebhook" + } + }, + "/v1/Services/{ChatServiceSid}/ConversationWithParticipants": { + "servers": [ + { + "url": "https://conversations.twilio.com" + } + ], + "description": "A Service Conversation resource represents an omnichannel group conversation with an ordered list of messages and a participant roster.", + "x-twilio": { + "defaultOutputProperties": [ + "sid", + "chat_service_sid", + "friendly_name", + "date_created" + ], + "parent": "/Services/{Sid}", + "className": "conversation_with_participants", + "pathType": "list" }, - "get": { - "description": "Fetch the configuration of a conversation-scoped webhook", + "post": { + "description": "Create a new conversation with the list of participants in your account's default service", "tags": [ - "ConversationsV1Webhook" + "ConversationsV1ConversationWithParticipants" ], "parameters": [ { "name": "ChatServiceSid", "in": "path", - "description": "The SID of the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) the Participant resource is associated with.", + "description": "The SID of the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) the Conversation resource is associated with.", "schema": { "type": "string", "minLength": 34, @@ -14322,48 +14996,68 @@ "required": true }, { - "name": "ConversationSid", - "in": "path", - "description": "The unique ID of the [Conversation](https://www.twilio.com/docs/conversations/api/conversation-resource) for this webhook.", - "schema": { - "type": "string" - }, - "required": true - }, - { - "name": "Sid", - "in": "path", - "description": "A 34 character string that uniquely identifies this resource.", + "name": "X-Twilio-Webhook-Enabled", + "in": "header", + "description": "The X-Twilio-Webhook-Enabled HTTP request header", "schema": { "type": "string", - "minLength": 34, - "maxLength": 34, - "pattern": "^WH[0-9a-fA-F]{32}$" - }, - "required": true + "$ref": "#/components/schemas/service_conversation_with_participants_enum_webhook_enabled_type" + } } ], "responses": { - "200": { + "201": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/conversations.v1.service.service_conversation.service_conversation_scoped_webhook" + "$ref": "#/components/schemas/conversations.v1.service.service_conversation_with_participants" }, "examples": { - "fetch": { + "create": { "value": { + "sid": "CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "chat_service_sid": "ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", - "conversation_sid": "CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", - "sid": "WHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", - "target": "studio", - "configuration": { - "flow_sid": "FWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" + "messaging_service_sid": "MGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "friendly_name": "friendly_name", + "unique_name": "unique_name", + "attributes": "{ \"topic\": \"feedback\" }", + "date_created": "2015-12-16T22:18:37Z", + "date_updated": "2015-12-16T22:18:38Z", + "state": "inactive", + "timers": { + "date_inactive": "2015-12-16T22:19:38Z", + "date_closed": "2015-12-16T22:28:38Z" }, - "date_created": "2016-03-24T21:05:50Z", - "date_updated": "2016-03-24T21:05:50Z", - "url": "https://conversations.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Conversations/CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Webhooks/WHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" + "bindings": {}, + "links": { + "participants": "https://conversations.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Conversations/CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Participants", + "messages": "https://conversations.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Conversations/CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Messages", + "webhooks": "https://conversations.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Conversations/CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Webhooks" + }, + "url": "https://conversations.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Conversations/CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" + } + }, + "createNoTimersNoAttributes": { + "value": { + "sid": "CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "chat_service_sid": "ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "messaging_service_sid": "MGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "friendly_name": "friendly_name", + "unique_name": null, + "attributes": "{}", + "date_created": "2020-07-01T22:18:37Z", + "date_updated": "2020-07-01T22:18:37Z", + "state": "active", + "timers": {}, + "bindings": {}, + "links": { + "participants": "https://conversations.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Conversations/CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Participants", + "messages": "https://conversations.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Conversations/CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Messages", + "webhooks": "https://conversations.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Conversations/CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Webhooks" + }, + "url": "https://conversations.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Conversations/CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" } } } @@ -14405,7 +15099,77 @@ } } }, - "description": "OK" + "description": "Created" + }, + "202": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/conversations.v1.service.service_conversation_with_participants" + }, + "examples": { + "createWithParticipants": { + "value": { + "sid": "CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "chat_service_sid": "ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "messaging_service_sid": "MGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "friendly_name": "friendly_name", + "unique_name": null, + "attributes": "{}", + "date_created": "2020-07-01T22:18:37Z", + "date_updated": "2020-07-01T22:18:37Z", + "state": "active", + "timers": {}, + "bindings": {}, + "links": { + "participants": "https://conversations.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Conversations/CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Participants", + "messages": "https://conversations.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Conversations/CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Messages", + "webhooks": "https://conversations.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Conversations/CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Webhooks" + }, + "url": "https://conversations.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Conversations/CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" + } + } + } + } + }, + "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": "Accepted" } }, "security": [ @@ -14413,7 +15177,113 @@ "accountSid_authToken": [] } ], - "operationId": "FetchServiceConversationScopedWebhook" + "operationId": "CreateServiceConversationWithParticipants", + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "type": "object", + "title": "CreateServiceConversationWithParticipantsRequest", + "properties": { + "FriendlyName": { + "type": "string", + "description": "The human-readable name of this conversation, limited to 256 characters. Optional." + }, + "UniqueName": { + "type": "string", + "description": "An application-defined string that uniquely identifies the resource. It can be used to address the resource in place of the resource's `sid` in the URL." + }, + "DateCreated": { + "type": "string", + "format": "date-time", + "description": "The date that this resource was created." + }, + "DateUpdated": { + "type": "string", + "format": "date-time", + "description": "The date that this resource was last updated." + }, + "MessagingServiceSid": { + "type": "string", + "minLength": 34, + "maxLength": 34, + "pattern": "^MG[0-9a-fA-F]{32}$", + "description": "The unique ID of the [Messaging Service](https://www.twilio.com/docs/messaging/api/service-resource) this conversation belongs to." + }, + "Attributes": { + "type": "string", + "description": "An optional string metadata field you can use to store any data you wish. The string value must contain structurally valid JSON if specified. **Note** that if the attributes are not set \"{}\" will be returned." + }, + "State": { + "type": "string", + "$ref": "#/components/schemas/service_conversation_with_participants_enum_state", + "description": "Current state of this conversation. Can be either `active`, `inactive` or `closed` and defaults to `active`" + }, + "Timers.Inactive": { + "type": "string", + "description": "ISO8601 duration when conversation will be switched to `inactive` state. Minimum value for this timer is 1 minute." + }, + "Timers.Closed": { + "type": "string", + "description": "ISO8601 duration when conversation will be switched to `closed` state. Minimum value for this timer is 10 minutes." + }, + "Bindings.Email.Address": { + "type": "string", + "description": "The default email address that will be used when sending outbound emails in this conversation." + }, + "Bindings.Email.Name": { + "type": "string", + "description": "The default name that will be used when sending outbound emails in this conversation." + }, + "Participant": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The participant to be added to the conversation in JSON format. The parameters are as in [Participant Resource](https://www.twilio.com/docs/conversations/api/conversation-participant-resource). The maximum number of participants that can be added in a single request is 10." + } + } + }, + "examples": { + "create": { + "value": { + "FriendlyName": "friendly_name", + "UniqueName": "unique_name", + "Attributes": "{ \"topic\": \"feedback\" }", + "DateCreated": "2015-12-16T22:18:37Z", + "DateUpdated": "2015-12-16T22:18:38Z", + "MessagingServiceSid": "MGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "State": "inactive", + "Timers.Inactive": "PT1M", + "Timers.Closed": "PT10M" + } + }, + "createNoTimersNoAttributes": { + "value": { + "FriendlyName": "friendly_name", + "DateCreated": "2020-07-01T22:18:37Z", + "DateUpdated": "2020-07-01T22:18:37Z", + "MessagingServiceSid": "MGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "State": "active" + } + }, + "createWithParticipants": { + "value": { + "FriendlyName": "friendly_name", + "DateCreated": "2020-07-01T22:18:37Z", + "DateUpdated": "2020-07-01T22:18:37Z", + "MessagingServiceSid": "MGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "State": "active", + "Participant": [ + "{ \"identity\": \"user1\" }", + "{ \"identity\": \"user2\" }" + ] + } + } + } + } + } + } } }, "/v1/Services/{ChatServiceSid}/Configuration/Notifications": { diff --git a/spec/json/twilio_insights_v1.json b/spec/json/twilio_insights_v1.json index 8fc5e78c..a126e2c0 100644 --- a/spec/json/twilio_insights_v1.json +++ b/spec/json/twilio_insights_v1.json @@ -5303,7 +5303,7 @@ "page": 10, "page_size": 5, "first_page_url": "https://insights.twilio.com/v1/Voice/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Events?PageSize=5&Page=0", - "previous_page_url": "https://insights.twilio.com/v1/Voice/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Events?PageSize=5&Page=9&PageToken=DP10", + "previous_page_url": "https://insights.twilio.com/v1/Voice/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Events?PageSize=5&Page=9&PageToken=PT10", "next_page_url": null, "key": "events", "url": "https://insights.twilio.com/v1/Voice/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Events?PageSize=5&Page=10" @@ -5606,7 +5606,7 @@ "page": 10, "page_size": 5, "first_page_url": "https://insights.twilio.com/v1/Voice/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Metrics?Direction=both&Edge=sdk_edge&PageSize=5&Page=0", - "previous_page_url": "https://insights.twilio.com/v1/Voice/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Metrics?Direction=both&Edge=sdk_edge&PageSize=5&Page=9&PageToken=DP10", + "previous_page_url": "https://insights.twilio.com/v1/Voice/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Metrics?Direction=both&Edge=sdk_edge&PageSize=5&Page=9&PageToken=PT10", "next_page_url": null, "key": "metrics", "url": "https://insights.twilio.com/v1/Voice/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Metrics?Direction=both&Edge=sdk_edge&PageSize=5&Page=10" diff --git a/spec/json/twilio_insights_v2.json b/spec/json/twilio_insights_v2.json new file mode 100644 index 00000000..3325e4e1 --- /dev/null +++ b/spec/json/twilio_insights_v2.json @@ -0,0 +1,33 @@ +{ + "openapi": "3.0.1", + "components": { + "securitySchemes": { + "accountSid_authToken": { + "scheme": "basic", + "type": "http" + } + } + }, + "security": [ + { + "accountSid_authToken": [] + } + ], + "servers": [ + { + "url": "https://insights.twilio.com" + } + ], + "info": { + "contact": { + "email": "api-team@twilio.com", + "name": "Twilio API Team" + }, + "version": "1.0.0", + "title": "Sample/reference Twilio API.", + "description": "This is the reference API for the rest-proxy server." + }, + "paths": { + "/v2/Voice/fixed/response/without/body": {} + } +} \ No newline at end of file diff --git a/spec/json/twilio_marketplace_v1.json b/spec/json/twilio_marketplace_v1.json index c8881de3..5683e16d 100644 --- a/spec/json/twilio_marketplace_v1.json +++ b/spec/json/twilio_marketplace_v1.json @@ -2186,7 +2186,7 @@ "description": "", "x-twilio": { "defaultOutputProperties": [], - "pathType": "instance" + "pathType": "list" }, "post": { "description": "", diff --git a/spec/json/twilio_numbers_v1.json b/spec/json/twilio_numbers_v1.json index 37f17ddc..43b595a9 100644 --- a/spec/json/twilio_numbers_v1.json +++ b/spec/json/twilio_numbers_v1.json @@ -1543,6 +1543,7 @@ "description": "", "x-twilio": { "defaultOutputProperties": [], + "mountName": "porting_webhook_configurations", "pathType": "list" }, "post": { @@ -1637,9 +1638,6 @@ } } } - }, - "x-twilio": { - "mountName": "porting_webhook_configurations" } }, "get": { @@ -1725,7 +1723,10 @@ "accountSid_authToken": [] } ], - "operationId": "FetchPortingWebhookConfigurationFetch" + "operationId": "FetchPortingWebhookConfigurationFetch", + "x-twilio": { + "mountName": "porting_webhook_configuration_fetch" + } } }, "/v1/Porting/Configuration/Webhook/{WebhookType}": { diff --git a/spec/yaml/twilio_assistants_v1.yaml b/spec/yaml/twilio_assistants_v1.yaml index df8794fc..175576a2 100644 --- a/spec/yaml/twilio_assistants_v1.yaml +++ b/spec/yaml/twilio_assistants_v1.yaml @@ -605,6 +605,9 @@ components: description: The score associated with the chunk. type: number format: float + knowledge_id: + description: The knowledge ID associated with the chunk. + type: string assistants.v1.service.session: type: object properties: diff --git a/spec/yaml/twilio_conversations_v1.yaml b/spec/yaml/twilio_conversations_v1.yaml index 572f420f..33d2d105 100644 --- a/spec/yaml/twilio_conversations_v1.yaml +++ b/spec/yaml/twilio_conversations_v1.yaml @@ -666,6 +666,103 @@ components: enum: - GET - POST + conversations.v1.conversation_with_participants: + type: object + properties: + account_sid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ + nullable: true + description: The unique ID of the [Account](https://www.twilio.com/docs/iam/api/account) + responsible for this conversation. + chat_service_sid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^IS[0-9a-fA-F]{32}$ + nullable: true + description: The unique ID of the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) + this conversation belongs to. + messaging_service_sid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^MG[0-9a-fA-F]{32}$ + nullable: true + description: The unique ID of the [Messaging Service](https://www.twilio.com/docs/messaging/api/service-resource) + this conversation belongs to. + sid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^CH[0-9a-fA-F]{32}$ + nullable: true + description: A 34 character string that uniquely identifies this resource. + friendly_name: + type: string + nullable: true + description: The human-readable name of this conversation, limited to 256 + characters. Optional. + x-twilio: + pii: + handling: standard + deleteSla: 30 + unique_name: + type: string + nullable: true + description: An application-defined string that uniquely identifies the + resource. It can be used to address the resource in place of the resource's + `sid` in the URL. + x-twilio: + pii: + handling: standard + deleteSla: 30 + attributes: + type: string + nullable: true + description: An optional string metadata field you can use to store any + data you wish. The string value must contain structurally valid JSON if + specified. **Note** that if the attributes are not set "{}" will be returned. + x-twilio: + pii: + handling: sensitive + deleteSla: 30 + state: + type: string + $ref: '#/components/schemas/conversation_with_participants_enum_state' + nullable: true + description: Current state of this conversation. Can be either `active`, + `inactive` or `closed` and defaults to `active` + date_created: + type: string + format: date-time + nullable: true + description: The date that this resource was created. + date_updated: + type: string + format: date-time + nullable: true + description: The date that this resource was last updated. + timers: + nullable: true + description: Timer date values representing state update for this conversation. + links: + type: object + format: uri-map + nullable: true + description: Contains absolute URLs to access the [participants](https://www.twilio.com/docs/conversations/api/conversation-participant-resource), + [messages](https://www.twilio.com/docs/conversations/api/conversation-message-resource) + and [webhooks](https://www.twilio.com/docs/conversations/api/conversation-scoped-webhook-resource) + of this conversation. + bindings: + nullable: true + url: + type: string + format: uri + nullable: true + description: An absolute API resource URL for this conversation. conversation_with_participants_enum_webhook_enabled_type: type: string enum: @@ -1627,6 +1724,103 @@ components: enum: - GET - POST + conversations.v1.service.service_conversation_with_participants: + type: object + properties: + account_sid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^AC[0-9a-fA-F]{32}$ + nullable: true + description: The unique ID of the [Account](https://www.twilio.com/docs/iam/api/account) + responsible for this conversation. + chat_service_sid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^IS[0-9a-fA-F]{32}$ + nullable: true + description: The unique ID of the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) + this conversation belongs to. + messaging_service_sid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^MG[0-9a-fA-F]{32}$ + nullable: true + description: The unique ID of the [Messaging Service](https://www.twilio.com/docs/messaging/api/service-resource) + this conversation belongs to. + sid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^CH[0-9a-fA-F]{32}$ + nullable: true + description: A 34 character string that uniquely identifies this resource. + friendly_name: + type: string + nullable: true + description: The human-readable name of this conversation, limited to 256 + characters. Optional. + x-twilio: + pii: + handling: standard + deleteSla: 30 + unique_name: + type: string + nullable: true + description: An application-defined string that uniquely identifies the + resource. It can be used to address the resource in place of the resource's + `sid` in the URL. + x-twilio: + pii: + handling: standard + deleteSla: 30 + attributes: + type: string + nullable: true + description: An optional string metadata field you can use to store any + data you wish. The string value must contain structurally valid JSON if + specified. **Note** that if the attributes are not set "{}" will be returned. + x-twilio: + pii: + handling: sensitive + deleteSla: 30 + state: + type: string + $ref: '#/components/schemas/service_conversation_with_participants_enum_state' + nullable: true + description: Current state of this conversation. Can be either `active`, + `inactive` or `closed` and defaults to `active` + date_created: + type: string + format: date-time + nullable: true + description: The date that this resource was created. + date_updated: + type: string + format: date-time + nullable: true + description: The date that this resource was last updated. + timers: + nullable: true + description: Timer date values representing state update for this conversation. + links: + type: object + format: uri-map + nullable: true + description: Contains absolute URLs to access the [participants](https://www.twilio.com/docs/conversations/api/conversation-participant-resource), + [messages](https://www.twilio.com/docs/conversations/api/conversation-message-resource) + and [webhooks](https://www.twilio.com/docs/conversations/api/conversation-scoped-webhook-resource) + of this conversation. + bindings: + nullable: true + url: + type: string + format: uri + nullable: true + description: An absolute API resource URL for this conversation. service_conversation_with_participants_enum_webhook_enabled_type: type: string enum: @@ -2975,7 +3169,7 @@ paths: AutoCreation.Type: webhook AutoCreation.ConversationServiceSid: ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa AutoCreation.WebhookUrl: https://example.com - AutoCreation.WebhookMethod: POST + AutoCreation.WebhookMethod: post AutoCreation.WebhookFilters: - onParticipantAdded - onMessageAdded @@ -6194,37 +6388,78 @@ paths: security: - accountSid_authToken: [] operationId: DeleteConversationScopedWebhook - /v1/Credentials: + /v1/ConversationWithParticipants: servers: - url: https://conversations.twilio.com - description: A Credential resource represents a push notification credential. + description: A Conversation resource represents an omnichannel group conversation + with an ordered list of messages and a participant roster. x-twilio: defaultOutputProperties: - sid + - chat_service_sid - friendly_name - - type + - date_created + className: conversation_with_participants pathType: list post: - description: Add a new push notification credential to your account + description: Create a new conversation with the list of participants in your + account's default service tags: - - ConversationsV1Credential + - ConversationsV1ConversationWithParticipants + parameters: + - name: X-Twilio-Webhook-Enabled + in: header + description: The X-Twilio-Webhook-Enabled HTTP request header + schema: + type: string + $ref: '#/components/schemas/conversation_with_participants_enum_webhook_enabled_type' responses: '201': content: application/json: schema: - $ref: '#/components/schemas/conversations.v1.credential' + $ref: '#/components/schemas/conversations.v1.conversation_with_participants' examples: create: value: - sid: CRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa + sid: CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa account_sid: ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa - friendly_name: Test slow create - type: apn - sandbox: 'False' - date_created: '2015-10-07T17:50:01Z' - date_updated: '2015-10-07T17:50:01Z' - url: https://conversations.twilio.com/v1/Credentials/CRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa + chat_service_sid: ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa + messaging_service_sid: MGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa + friendly_name: friendly_name + unique_name: unique_name + attributes: '{ "topic": "feedback" }' + date_created: '2015-12-16T22:18:37Z' + date_updated: '2015-12-16T22:18:38Z' + state: inactive + timers: + date_inactive: '2015-12-16T22:19:38Z' + date_closed: '2015-12-16T22:28:38Z' + bindings: {} + links: + participants: https://conversations.twilio.com/v1/Conversations/CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Participants + messages: https://conversations.twilio.com/v1/Conversations/CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Messages + webhooks: https://conversations.twilio.com/v1/Conversations/CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Webhooks + url: https://conversations.twilio.com/v1/Conversations/CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa + createNoTimersNoAttributes: + value: + sid: CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa + account_sid: ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa + chat_service_sid: ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa + messaging_service_sid: MGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa + friendly_name: friendly_name + unique_name: null + attributes: '{}' + date_created: '2020-07-01T22:18:37Z' + date_updated: '2020-07-01T22:18:37Z' + state: active + timers: {} + bindings: {} + links: + participants: https://conversations.twilio.com/v1/Conversations/CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Participants + messages: https://conversations.twilio.com/v1/Conversations/CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Messages + webhooks: https://conversations.twilio.com/v1/Conversations/CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Webhooks + url: https://conversations.twilio.com/v1/Conversations/CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa headers: Access-Control-Allow-Origin: description: Specify the origin(s) allowed to access the resource @@ -6251,12 +6486,218 @@ paths: type: string example: X-Custom-Header1, X-Custom-Header2 description: Created - security: - - accountSid_authToken: [] - operationId: CreateCredential - requestBody: - content: - application/x-www-form-urlencoded: + '202': + content: + application/json: + schema: + $ref: '#/components/schemas/conversations.v1.conversation_with_participants' + examples: + createWithParticipants: + value: + sid: CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa + account_sid: ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa + chat_service_sid: ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa + messaging_service_sid: MGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa + friendly_name: friendly_name + unique_name: null + attributes: '{}' + date_created: '2020-07-01T22:18:37Z' + date_updated: '2020-07-01T22:18:37Z' + state: active + timers: {} + bindings: {} + links: + participants: https://conversations.twilio.com/v1/Conversations/CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Participants + messages: https://conversations.twilio.com/v1/Conversations/CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Messages + webhooks: https://conversations.twilio.com/v1/Conversations/CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Webhooks + url: https://conversations.twilio.com/v1/Conversations/CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa + 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: Accepted + security: + - accountSid_authToken: [] + operationId: CreateConversationWithParticipants + requestBody: + content: + application/x-www-form-urlencoded: + schema: + type: object + title: CreateConversationWithParticipantsRequest + properties: + FriendlyName: + type: string + description: The human-readable name of this conversation, limited + to 256 characters. Optional. + UniqueName: + type: string + description: An application-defined string that uniquely identifies + the resource. It can be used to address the resource in place + of the resource's `sid` in the URL. + DateCreated: + type: string + format: date-time + description: The date that this resource was created. + DateUpdated: + type: string + format: date-time + description: The date that this resource was last updated. + MessagingServiceSid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^MG[0-9a-fA-F]{32}$ + description: The unique ID of the [Messaging Service](https://www.twilio.com/docs/messaging/api/service-resource) + this conversation belongs to. + Attributes: + type: string + description: An optional string metadata field you can use to store + any data you wish. The string value must contain structurally + valid JSON if specified. **Note** that if the attributes are + not set "{}" will be returned. + State: + type: string + $ref: '#/components/schemas/conversation_with_participants_enum_state' + description: Current state of this conversation. Can be either `active`, + `inactive` or `closed` and defaults to `active` + Timers.Inactive: + type: string + description: ISO8601 duration when conversation will be switched + to `inactive` state. Minimum value for this timer is 1 minute. + Timers.Closed: + type: string + description: ISO8601 duration when conversation will be switched + to `closed` state. Minimum value for this timer is 10 minutes. + Bindings.Email.Address: + type: string + description: The default email address that will be used when sending + outbound emails in this conversation. + Bindings.Email.Name: + type: string + description: The default name that will be used when sending outbound + emails in this conversation. + Participant: + type: array + items: + type: string + description: The participant to be added to the conversation in + JSON format. The parameters are as in [Participant Resource](https://www.twilio.com/docs/conversations/api/conversation-participant-resource). + The maximum number of participants that can be added in a single + request is 10. + examples: + create: + value: + FriendlyName: friendly_name + UniqueName: unique_name + Attributes: '{ "topic": "feedback" }' + DateCreated: '2015-12-16T22:18:37Z' + DateUpdated: '2015-12-16T22:18:38Z' + MessagingServiceSid: MGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa + State: inactive + Timers.Inactive: PT1M + Timers.Closed: PT10M + createNoTimersNoAttributes: + value: + FriendlyName: friendly_name + DateCreated: '2020-07-01T22:18:37Z' + DateUpdated: '2020-07-01T22:18:37Z' + MessagingServiceSid: MGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa + State: active + createWithParticipants: + value: + FriendlyName: friendly_name + DateCreated: '2020-07-01T22:18:37Z' + DateUpdated: '2020-07-01T22:18:37Z' + MessagingServiceSid: MGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa + State: active + Participant: + - '{ "identity": "user1" }' + - '{ "identity": "user2" }' + /v1/Credentials: + servers: + - url: https://conversations.twilio.com + description: A Credential resource represents a push notification credential. + x-twilio: + defaultOutputProperties: + - sid + - friendly_name + - type + pathType: list + post: + description: Add a new push notification credential to your account + tags: + - ConversationsV1Credential + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/conversations.v1.credential' + examples: + create: + value: + sid: CRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa + account_sid: ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa + friendly_name: Test slow create + type: apn + sandbox: 'False' + date_created: '2015-10-07T17:50:01Z' + date_updated: '2015-10-07T17:50:01Z' + url: https://conversations.twilio.com/v1/Credentials/CRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa + 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: CreateCredential + requestBody: + content: + application/x-www-form-urlencoded: schema: type: object title: CreateCredentialRequest @@ -7270,6 +7711,10 @@ paths: mapping: chat_service_sid: sid resource_url: /v1/Services/{chat_service_sid}/ParticipantConversations + conversation_with_participants: + mapping: + chat_service_sid: sid + resource_url: /v1/Services/{chat_service_sid}/ConversationWithParticipants pathType: list post: description: Create a new conversation service on your account @@ -7297,6 +7742,7 @@ paths: bindings: https://conversations.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Bindings configuration: https://conversations.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Configuration participant_conversations: https://conversations.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/ParticipantConversations + conversation_with_participants: https://conversations.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/ConversationWithParticipants headers: Access-Control-Allow-Origin: description: Specify the origin(s) allowed to access the resource @@ -7419,6 +7865,7 @@ paths: bindings: https://conversations.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Bindings configuration: https://conversations.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Configuration participant_conversations: https://conversations.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/ParticipantConversations + conversation_with_participants: https://conversations.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/ConversationWithParticipants meta: page: 0 page_size: 50 @@ -7490,6 +7937,10 @@ paths: mapping: chat_service_sid: sid resource_url: /v1/Services/{chat_service_sid}/ParticipantConversations + conversation_with_participants: + mapping: + chat_service_sid: sid + resource_url: /v1/Services/{chat_service_sid}/ConversationWithParticipants pathType: instance delete: description: Remove a conversation service with all its nested resources from @@ -7548,6 +7999,7 @@ paths: bindings: https://conversations.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Bindings configuration: https://conversations.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Configuration participant_conversations: https://conversations.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/ParticipantConversations + conversation_with_participants: https://conversations.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/ConversationWithParticipants headers: Access-Control-Allow-Origin: description: Specify the origin(s) allowed to access the resource @@ -11107,6 +11559,264 @@ paths: security: - accountSid_authToken: [] operationId: FetchServiceConversationScopedWebhook + /v1/Services/{ChatServiceSid}/ConversationWithParticipants: + servers: + - url: https://conversations.twilio.com + description: A Service Conversation resource represents an omnichannel group conversation + with an ordered list of messages and a participant roster. + x-twilio: + defaultOutputProperties: + - sid + - chat_service_sid + - friendly_name + - date_created + parent: /Services/{Sid} + className: conversation_with_participants + pathType: list + post: + description: Create a new conversation with the list of participants in your + account's default service + tags: + - ConversationsV1ConversationWithParticipants + parameters: + - name: ChatServiceSid + in: path + description: The SID of the [Conversation Service](https://www.twilio.com/docs/conversations/api/service-resource) + the Conversation resource is associated with. + schema: + type: string + minLength: 34 + maxLength: 34 + pattern: ^IS[0-9a-fA-F]{32}$ + required: true + - name: X-Twilio-Webhook-Enabled + in: header + description: The X-Twilio-Webhook-Enabled HTTP request header + schema: + type: string + $ref: '#/components/schemas/service_conversation_with_participants_enum_webhook_enabled_type' + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/conversations.v1.service.service_conversation_with_participants' + examples: + create: + value: + sid: CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa + account_sid: ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa + chat_service_sid: ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa + messaging_service_sid: MGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa + friendly_name: friendly_name + unique_name: unique_name + attributes: '{ "topic": "feedback" }' + date_created: '2015-12-16T22:18:37Z' + date_updated: '2015-12-16T22:18:38Z' + state: inactive + timers: + date_inactive: '2015-12-16T22:19:38Z' + date_closed: '2015-12-16T22:28:38Z' + bindings: {} + links: + participants: https://conversations.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Conversations/CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Participants + messages: https://conversations.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Conversations/CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Messages + webhooks: https://conversations.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Conversations/CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Webhooks + url: https://conversations.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Conversations/CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa + createNoTimersNoAttributes: + value: + sid: CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa + account_sid: ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa + chat_service_sid: ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa + messaging_service_sid: MGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa + friendly_name: friendly_name + unique_name: null + attributes: '{}' + date_created: '2020-07-01T22:18:37Z' + date_updated: '2020-07-01T22:18:37Z' + state: active + timers: {} + bindings: {} + links: + participants: https://conversations.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Conversations/CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Participants + messages: https://conversations.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Conversations/CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Messages + webhooks: https://conversations.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Conversations/CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Webhooks + url: https://conversations.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Conversations/CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa + 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 + '202': + content: + application/json: + schema: + $ref: '#/components/schemas/conversations.v1.service.service_conversation_with_participants' + examples: + createWithParticipants: + value: + sid: CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa + account_sid: ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa + chat_service_sid: ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa + messaging_service_sid: MGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa + friendly_name: friendly_name + unique_name: null + attributes: '{}' + date_created: '2020-07-01T22:18:37Z' + date_updated: '2020-07-01T22:18:37Z' + state: active + timers: {} + bindings: {} + links: + participants: https://conversations.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Conversations/CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Participants + messages: https://conversations.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Conversations/CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Messages + webhooks: https://conversations.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Conversations/CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Webhooks + url: https://conversations.twilio.com/v1/Services/ISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Conversations/CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa + 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: Accepted + security: + - accountSid_authToken: [] + operationId: CreateServiceConversationWithParticipants + requestBody: + content: + application/x-www-form-urlencoded: + schema: + type: object + title: CreateServiceConversationWithParticipantsRequest + properties: + FriendlyName: + type: string + description: The human-readable name of this conversation, limited + to 256 characters. Optional. + UniqueName: + type: string + description: An application-defined string that uniquely identifies + the resource. It can be used to address the resource in place + of the resource's `sid` in the URL. + DateCreated: + type: string + format: date-time + description: The date that this resource was created. + DateUpdated: + type: string + format: date-time + description: The date that this resource was last updated. + MessagingServiceSid: + type: string + minLength: 34 + maxLength: 34 + pattern: ^MG[0-9a-fA-F]{32}$ + description: The unique ID of the [Messaging Service](https://www.twilio.com/docs/messaging/api/service-resource) + this conversation belongs to. + Attributes: + type: string + description: An optional string metadata field you can use to store + any data you wish. The string value must contain structurally + valid JSON if specified. **Note** that if the attributes are + not set "{}" will be returned. + State: + type: string + $ref: '#/components/schemas/service_conversation_with_participants_enum_state' + description: Current state of this conversation. Can be either `active`, + `inactive` or `closed` and defaults to `active` + Timers.Inactive: + type: string + description: ISO8601 duration when conversation will be switched + to `inactive` state. Minimum value for this timer is 1 minute. + Timers.Closed: + type: string + description: ISO8601 duration when conversation will be switched + to `closed` state. Minimum value for this timer is 10 minutes. + Bindings.Email.Address: + type: string + description: The default email address that will be used when sending + outbound emails in this conversation. + Bindings.Email.Name: + type: string + description: The default name that will be used when sending outbound + emails in this conversation. + Participant: + type: array + items: + type: string + description: The participant to be added to the conversation in + JSON format. The parameters are as in [Participant Resource](https://www.twilio.com/docs/conversations/api/conversation-participant-resource). + The maximum number of participants that can be added in a single + request is 10. + examples: + create: + value: + FriendlyName: friendly_name + UniqueName: unique_name + Attributes: '{ "topic": "feedback" }' + DateCreated: '2015-12-16T22:18:37Z' + DateUpdated: '2015-12-16T22:18:38Z' + MessagingServiceSid: MGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa + State: inactive + Timers.Inactive: PT1M + Timers.Closed: PT10M + createNoTimersNoAttributes: + value: + FriendlyName: friendly_name + DateCreated: '2020-07-01T22:18:37Z' + DateUpdated: '2020-07-01T22:18:37Z' + MessagingServiceSid: MGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa + State: active + createWithParticipants: + value: + FriendlyName: friendly_name + DateCreated: '2020-07-01T22:18:37Z' + DateUpdated: '2020-07-01T22:18:37Z' + MessagingServiceSid: MGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa + State: active + Participant: + - '{ "identity": "user1" }' + - '{ "identity": "user2" }' /v1/Services/{ChatServiceSid}/Configuration/Notifications: servers: - url: https://conversations.twilio.com diff --git a/spec/yaml/twilio_insights_v1.yaml b/spec/yaml/twilio_insights_v1.yaml index 9e22df8c..83e5adae 100644 --- a/spec/yaml/twilio_insights_v1.yaml +++ b/spec/yaml/twilio_insights_v1.yaml @@ -4178,7 +4178,7 @@ paths: page: 10 page_size: 5 first_page_url: https://insights.twilio.com/v1/Voice/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Events?PageSize=5&Page=0 - previous_page_url: https://insights.twilio.com/v1/Voice/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Events?PageSize=5&Page=9&PageToken=DP10 + previous_page_url: https://insights.twilio.com/v1/Voice/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Events?PageSize=5&Page=9&PageToken=PT10 next_page_url: null key: events url: https://insights.twilio.com/v1/Voice/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Events?PageSize=5&Page=10 @@ -4394,7 +4394,7 @@ paths: page: 10 page_size: 5 first_page_url: https://insights.twilio.com/v1/Voice/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Metrics?Direction=both&Edge=sdk_edge&PageSize=5&Page=0 - previous_page_url: https://insights.twilio.com/v1/Voice/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Metrics?Direction=both&Edge=sdk_edge&PageSize=5&Page=9&PageToken=DP10 + previous_page_url: https://insights.twilio.com/v1/Voice/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Metrics?Direction=both&Edge=sdk_edge&PageSize=5&Page=9&PageToken=PT10 next_page_url: null key: metrics url: https://insights.twilio.com/v1/Voice/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Metrics?Direction=both&Edge=sdk_edge&PageSize=5&Page=10 diff --git a/spec/yaml/twilio_insights_v2.yaml b/spec/yaml/twilio_insights_v2.yaml new file mode 100644 index 00000000..426de54a --- /dev/null +++ b/spec/yaml/twilio_insights_v2.yaml @@ -0,0 +1,19 @@ +openapi: 3.0.1 +components: + securitySchemes: + accountSid_authToken: + scheme: basic + type: http +security: +- accountSid_authToken: [] +servers: +- url: https://insights.twilio.com +info: + contact: + email: api-team@twilio.com + name: Twilio API Team + version: 1.0.0 + title: Sample/reference Twilio API. + description: This is the reference API for the rest-proxy server. +paths: + /v2/Voice/fixed/response/without/body: {} diff --git a/spec/yaml/twilio_marketplace_v1.yaml b/spec/yaml/twilio_marketplace_v1.yaml index b98c9d9c..6cfa743c 100644 --- a/spec/yaml/twilio_marketplace_v1.yaml +++ b/spec/yaml/twilio_marketplace_v1.yaml @@ -1561,7 +1561,7 @@ paths: description: '' x-twilio: defaultOutputProperties: [] - pathType: instance + pathType: list post: description: '' tags: diff --git a/spec/yaml/twilio_numbers_v1.yaml b/spec/yaml/twilio_numbers_v1.yaml index 69a5af5d..f3d40a3b 100644 --- a/spec/yaml/twilio_numbers_v1.yaml +++ b/spec/yaml/twilio_numbers_v1.yaml @@ -1226,6 +1226,7 @@ paths: description: '' x-twilio: defaultOutputProperties: [] + mountName: porting_webhook_configurations pathType: list post: description: Create a Webhook Configuration @@ -1292,8 +1293,6 @@ paths: type: object title: CreatePortingWebhookConfigurationRequest properties: {} - x-twilio: - mountName: porting_webhook_configurations get: description: Allows to fetch the webhook configuration tags: @@ -1354,6 +1353,8 @@ paths: security: - accountSid_authToken: [] operationId: FetchPortingWebhookConfigurationFetch + x-twilio: + mountName: porting_webhook_configuration_fetch /v1/Porting/Configuration/Webhook/{WebhookType}: servers: - url: https://numbers.twilio.com