Credentials Resource
Programmable Chat deprecated
Programmable Chat has been deprecated and receives no support. Twilio has turned its focus to the next generation of chat: Twilio Conversations. Find out more about the EOL process.
- To start a project, see Conversations.
- To switch from Programmable Chat, see the Migration Guide to learn about how to switch.
Danger
This is reference documentation for the v1 REST API, which has been deprecated. You should use the current v2 REST API.
The Credential resource represents one credential record for a particular push notifications channel, either Apple Push Notification service (APNS) or Google Cloud Messaging (GCM). Credentials are different per push vendor and are issued by the vendors themselves. This resource allows you to send Twilio credentials that should be used for push notifications.
You can manage the Credentials for use with Programmable Chat using your Twilio console when logged in to the console.
Each credential resource has these properties:
The unique string that we created to identify the Credential resource.
^CR[0-9a-fA-F]{32}$Min length: 34Max length: 34The SID of the Account that created the Credential resource.
^AC[0-9a-fA-F]{32}$Min length: 34Max length: 34The type of push-notification service the credential is for. Can be: gcm, fcm, or apn.
gcmapnfcm[APN only] Whether to send the credential to sandbox APNs. Can be true to send to sandbox APNs or false to send to production.
The date and time in GMT when the resource was created specified in RFC 2822 format.
The date and time in GMT when the resource was last updated specified in RFC 2822 format.
The absolute URL of the Credential resource.
GET /Credentials
1// Download the helper library from https://www.twilio.com/docs/node/install2const twilio = require("twilio"); // Or, for ESM: import twilio from "twilio";34// Find your Account SID and Auth Token at twilio.com/console5// and set the environment variables. See http://twil.io/secure6const accountSid = process.env.TWILIO_ACCOUNT_SID;7const authToken = process.env.TWILIO_AUTH_TOKEN;8const client = twilio(accountSid, authToken);910async function listCredential() {11const credentials = await client.chat.v1.credentials.list({ limit: 20 });1213credentials.forEach((c) => console.log(c.sid));14}1516listCredential();
Response
1{2"credentials": [3{4"sid": "CRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",5"account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",6"friendly_name": "Test slow create",7"type": "apn",8"sandbox": "False",9"date_created": "2015-10-07T17:50:01Z",10"date_updated": "2015-10-07T17:50:01Z",11"url": "https://chat.twilio.com/v1/Credentials/CRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"12}13],14"meta": {15"page": 0,16"page_size": 50,17"first_page_url": "https://chat.twilio.com/v1/Credentials?PageSize=50&Page=0",18"previous_page_url": null,19"url": "https://chat.twilio.com/v1/Credentials?PageSize=50&Page=0",20"next_page_url": null,21"key": "credentials"22}23}
POST /Credentials
application/x-www-form-urlencodedThe type of push-notification service the credential is for. Can be: gcm, fcm, or apn.
gcmapnfcmA descriptive string that you create to describe the new resource. It can be up to 64 characters long.
[APN only] The URL encoded representation of the certificate. For example,
-----BEGIN CERTIFICATE----- MIIFnTCCBIWgAwIBAgIIAjy9H849+E8wDQYJKoZIhvcNAQEFBQAwgZYxCzAJBgNV.....A== -----END CERTIFICATE-----
[APN only] The URL encoded representation of the private key. For example,
-----BEGIN RSA PRIVATE KEY----- MIIEpQIBAAKCAQEAuyf/lNrH9ck8DmNyo3fGgvCI1l9s+cmBY3WIz+cUDqmxiieR. -----END RSA PRIVATE KEY-----
[APN only] Whether to send the credential to sandbox APNs. Can be true to send to sandbox APNs or false to send to production.
[GCM only] The API key for the project that was obtained from the Google Developer console for your GCM Service application credential.
[FCM only] The Server key of your project from the Firebase console, found under Settings / Cloud messaging.
1// Download the helper library from https://www.twilio.com/docs/node/install2const twilio = require("twilio"); // Or, for ESM: import twilio from "twilio";34// Find your Account SID and Auth Token at twilio.com/console5// and set the environment variables. See http://twil.io/secure6const accountSid = process.env.TWILIO_ACCOUNT_SID;7const authToken = process.env.TWILIO_AUTH_TOKEN;8const client = twilio(accountSid, authToken);910async function createCredential() {11const credential = await client.chat.v1.credentials.create({12apiKey: "apiKey",13friendlyName: "Friendly Name",14type: "gcm",15});1617console.log(credential.sid);18}1920createCredential();
Response
1{2"sid": "CRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",3"account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",4"friendly_name": "Friendly Name",5"type": "gcm",6"sandbox": "False",7"date_created": "2015-10-07T17:50:01Z",8"date_updated": "2015-10-07T17:50:01Z",9"url": "https://chat.twilio.com/v1/Credentials/CRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"10}
1GET /Credentials/{Credential SID}2
1// Download the helper library from https://www.twilio.com/docs/node/install2const twilio = require("twilio"); // Or, for ESM: import twilio from "twilio";34// Find your Account SID and Auth Token at twilio.com/console5// and set the environment variables. See http://twil.io/secure6const accountSid = process.env.TWILIO_ACCOUNT_SID;7const authToken = process.env.TWILIO_AUTH_TOKEN;8const client = twilio(accountSid, authToken);910async function fetchCredential() {11const credential = await client.chat.v112.credentials("CRXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX")13.fetch();1415console.log(credential.sid);16}1718fetchCredential();
Response
1{2"sid": "CRXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",3"account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",4"friendly_name": "Test slow create",5"type": "apn",6"sandbox": "False",7"date_created": "2015-10-07T17:50:01Z",8"date_updated": "2015-10-07T17:50:01Z",9"url": "https://chat.twilio.com/v1/Credentials/CRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"10}
1POST /Credentials/{Credential SID}2
The Twilio-provided string that uniquely identifies the Credential resource to update.
^CR[0-9a-fA-F]{32}$Min length: 34Max length: 34application/x-www-form-urlencodedA descriptive string that you create to describe the resource. It can be up to 64 characters long.
[APN only] The URL encoded representation of the certificate. For example,
-----BEGIN CERTIFICATE----- MIIFnTCCBIWgAwIBAgIIAjy9H849+E8wDQYJKoZIhvcNAQEFBQAwgZYxCzAJBgNV.....A== -----END CERTIFICATE-----
[APN only] The URL encoded representation of the private key. For example,
-----BEGIN RSA PRIVATE KEY----- MIIEpQIBAAKCAQEAuyf/lNrH9ck8DmNyo3fGgvCI1l9s+cmBY3WIz+cUDqmxiieR. -----END RSA PRIVATE KEY-----
[APN only] Whether to send the credential to sandbox APNs. Can be true to send to sandbox APNs or false to send to production.
[GCM only] The API key for the project that was obtained from the Google Developer console for your GCM Service application credential.
[FCM only] The Server key of your project from the Firebase console, found under Settings / Cloud messaging.
1// Download the helper library from https://www.twilio.com/docs/node/install2const twilio = require("twilio"); // Or, for ESM: import twilio from "twilio";34// Find your Account SID and Auth Token at twilio.com/console5// and set the environment variables. See http://twil.io/secure6const accountSid = process.env.TWILIO_ACCOUNT_SID;7const authToken = process.env.TWILIO_AUTH_TOKEN;8const client = twilio(accountSid, authToken);910async function updateCredential() {11const credential = await client.chat.v112.credentials("CRXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX")13.update({14apiKey: "xxxxxx",15friendlyName: "MyCredential",16});1718console.log(credential.sid);19}2021updateCredential();
Response
1{2"sid": "CRXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",3"account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",4"friendly_name": "MyCredential",5"type": "apn",6"sandbox": "False",7"date_created": "2015-10-07T17:50:01Z",8"date_updated": "2015-10-07T17:50:01Z",9"url": "https://chat.twilio.com/v1/Credentials/CRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"10}
1DELETE /Credentials/{Credential SID}2
1// Download the helper library from https://www.twilio.com/docs/node/install2const twilio = require("twilio"); // Or, for ESM: import twilio from "twilio";34// Find your Account SID and Auth Token at twilio.com/console5// and set the environment variables. See http://twil.io/secure6const accountSid = process.env.TWILIO_ACCOUNT_SID;7const authToken = process.env.TWILIO_AUTH_TOKEN;8const client = twilio(accountSid, authToken);910async function deleteCredential() {11await client.chat.v112.credentials("CRXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX")13.remove();14}1516deleteCredential();