{ "components": { "schemas": { "notify.v1.service.binding": { "type": "object", "properties": { "sid": { "type": "string", "minLength": 34, "maxLength": 34, "pattern": "^BS[0-9a-fA-F]{32}$", "nullable": true, "description": "The unique string that identifies the resource" }, "account_sid": { "type": "string", "minLength": 34, "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", "nullable": true, "description": "The SID of the Account that created the resource" }, "service_sid": { "type": "string", "minLength": 34, "maxLength": 34, "pattern": "^IS[0-9a-fA-F]{32}$", "nullable": true, "description": "The SID of the Service that the resource is associated with" }, "credential_sid": { "type": "string", "minLength": 34, "maxLength": 34, "pattern": "^CR[0-9a-fA-F]{32}$", "nullable": true, "description": "The SID of the Credential resource to be used to send notifications to this Binding" }, "date_created": { "type": "string", "format": "date-time", "nullable": true, "description": "The RFC 2822 date and time in GMT when the resource was created" }, "date_updated": { "type": "string", "format": "date-time", "nullable": true, "description": "The RFC 2822 date and time in GMT when the resource was last updated" }, "notification_protocol_version": { "type": "string", "nullable": true, "description": "The protocol version to use to send the notification" }, "endpoint": { "type": "string", "nullable": true, "description": "Deprecated" }, "identity": { "type": "string", "nullable": true, "description": "The `identity` value that identifies the new resource's User" }, "binding_type": { "type": "string", "nullable": true, "description": "The type of the Binding" }, "address": { "type": "string", "nullable": true, "description": "The channel-specific address" }, "tags": { "type": "array", "items": { "type": "string" }, "nullable": true, "description": "The list of tags associated with this Binding" }, "url": { "type": "string", "format": "uri", "nullable": true, "description": "The absolute URL of the Binding resource" }, "links": { "type": "object", "format": "uri-map", "nullable": true, "description": "The URLs of related resources" } } }, "binding_enum_binding_type": { "type": "string", "enum": [ "apn", "gcm", "sms", "fcm", "facebook-messenger", "alexa" ] }, "notify.v1.credential": { "type": "object", "properties": { "sid": { "type": "string", "minLength": 34, "maxLength": 34, "pattern": "^CR[0-9a-fA-F]{32}$", "nullable": true, "description": "The unique string that identifies the resource" }, "account_sid": { "type": "string", "minLength": 34, "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", "nullable": true, "description": "The SID of the Account that created the resource" }, "friendly_name": { "type": "string", "nullable": true, "description": "The string that you assigned to describe the resource" }, "type": { "type": "string", "$ref": "#/components/schemas/credential_enum_push_service", "nullable": true, "description": "The Credential type, one of `gcm`, `fcm`, or `apn`" }, "sandbox": { "type": "string", "nullable": true, "description": "[APN only] Whether to send the credential to sandbox APNs" }, "date_created": { "type": "string", "format": "date-time", "nullable": true, "description": "The RFC 2822 date and time in GMT when the resource was created" }, "date_updated": { "type": "string", "format": "date-time", "nullable": true, "description": "The RFC 2822 date and time in GMT when the resource was last updated" }, "url": { "type": "string", "format": "uri", "nullable": true, "description": "The absolute URL of the Credential resource" } } }, "credential_enum_push_service": { "type": "string", "enum": [ "gcm", "apn", "fcm" ] }, "notify.v1.service.notification": { "type": "object", "properties": { "sid": { "type": "string", "minLength": 34, "maxLength": 34, "pattern": "^NT[0-9a-fA-F]{32}$", "nullable": true, "description": "The unique string that identifies the resource" }, "account_sid": { "type": "string", "minLength": 34, "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", "nullable": true, "description": "The SID of the Account that created the resource" }, "service_sid": { "type": "string", "minLength": 34, "maxLength": 34, "pattern": "^IS[0-9a-fA-F]{32}$", "nullable": true, "description": "The SID of the Service that the resource is associated with" }, "date_created": { "type": "string", "format": "date-time", "nullable": true, "description": "The RFC 2822 date and time in GMT when the resource was created" }, "identities": { "type": "array", "items": { "type": "string" }, "nullable": true, "description": "The list of identity values of the Users to notify" }, "tags": { "type": "array", "items": { "type": "string" }, "nullable": true, "description": "The tags that select the Bindings to notify" }, "segments": { "type": "array", "items": { "type": "string" }, "nullable": true, "description": "The list of Segments to notify" }, "priority": { "type": "string", "$ref": "#/components/schemas/notification_enum_priority", "nullable": true, "description": "The priority of the notification" }, "ttl": { "type": "integer", "nullable": true, "description": "How long, in seconds, the notification is valid" }, "title": { "type": "string", "nullable": true, "description": "The notification title" }, "body": { "type": "string", "nullable": true, "description": "The notification body text" }, "sound": { "type": "string", "nullable": true, "description": "The name of the sound to be played for the notification" }, "action": { "type": "string", "nullable": true, "description": "The actions to display for the notification" }, "data": { "nullable": true, "description": "The custom key-value pairs of the notification's payload" }, "apn": { "nullable": true, "description": "The APNS-specific payload that overrides corresponding attributes in a generic payload for APNS Bindings" }, "gcm": { "nullable": true, "description": "The GCM-specific payload that overrides corresponding attributes in generic payload for GCM Bindings" }, "fcm": { "nullable": true, "description": "The FCM-specific payload that overrides corresponding attributes in generic payload for FCM Bindings" }, "sms": { "nullable": true, "description": "The SMS-specific payload that overrides corresponding attributes in generic payload for SMS Bindings" }, "facebook_messenger": { "nullable": true, "description": "Deprecated" }, "alexa": { "nullable": true, "description": "Deprecated" } } }, "notification_enum_priority": { "type": "string", "enum": [ "high", "low" ] }, "notify.v1.service": { "type": "object", "properties": { "sid": { "type": "string", "minLength": 34, "maxLength": 34, "pattern": "^IS[0-9a-fA-F]{32}$", "nullable": true, "description": "The unique string that identifies the resource" }, "account_sid": { "type": "string", "minLength": 34, "maxLength": 34, "pattern": "^AC[0-9a-fA-F]{32}$", "nullable": true, "description": "The SID of the Account that created the resource" }, "friendly_name": { "type": "string", "nullable": true, "description": "The string that you assigned to describe the resource" }, "date_created": { "type": "string", "format": "date-time", "nullable": true, "description": "The RFC 2822 date and time in GMT when the resource was created" }, "date_updated": { "type": "string", "format": "date-time", "nullable": true, "description": "The RFC 2822 date and time in GMT when the resource was last updated" }, "apn_credential_sid": { "type": "string", "minLength": 34, "maxLength": 34, "pattern": "^CR[0-9a-fA-F]{32}$", "nullable": true, "description": "The SID of the Credential to use for APN Bindings" }, "gcm_credential_sid": { "type": "string", "minLength": 34, "maxLength": 34, "pattern": "^CR[0-9a-fA-F]{32}$", "nullable": true, "description": "The SID of the Credential to use for GCM Bindings" }, "fcm_credential_sid": { "type": "string", "minLength": 34, "maxLength": 34, "pattern": "^CR[0-9a-fA-F]{32}$", "nullable": true, "description": "The SID of the Credential to use for FCM Bindings" }, "messaging_service_sid": { "type": "string", "minLength": 34, "maxLength": 34, "pattern": "^MG[0-9a-fA-F]{32}$", "nullable": true, "description": "The SID of the Messaging Service to use for SMS Bindings" }, "facebook_messenger_page_id": { "type": "string", "nullable": true, "description": "Deprecated" }, "default_apn_notification_protocol_version": { "type": "string", "nullable": true, "description": "The protocol version to use for sending APNS notifications" }, "default_gcm_notification_protocol_version": { "type": "string", "nullable": true, "description": "The protocol version to use for sending GCM notifications" }, "default_fcm_notification_protocol_version": { "type": "string", "nullable": true, "description": "The protocol version to use for sending FCM notifications" }, "log_enabled": { "type": "boolean", "nullable": true, "description": "Whether to log notifications" }, "url": { "type": "string", "format": "uri", "nullable": true, "description": "The absolute URL of the Service resource" }, "links": { "type": "object", "format": "uri-map", "nullable": true, "description": "The URLs of the resources related to the service" }, "alexa_skill_id": { "type": "string", "nullable": true, "description": "Deprecated" }, "default_alexa_notification_protocol_version": { "type": "string", "nullable": true, "description": "Deprecated" }, "delivery_callback_url": { "type": "string", "nullable": true, "description": "Webhook URL" }, "delivery_callback_enabled": { "type": "boolean", "nullable": true, "description": "Enable delivery callbacks" } } } }, "securitySchemes": { "accountSid_authToken": { "type": "http", "scheme": "basic" } } }, "info": { "title": "Twilio - Notify", "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.38.1" }, "openapi": "3.0.1", "paths": { "/v1/Services/{ServiceSid}/Bindings/{Sid}": { "servers": [ { "url": "https://notify.twilio.com" } ], "description": "TODO: Resource-level docs", "x-twilio": { "defaultOutputProperties": [ "sid", "identity", "endpoint", "binding_type", "address" ], "pathType": "instance", "parent": "/Services/{Sid}" }, "get": { "description": "", "parameters": [ { "name": "ServiceSid", "in": "path", "description": "The SID of the [Service](https://www.twilio.com/docs/notify/api/service-resource) to fetch the resource from.", "schema": { "type": "string", "minLength": 34, "maxLength": 34, "pattern": "^IS[0-9a-fA-F]{32}$" }, "required": true }, { "name": "Sid", "in": "path", "description": "The Twilio-provided string that uniquely identifies the Binding resource to fetch.", "schema": { "type": "string", "minLength": 34, "maxLength": 34, "pattern": "^BS[0-9a-fA-F]{32}$" }, "required": true } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/notify.v1.service.binding" } } }, "description": "OK" } }, "security": [ { "accountSid_authToken": [] } ], "operationId": "FetchBinding", "x-maturity": [ "Beta" ] }, "delete": { "description": "", "parameters": [ { "name": "ServiceSid", "in": "path", "description": "The SID of the [Service](https://www.twilio.com/docs/notify/api/service-resource) to delete the resource from.", "schema": { "type": "string", "minLength": 34, "maxLength": 34, "pattern": "^IS[0-9a-fA-F]{32}$" }, "required": true }, { "name": "Sid", "in": "path", "description": "The Twilio-provided string that uniquely identifies the Binding resource to delete.", "schema": { "type": "string", "minLength": 34, "maxLength": 34, "pattern": "^BS[0-9a-fA-F]{32}$" }, "required": true } ], "responses": { "204": { "description": "The resource was deleted successfully." } }, "security": [ { "accountSid_authToken": [] } ], "operationId": "DeleteBinding", "x-maturity": [ "Beta" ] } }, "/v1/Services/{ServiceSid}/Bindings": { "servers": [ { "url": "https://notify.twilio.com" } ], "description": "TODO: Resource-level docs", "x-twilio": { "defaultOutputProperties": [ "sid", "identity", "endpoint", "binding_type", "address" ], "pathType": "list", "parent": "/Services/{Sid}" }, "post": { "description": "", "parameters": [ { "name": "ServiceSid", "in": "path", "description": "The SID of the [Service](https://www.twilio.com/docs/notify/api/service-resource) to create the resource under.", "schema": { "type": "string", "minLength": 34, "maxLength": 34, "pattern": "^IS[0-9a-fA-F]{32}$" }, "required": true } ], "responses": { "201": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/notify.v1.service.binding" } } }, "description": "Created" } }, "security": [ { "accountSid_authToken": [] } ], "operationId": "CreateBinding", "x-maturity": [ "Beta" ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { "type": "object", "title": "CreateBindingRequest", "properties": { "Identity": { "type": "string", "description": "The `identity` value that uniquely identifies the new resource's [User](https://www.twilio.com/docs/chat/rest/user-resource) within the [Service](https://www.twilio.com/docs/notify/api/service-resource). Up to 20 Bindings can be created for the same Identity in a given Service." }, "BindingType": { "type": "string", "$ref": "#/components/schemas/binding_enum_binding_type", "description": "The transport technology to use for the Binding. Can be: `apn`, `fcm`, `gcm`, `sms`, or `facebook-messenger`." }, "Address": { "type": "string", "description": "The channel-specific address. For APNS, the device token. For FCM and GCM, the registration token. For SMS, a phone number in E.164 format. For Facebook Messenger, the Messenger ID of the user or a phone number in E.164 format." }, "Tag": { "type": "array", "items": { "type": "string" }, "description": "A tag that can be used to select the Bindings to notify. Repeat this parameter to specify more than one tag, up to a total of 20 tags." }, "NotificationProtocolVersion": { "type": "string", "description": "The protocol version to use to send the notification. This defaults to the value of `default_xxxx_notification_protocol_version` for the protocol in the [Service](https://www.twilio.com/docs/notify/api/service-resource). The current version is `\"3\"` for `apn`, `fcm`, and `gcm` type Bindings. The parameter is not applicable to `sms` and `facebook-messenger` type Bindings as the data format is fixed." }, "CredentialSid": { "type": "string", "minLength": 34, "maxLength": 34, "pattern": "^CR[0-9a-fA-F]{32}$", "description": "The SID of the [Credential](https://www.twilio.com/docs/notify/api/credential-resource) resource to be used to send notifications to this Binding. If present, this overrides the Credential specified in the Service resource. Applies to only `apn`, `fcm`, and `gcm` type Bindings." }, "Endpoint": { "type": "string", "description": "Deprecated." } }, "required": [ "Identity", "BindingType", "Address" ] } } } } }, "get": { "description": "", "parameters": [ { "name": "ServiceSid", "in": "path", "description": "The SID of the [Service](https://www.twilio.com/docs/notify/api/service-resource) to read the resource from.", "schema": { "type": "string", "minLength": 34, "maxLength": 34, "pattern": "^IS[0-9a-fA-F]{32}$" }, "required": true }, { "name": "StartDate", "in": "query", "description": "Only include usage that has occurred on or after this date. Specify the date in GMT and format as `YYYY-MM-DD`.", "schema": { "type": "string", "format": "date" } }, { "name": "EndDate", "in": "query", "description": "Only include usage that occurred on or before this date. Specify the date in GMT and format as `YYYY-MM-DD`.", "schema": { "type": "string", "format": "date" } }, { "name": "Identity", "in": "query", "description": "The [User](https://www.twilio.com/docs/chat/rest/user-resource)'s `identity` value of the resources to read.", "schema": { "type": "array", "items": { "type": "string" } } }, { "name": "Tag", "in": "query", "description": "Only list Bindings that have all of the specified Tags. The following implicit tags are available: `all`, `apn`, `fcm`, `gcm`, `sms`, `facebook-messenger`. Up to 5 tags are allowed.", "schema": { "type": "array", "items": { "type": "string" } } }, { "name": "PageSize", "in": "query", "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { "type": "integer", "minimum": 1, "maximum": 1000 } } ], "responses": { "200": { "content": { "application/json": { "schema": { "type": "object", "title": "ListBindingResponse", "properties": { "bindings": { "type": "array", "items": { "$ref": "#/components/schemas/notify.v1.service.binding" } }, "meta": { "type": "object", "properties": { "first_page_url": { "type": "string", "format": "uri" }, "next_page_url": { "type": "string", "format": "uri" }, "page": { "type": "integer" }, "page_size": { "type": "integer" }, "previous_page_url": { "type": "string", "format": "uri" }, "url": { "type": "string", "format": "uri" }, "key": { "type": "string" } } } } } } }, "description": "OK" } }, "security": [ { "accountSid_authToken": [] } ], "operationId": "ListBinding", "x-maturity": [ "Beta" ] } }, "/v1/Credentials": { "servers": [ { "url": "https://notify.twilio.com" } ], "description": "TODO: Resource-level docs", "x-twilio": { "defaultOutputProperties": [ "sid", "friendly_name", "type" ], "pathType": "list" }, "get": { "description": "", "parameters": [ { "name": "PageSize", "in": "query", "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { "type": "integer", "minimum": 1, "maximum": 1000 } } ], "responses": { "200": { "content": { "application/json": { "schema": { "type": "object", "title": "ListCredentialResponse", "properties": { "credentials": { "type": "array", "items": { "$ref": "#/components/schemas/notify.v1.credential" } }, "meta": { "type": "object", "properties": { "first_page_url": { "type": "string", "format": "uri" }, "next_page_url": { "type": "string", "format": "uri" }, "page": { "type": "integer" }, "page_size": { "type": "integer" }, "previous_page_url": { "type": "string", "format": "uri" }, "url": { "type": "string", "format": "uri" }, "key": { "type": "string" } } } } } } }, "description": "OK" } }, "security": [ { "accountSid_authToken": [] } ], "operationId": "ListCredential", "x-maturity": [ "Beta" ] }, "post": { "description": "", "responses": { "201": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/notify.v1.credential" } } }, "description": "Created" } }, "security": [ { "accountSid_authToken": [] } ], "operationId": "CreateCredential", "x-maturity": [ "Beta" ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { "type": "object", "title": "CreateCredentialRequest", "properties": { "Type": { "type": "string", "$ref": "#/components/schemas/credential_enum_push_service", "description": "The Credential type. Can be: `gcm`, `fcm`, or `apn`." }, "FriendlyName": { "type": "string", "description": "A descriptive string that you create to describe the resource. It can be up to 64 characters long." }, "Certificate": { "type": "string", "description": "[APN only] The URL-encoded representation of the certificate. Strip everything outside of the headers, e.g. `-----BEGIN CERTIFICATE-----MIIFnTCCBIWgAwIBAgIIAjy9H849+E8wDQYJKoZIhvcNAQEFBQAwgZYxCzAJBgNV.....A==-----END CERTIFICATE-----`" }, "PrivateKey": { "type": "string", "description": "[APN only] The URL-encoded representation of the private key. Strip everything outside of the headers, e.g. `-----BEGIN RSA PRIVATE KEY-----MIIEpQIBAAKCAQEAuyf/lNrH9ck8DmNyo3fGgvCI1l9s+cmBY3WIz+cUDqmxiieR\\n.-----END RSA PRIVATE KEY-----`" }, "Sandbox": { "type": "boolean", "description": "[APN only] Whether to send the credential to sandbox APNs. Can be `true` to send to sandbox APNs or `false` to send to production." }, "ApiKey": { "type": "string", "description": "[GCM only] The `Server key` of your project from Firebase console under Settings / Cloud messaging." }, "Secret": { "type": "string", "description": "[FCM only] The `Server key` of your project from Firebase console under Settings / Cloud messaging." } }, "required": [ "Type" ] } } } } } }, "/v1/Credentials/{Sid}": { "servers": [ { "url": "https://notify.twilio.com" } ], "description": "TODO: Resource-level docs", "x-twilio": { "defaultOutputProperties": [ "sid", "friendly_name", "type" ], "pathType": "instance" }, "get": { "description": "", "parameters": [ { "name": "Sid", "in": "path", "description": "The Twilio-provided string that uniquely identifies the Credential resource to fetch.", "schema": { "type": "string", "minLength": 34, "maxLength": 34, "pattern": "^CR[0-9a-fA-F]{32}$" }, "required": true } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/notify.v1.credential" } } }, "description": "OK" } }, "security": [ { "accountSid_authToken": [] } ], "operationId": "FetchCredential", "x-maturity": [ "Beta" ] }, "post": { "description": "", "parameters": [ { "name": "Sid", "in": "path", "description": "The Twilio-provided string that uniquely identifies the Credential resource to update.", "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/notify.v1.credential" } } }, "description": "OK" } }, "security": [ { "accountSid_authToken": [] } ], "operationId": "UpdateCredential", "x-maturity": [ "Beta" ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { "type": "object", "title": "UpdateCredentialRequest", "properties": { "FriendlyName": { "type": "string", "description": "A descriptive string that you create to describe the resource. It can be up to 64 characters long." }, "Certificate": { "type": "string", "description": "[APN only] The URL-encoded representation of the certificate. Strip everything outside of the headers, e.g. `-----BEGIN CERTIFICATE-----MIIFnTCCBIWgAwIBAgIIAjy9H849+E8wDQYJKoZIhvcNAQEFBQAwgZYxCzAJBgNV.....A==-----END CERTIFICATE-----`" }, "PrivateKey": { "type": "string", "description": "[APN only] The URL-encoded representation of the private key. Strip everything outside of the headers, e.g. `-----BEGIN RSA PRIVATE KEY-----MIIEpQIBAAKCAQEAuyf/lNrH9ck8DmNyo3fGgvCI1l9s+cmBY3WIz+cUDqmxiieR\\n.-----END RSA PRIVATE KEY-----`" }, "Sandbox": { "type": "boolean", "description": "[APN only] Whether to send the credential to sandbox APNs. Can be `true` to send to sandbox APNs or `false` to send to production." }, "ApiKey": { "type": "string", "description": "[GCM only] The `Server key` of your project from Firebase console under Settings / Cloud messaging." }, "Secret": { "type": "string", "description": "[FCM only] The `Server key` of your project from Firebase console under Settings / Cloud messaging." } } } } } } }, "delete": { "description": "", "parameters": [ { "name": "Sid", "in": "path", "description": "The Twilio-provided string that uniquely identifies the Credential resource to delete.", "schema": { "type": "string", "minLength": 34, "maxLength": 34, "pattern": "^CR[0-9a-fA-F]{32}$" }, "required": true } ], "responses": { "204": { "description": "The resource was deleted successfully." } }, "security": [ { "accountSid_authToken": [] } ], "operationId": "DeleteCredential", "x-maturity": [ "Beta" ] } }, "/v1/Services/{ServiceSid}/Notifications": { "servers": [ { "url": "https://notify.twilio.com" } ], "description": "TODO: Resource-level docs", "x-twilio": { "defaultOutputProperties": [ "sid", "priority", "title" ], "pathType": "list", "parent": "/Services/{Sid}" }, "post": { "description": "", "parameters": [ { "name": "ServiceSid", "in": "path", "description": "The SID of the [Service](https://www.twilio.com/docs/notify/api/service-resource) to create the resource under.", "schema": { "type": "string", "minLength": 34, "maxLength": 34, "pattern": "^IS[0-9a-fA-F]{32}$" }, "required": true } ], "responses": { "201": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/notify.v1.service.notification" } } }, "description": "Created" } }, "security": [ { "accountSid_authToken": [] } ], "operationId": "CreateNotification", "x-maturity": [ "Beta" ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { "type": "object", "title": "CreateNotificationRequest", "properties": { "Body": { "type": "string", "description": "The notification text. For FCM and GCM, translates to `data.twi_body`. For APNS, translates to `aps.alert.body`. For SMS, translates to `body`. SMS requires either this `body` value, or `media_urls` attribute defined in the `sms` parameter of the notification." }, "Priority": { "type": "string", "$ref": "#/components/schemas/notification_enum_priority", "description": "The priority of the notification. Can be: `low` or `high` and the default is `high`. A value of `low` optimizes the client app's battery consumption; however, notifications may be delivered with unspecified delay. For FCM and GCM, `low` priority is the same as `Normal` priority. For APNS `low` priority is the same as `5`. A value of `high` sends the notification immediately, and can wake up a sleeping device. For FCM and GCM, `high` is the same as `High` priority. For APNS, `high` is a priority `10`. SMS does not support this property." }, "Ttl": { "type": "integer", "description": "How long, in seconds, the notification is valid. Can be an integer between 0 and 2,419,200, which is 4 weeks, the default and the maximum supported time to live (TTL). Delivery should be attempted if the device is offline until the TTL elapses. Zero means that the notification delivery is attempted immediately, only once, and is not stored for future delivery. SMS does not support this property." }, "Title": { "type": "string", "description": "The notification title. For FCM and GCM, this translates to the `data.twi_title` value. For APNS, this translates to the `aps.alert.title` value. SMS does not support this property. This field is not visible on iOS phones and tablets but appears on Apple Watch and Android devices." }, "Sound": { "type": "string", "description": "The name of the sound to be played for the notification. For FCM and GCM, this Translates to `data.twi_sound`. For APNS, this translates to `aps.sound`. SMS does not support this property." }, "Action": { "type": "string", "description": "The actions to display for the notification. For APNS, translates to the `aps.category` value. For GCM, translates to the `data.twi_action` value. For SMS, this parameter is not supported and is omitted from deliveries to those channels." }, "Data": { "description": "The custom key-value pairs of the notification's payload. For FCM and GCM, this value translates to `data` in the FCM and GCM payloads. FCM and GCM [reserve certain keys](https://firebase.google.com/docs/cloud-messaging/http-server-ref) that cannot be used in those channels. For APNS, attributes of `data` are inserted into the APNS payload as custom properties outside of the `aps` dictionary. In all channels, we reserve keys that start with `twi_` for future use. Custom keys that start with `twi_` are not allowed and are rejected as 400 Bad request with no delivery attempted. For SMS, this parameter is not supported and is omitted from deliveries to those channels." }, "Apn": { "description": "The APNS-specific payload that overrides corresponding attributes in the generic payload for APNS Bindings. This property maps to the APNS `Payload` item, therefore the `aps` key must be used to change standard attributes. Adds custom key-value pairs to the root of the dictionary. See the [APNS documentation](https://developer.apple.com/library/content/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/CommunicatingwithAPNs.html) for more details. We reserve keys that start with `twi_` for future use. Custom keys that start with `twi_` are not allowed." }, "Gcm": { "description": "The GCM-specific payload that overrides corresponding attributes in the generic payload for GCM Bindings. This property maps to the root JSON dictionary. See the [GCM documentation](https://firebase.google.com/docs/cloud-messaging/http-server-ref) for more details. Target parameters `to`, `registration_ids`, and `notification_key` are not allowed. We reserve keys that start with `twi_` for future use. Custom keys that start with `twi_` are not allowed. GCM also [reserves certain keys](https://firebase.google.com/docs/cloud-messaging/http-server-ref)." }, "Sms": { "description": "The SMS-specific payload that overrides corresponding attributes in the generic payload for SMS Bindings. Each attribute in this value maps to the corresponding `form` parameter of the Twilio [Message](https://www.twilio.com/docs/sms/send-messages) resource. These parameters of the Message resource are supported in snake case format: `body`, `media_urls`, `status_callback`, and `max_price`. The `status_callback` parameter overrides the corresponding parameter in the messaging service, if configured. The `media_urls` property expects a JSON array." }, "FacebookMessenger": { "description": "Deprecated." }, "Fcm": { "description": "The FCM-specific payload that overrides corresponding attributes in the generic payload for FCM Bindings. This property maps to the root JSON dictionary. See the [FCM documentation](https://firebase.google.com/docs/cloud-messaging/http-server-ref#downstream) for more details. Target parameters `to`, `registration_ids`, `condition`, and `notification_key` are not allowed in this parameter. We reserve keys that start with `twi_` for future use. Custom keys that start with `twi_` are not allowed. FCM also [reserves certain keys](https://firebase.google.com/docs/cloud-messaging/http-server-ref), which cannot be used in that channel." }, "Segment": { "type": "array", "items": { "type": "string" }, "description": "The Segment resource is deprecated. Use the `tag` parameter, instead." }, "Alexa": { "description": "Deprecated." }, "ToBinding": { "type": "array", "items": { "type": "string" }, "description": "The destination address specified as a JSON string. Multiple `to_binding` parameters can be included but the total size of the request entity should not exceed 1MB. This is typically sufficient for 10,000 phone numbers." }, "DeliveryCallbackUrl": { "type": "string", "description": "URL to send webhooks." }, "Identity": { "type": "array", "items": { "type": "string" }, "description": "The `identity` value that uniquely identifies the new resource's [User](https://www.twilio.com/docs/chat/rest/user-resource) within the [Service](https://www.twilio.com/docs/notify/api/service-resource). Delivery will be attempted only to Bindings with an Identity in this list. No more than 20 items are allowed in this list." }, "Tag": { "type": "array", "items": { "type": "string" }, "description": "A tag that selects the Bindings to notify. Repeat this parameter to specify more than one tag, up to a total of 5 tags. The implicit tag `all` is available to notify all Bindings in a Service instance. Similarly, the implicit tags `apn`, `fcm`, `gcm`, `sms` and `facebook-messenger` are available to notify all Bindings in a specific channel." } } } } } }, "x-twilio": { "conditional": [ [ "identity", "tag" ] ] } } }, "/v1/Services": { "servers": [ { "url": "https://notify.twilio.com" } ], "description": "TODO: Resource-level docs", "x-twilio": { "defaultOutputProperties": [ "sid", "friendly_name", "date_created" ], "pathType": "list" }, "post": { "description": "", "responses": { "201": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/notify.v1.service" } } }, "description": "Created" } }, "security": [ { "accountSid_authToken": [] } ], "operationId": "CreateService", "x-maturity": [ "Beta" ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { "type": "object", "title": "CreateServiceRequest", "properties": { "FriendlyName": { "type": "string", "description": "A descriptive string that you create to describe the resource. It can be up to 64 characters long." }, "ApnCredentialSid": { "type": "string", "minLength": 34, "maxLength": 34, "pattern": "^CR[0-9a-fA-F]{32}$", "description": "The SID of the [Credential](https://www.twilio.com/docs/notify/api/credential-resource) to use for APN Bindings." }, "GcmCredentialSid": { "type": "string", "minLength": 34, "maxLength": 34, "pattern": "^CR[0-9a-fA-F]{32}$", "description": "The SID of the [Credential](https://www.twilio.com/docs/notify/api/credential-resource) to use for GCM Bindings." }, "MessagingServiceSid": { "type": "string", "minLength": 34, "maxLength": 34, "pattern": "^MG[0-9a-fA-F]{32}$", "description": "The SID of the [Messaging Service](https://www.twilio.com/docs/sms/send-messages#messaging-services) to use for SMS Bindings. This parameter must be set in order to send SMS notifications." }, "FacebookMessengerPageId": { "type": "string", "description": "Deprecated." }, "DefaultApnNotificationProtocolVersion": { "type": "string", "description": "The protocol version to use for sending APNS notifications. Can be overridden on a Binding by Binding basis when creating a [Binding](https://www.twilio.com/docs/notify/api/binding-resource) resource." }, "DefaultGcmNotificationProtocolVersion": { "type": "string", "description": "The protocol version to use for sending GCM notifications. Can be overridden on a Binding by Binding basis when creating a [Binding](https://www.twilio.com/docs/notify/api/binding-resource) resource." }, "FcmCredentialSid": { "type": "string", "minLength": 34, "maxLength": 34, "pattern": "^CR[0-9a-fA-F]{32}$", "description": "The SID of the [Credential](https://www.twilio.com/docs/notify/api/credential-resource) to use for FCM Bindings." }, "DefaultFcmNotificationProtocolVersion": { "type": "string", "description": "The protocol version to use for sending FCM notifications. Can be overridden on a Binding by Binding basis when creating a [Binding](https://www.twilio.com/docs/notify/api/binding-resource) resource." }, "LogEnabled": { "type": "boolean", "description": "Whether to log notifications. Can be: `true` or `false` and the default is `true`." }, "AlexaSkillId": { "type": "string", "description": "Deprecated." }, "DefaultAlexaNotificationProtocolVersion": { "type": "string", "description": "Deprecated." }, "DeliveryCallbackUrl": { "type": "string", "description": "URL to send delivery status callback." }, "DeliveryCallbackEnabled": { "type": "boolean", "description": "Callback configuration that enables delivery callbacks, default false" } } } } } } }, "get": { "description": "", "parameters": [ { "name": "FriendlyName", "in": "query", "description": "The string that identifies the Service resources to read.", "schema": { "type": "string" } }, { "name": "PageSize", "in": "query", "description": "How many resources to return in each list page. The default is 50, and the maximum is 1000.", "schema": { "type": "integer", "minimum": 1, "maximum": 1000 } } ], "responses": { "200": { "content": { "application/json": { "schema": { "type": "object", "title": "ListServiceResponse", "properties": { "services": { "type": "array", "items": { "$ref": "#/components/schemas/notify.v1.service" } }, "meta": { "type": "object", "properties": { "first_page_url": { "type": "string", "format": "uri" }, "next_page_url": { "type": "string", "format": "uri" }, "page": { "type": "integer" }, "page_size": { "type": "integer" }, "previous_page_url": { "type": "string", "format": "uri" }, "url": { "type": "string", "format": "uri" }, "key": { "type": "string" } } } } } } }, "description": "OK" } }, "security": [ { "accountSid_authToken": [] } ], "operationId": "ListService", "x-maturity": [ "Beta" ] } }, "/v1/Services/{Sid}": { "servers": [ { "url": "https://notify.twilio.com" } ], "description": "TODO: Resource-level docs", "x-twilio": { "defaultOutputProperties": [ "sid", "friendly_name", "date_created" ], "pathType": "instance" }, "delete": { "description": "", "parameters": [ { "name": "Sid", "in": "path", "description": "The Twilio-provided string that uniquely identifies the Service resource to delete.", "schema": { "type": "string", "minLength": 34, "maxLength": 34, "pattern": "^IS[0-9a-fA-F]{32}$" }, "required": true } ], "responses": { "204": { "description": "The resource was deleted successfully." } }, "security": [ { "accountSid_authToken": [] } ], "operationId": "DeleteService", "x-maturity": [ "Beta" ] }, "get": { "description": "", "parameters": [ { "name": "Sid", "in": "path", "description": "The Twilio-provided string that uniquely identifies the Service resource to fetch.", "schema": { "type": "string", "minLength": 34, "maxLength": 34, "pattern": "^IS[0-9a-fA-F]{32}$" }, "required": true } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/notify.v1.service" } } }, "description": "OK" } }, "security": [ { "accountSid_authToken": [] } ], "operationId": "FetchService", "x-maturity": [ "Beta" ] }, "post": { "description": "", "parameters": [ { "name": "Sid", "in": "path", "description": "The Twilio-provided string that uniquely identifies the Service resource to update.", "schema": { "type": "string", "minLength": 34, "maxLength": 34, "pattern": "^IS[0-9a-fA-F]{32}$" }, "required": true } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/notify.v1.service" } } }, "description": "OK" } }, "security": [ { "accountSid_authToken": [] } ], "operationId": "UpdateService", "x-maturity": [ "Beta" ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { "type": "object", "title": "UpdateServiceRequest", "properties": { "FriendlyName": { "type": "string", "description": "A descriptive string that you create to describe the resource. It can be up to 64 characters long." }, "ApnCredentialSid": { "type": "string", "minLength": 34, "maxLength": 34, "pattern": "^CR[0-9a-fA-F]{32}$", "description": "The SID of the [Credential](https://www.twilio.com/docs/notify/api/credential-resource) to use for APN Bindings." }, "GcmCredentialSid": { "type": "string", "minLength": 34, "maxLength": 34, "pattern": "^CR[0-9a-fA-F]{32}$", "description": "The SID of the [Credential](https://www.twilio.com/docs/notify/api/credential-resource) to use for GCM Bindings." }, "MessagingServiceSid": { "type": "string", "minLength": 34, "maxLength": 34, "pattern": "^MG[0-9a-fA-F]{32}$", "description": "The SID of the [Messaging Service](https://www.twilio.com/docs/sms/send-messages#messaging-services) to use for SMS Bindings. This parameter must be set in order to send SMS notifications." }, "FacebookMessengerPageId": { "type": "string", "description": "Deprecated." }, "DefaultApnNotificationProtocolVersion": { "type": "string", "description": "The protocol version to use for sending APNS notifications. Can be overridden on a Binding by Binding basis when creating a [Binding](https://www.twilio.com/docs/notify/api/binding-resource) resource." }, "DefaultGcmNotificationProtocolVersion": { "type": "string", "description": "The protocol version to use for sending GCM notifications. Can be overridden on a Binding by Binding basis when creating a [Binding](https://www.twilio.com/docs/notify/api/binding-resource) resource." }, "FcmCredentialSid": { "type": "string", "minLength": 34, "maxLength": 34, "pattern": "^CR[0-9a-fA-F]{32}$", "description": "The SID of the [Credential](https://www.twilio.com/docs/notify/api/credential-resource) to use for FCM Bindings." }, "DefaultFcmNotificationProtocolVersion": { "type": "string", "description": "The protocol version to use for sending FCM notifications. Can be overridden on a Binding by Binding basis when creating a [Binding](https://www.twilio.com/docs/notify/api/binding-resource) resource." }, "LogEnabled": { "type": "boolean", "description": "Whether to log notifications. Can be: `true` or `false` and the default is `true`." }, "AlexaSkillId": { "type": "string", "description": "Deprecated." }, "DefaultAlexaNotificationProtocolVersion": { "type": "string", "description": "Deprecated." }, "DeliveryCallbackUrl": { "type": "string", "description": "URL to send delivery status callback." }, "DeliveryCallbackEnabled": { "type": "boolean", "description": "Callback configuration that enables delivery callbacks, default false" } } } } } } } } }, "servers": [ { "url": "https://notify.twilio.com" } ], "x-maturity": [ { "name": "Beta", "description": "PLEASE NOTE that this is a Beta product that is subject to change. Use it with caution." } ] }