Skip to contentSkip to navigationSkip to topbar
Rate this page:
On this page

Notifications Resource



Description

description page anchor

This resource is meant to be used when implementing Verify Push. It lets developers request that Verify Push retry sending a push notification for the same Challenge. Previously, there was a 1:1 mapping between a Challenge and push notification, so developers had to create a new, duplicate Challenge to resend a push notification for the same verification action (e.g. two-factor auth for a user login). They then had to deduplicate the Challenges on the client side. This implementation complexity is removed with this resource.

(warning)

Warning

The Notifications resource is currently in the Pilot maturity stage, please check with Twilio before using it in production.

(information)

Info

APNs/FCM behavior: Please be aware that APNs and FCM already have built-in queuing and retry logic for the scenario where the device was offline when the push notification was requested. When the device becomes online again, all non-expired push notifications (based on the push's time-to-live / ttl) will be sent again. We recommend that developers limit the number of retries a user can request, so that the user doesn't accidentally "over-request" and end up getting a flood of push notifications. We have also made ttl a configurable resource parameter, so developers can expire past push notifications more quickly if this becomes a problem.

Challenge expiration: Please note that the Challenge itself can still expire. Requesting a retry push notification on an expired Challenge will result in an error response, and developers will need to create a new Challenge. This won't create a dedup problem for the client-side though, because the client can just request pending, not expired, Challenges.


Resource properties
sidtype: SID<NT>Not PII

A 34 character string that uniquely identifies this Notification.


account_sidtype: SID<AC>Not PII

The unique SID identifier of the Account.


service_sidtype: SID<VA>Not PII

The unique SID identifier of the Service.


entity_sidtype: SID<YE>Not PII

The unique SID identifier of the Entity.


identitytype: stringPII MTL: 30 days

Customer unique identity for the Entity owner of the Challenge. This identifier should be immutable, not PII, length between 8 and 64 characters, and generated by your external system, such as your user's UUID, GUID, or SID. It can only contain dash (-) separated alphanumeric characters.


challenge_sidtype: SID<YC>Not PII

The unique SID identifier of the Challenge.


prioritytype: stringNot PII

The priority of the notification. For push Challenges it's always high which sends the notification immediately, and can wake up a sleeping device.


ttltype: integerNot PII

How long, in seconds, the notification is valid. Max: 5 minutes



Resend Push Notification

resend-push-notification page anchor
POST https://verify.twilio.com/v2/Services/{ServiceSid}/Entities/{Identity}/Challenges/{ChallengeSid}/Notifications

(warning)

Warning

Only 3 Push Notifications can be created per Challenge

Parameters

create-parameters page anchor
URI parameters
ServiceSidtype: SID<VA>Not PII
Path Parameter

The unique SID identifier of the Service.


Identitytype: stringPII MTL: 30 days
Path Parameter

Customer unique identity for the Entity owner of the Challenge. This identifier should be immutable, not PII, length between 8 and 64 characters, and generated by your external system, such as your user's UUID, GUID, or SID. It can only contain dash (-) separated alphanumeric characters.


ChallengeSidtype: SID<YC>Not PII
Path Parameter

The unique SID identifier of the Challenge.


Request body parameters
Ttltype: integerNot PII

How long, in seconds, the notification is valid. Can be an integer between 0 and 300. Default is 300. Delivery is attempted until the TTL elapses, even if the device is offline. 0 means that the notification delivery is attempted immediately, only once, and is not stored for future delivery.

Node.js
Python
C#
Java
Go
PHP
Ruby
twilio-cli
curl

_13
// Download the helper library from https://www.twilio.com/docs/node/install
_13
// Find your Account SID and Auth Token at twilio.com/console
_13
// and set the environment variables. See http://twil.io/secure
_13
const accountSid = process.env.TWILIO_ACCOUNT_SID;
_13
const authToken = process.env.TWILIO_AUTH_TOKEN;
_13
const client = require('twilio')(accountSid, authToken);
_13
_13
client.verify.v2.services('VAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX')
_13
.entities('identity')
_13
.challenges('YCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX')
_13
.notifications
_13
.create()
_13
.then(notification => console.log(notification.sid));

Output

_11
{
_11
"sid": "NTXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_11
"account_sid": "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_11
"service_sid": "VAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_11
"entity_sid": "YEXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_11
"identity": "ff483d1ff591898a9942916050d2ca3f",
_11
"challenge_sid": "YCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_11
"date_created": "2015-07-30T20:00:00Z",
_11
"priority": "high",
_11
"ttl": 150
_11
}


Rate this page: