Obtain APNs credentials
Beta
The Push Notifications API is part of the Twilio Communications API, currently available as a
Private Beta product. The information contained in this document is subject to change. You acknowledge
and agree that your use of the Twilio Communications API is subject to the terms of the Services in
Private Beta. This
means that some features are not yet implemented and others may be changed before the product is
declared as Generally Available. Private Beta products are not covered by the Twilio Support Terms or
Twilio Service Level Agreement.
Request access to the private beta through the private beta access request form.
To send push notifications to Apple devices and Safari browsers, you need Apple Push Notification service (APN) credentials. This guide walks you through creating an App ID, generating a push notification certificate, and extracting the credentials required by the Twilio Communications API.
- An Apple Developer account
- Access to the Apple Developer Portal
- macOS with Keychain Access
- OpenSSL installed (included by default on macOS)
If you already have an App ID configured with push notifications, skip to Create a certificate.
- Navigate to the Apple Developer Portal.
-
Under
Certificates, IDs & Profiles
, select
Identifiers
.

-
Click the
+
button next to
Identifiers
.

-
Select
App IDs
and click
Continue
.

- Complete the App ID registration form with your app details.
-
In the Apple Developer Portal, select
Certificates
under
Certificates, IDs & Profiles
.

-
Click the
+
button next to
Certificates
.

-
Select
Apple Push Notification service SSL (Sandbox & Production)
and click
Continue
.

- Select your App ID from the dropdown menu.
- Create a Certificate Signing Request (CSR) by following Apple's CSR guide.
- Upload your CSR file.
- Download the generated certificate.
- Double-click the downloaded certificate to install it in Keychain Access.
- Open Keychain Access and locate the certificate. It will be named
Apple Push Services: [your app id]. - Right-click the certificate and select Export.
- Save the file as a
.p12file. This file contains both the certificate and private key.
The certificate and private key must be extracted from the .p12 file and base64 encoded before uploading to Twilio.
Open a terminal in the directory where the .p12 file is saved and run the following command.
openssl pkcs12 -in cred.p12 -nokeys -nodes -legacy | openssl x509 | base64 -b 0
Info
Replace cred.p12 with the actual filename of your exported certificate.
openssl pkcs12 -in cred.p12 -nocerts -nodes -legacy | openssl rsa | base64 -b 0
Info
Replace cred.p12 with the actual filename of your exported certificate.
Use the base64-encoded strings as the certificate and privateKey values when creating your APNs credential.
1curl -X POST 'https://comms.twilio.com/preview/PushNotifications/Credentials' \2-H 'Content-Type: application/json' \3-d '{4"credentialType": "APN",5"content": {6"certificate": "YOUR_BASE64_ENCODED_CERTIFICATE",7"privateKey": "YOUR_BASE64_ENCODED_KEY"8},9"appName": "YOUR_APP_NAME"10}' \11-u $TWILIO_ACCOUNT_SID:$TWILIO_AUTH_TOKEN
- Learn how to send a push notification.
- Set up FCM credentials to send notifications to Android devices.