Create a new Factor for the Entity
TODO: Resource-level docs
Create a new Factor for the Entity
Path parameters
-
The unique SID identifier of the Service.
-
Customer unique identity for the Entity owner of the Factor. 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.
Body
-
The algorithm used when
factor_type
ispush
. Algorithm supported:ES256
-
The Ecdsa public key in PKIX, ASN.1 DER format encoded in Base64.
Required when
factor_type
ispush
-
The shared secret for TOTP factors encoded in Base32. This can be provided when creating the Factor, otherwise it will be generated.
Used when
factor_type
istotp
-
The algorithm used to derive the TOTP codes. Can be
sha1
,sha256
orsha512
. Defaults tosha1
.Used when
factor_type
istotp
Values are
sha1
,sha256
, orsha512
. -
The ID that uniquely identifies your app in the Google or Apple store, such as
com.example.myapp
. It can be up to 100 characters long.Required when
factor_type
ispush
. -
Number of digits for generated TOTP codes. Must be between 3 and 8, inclusive. The default value is defined at the service level in the property
totp.code_length
. If not configured defaults to 6.Used when
factor_type
istotp
-
The transport technology used to generate the Notification Token. Can be
apn
,fcm
ornone
.Required when
factor_type
ispush
.Values are
apn
,fcm
, ornone
. -
For APN, the device token. For FCM, the registration token. It is used to send the push notifications. Must be between 32 and 255 characters long.
Required when
factor_type
ispush
. -
The Verify Push SDK version used to configure the factor
Required when
factor_type
ispush
-
The number of time-steps, past and future, that are valid for validation of TOTP codes. Must be between 0 and 2, inclusive. The default value is defined at the service level in the property
totp.skew
. If not configured defaults to 1.Used when
factor_type
istotp
-
Defines how often, in seconds, are TOTP codes generated. i.e, a new TOTP code is generated every time_step seconds. Must be between 20 and 60 seconds, inclusive. The default value is defined at the service level in the property
totp.time_step
. Defaults to 30 seconds if not configured.Used when
factor_type
istotp
-
The Type of this Factor. Currently
push
andtotp
are supported.Values are
push
ortotp
. -
The friendly name of this Factor. This can be any string up to 64 characters, meant for humans to distinguish between Factors. For
factor_type
push
, this could be a device name. Forfactor_type
totp
, this value is used as the “account name” in constructing thebinding.uri
property. At the same time, we recommend avoiding providing PII. -
Custom metadata associated with the factor. This is added by the Device/SDK directly to allow for the inclusion of device information. It must be a stringified JSON with only strings values eg.
{"os": "Android"}
. Can be up to 1024 characters in length.
curl \
-X POST https://verify.twilio.com/v2/Services/{ServiceSid}/Entities/{Identity}/Factors \
--user "username:password" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d 'Binding.Alg=string&Binding.PublicKey=string&Binding.Secret=string&Config.Alg=sha1&Config.AppId=string&Config.CodeLength=42&Config.NotificationPlatform=apn&Config.NotificationToken=string&Config.SdkVersion=string&Config.Skew=42&Config.TimeStep=42&FactorType=push&FriendlyName=string'
{
"Binding.Alg": "string",
"Binding.PublicKey": "string",
"Binding.Secret": "string",
"Config.Alg": "sha1",
"Config.AppId": "string",
"Config.CodeLength": 42,
"Config.NotificationPlatform": "apn",
"Config.NotificationToken": "string",
"Config.SdkVersion": "string",
"Config.Skew": 42,
"Config.TimeStep": 42,
"FactorType": "push",
"FriendlyName": "string"
}
{
"Binding.Alg": "string",
"Binding.PublicKey": "string",
"Binding.Secret": "string",
"Config.Alg": "sha1",
"Config.AppId": "string",
"Config.CodeLength": 42,
"Config.NotificationPlatform": "apn",
"Config.NotificationToken": "string",
"Config.SdkVersion": "string",
"Config.Skew": 42,
"Config.TimeStep": 42,
"FactorType": "push",
"FriendlyName": "string"
}
{
"account_sid": "string",
"date_created": "2023-05-04T09:42:00+00:00",
"date_updated": "2023-05-04T09:42:00+00:00",
"entity_sid": "string",
"factor_type": "push",
"friendly_name": "string",
"identity": "string",
"service_sid": "string",
"sid": "string",
"status": "unverified",
"url": "https://example.com"
}
{
"account_sid": "string",
"date_created": "2025-05-04T09:42:00Z",
"date_updated": "2025-05-04T09:42:00Z",
"entity_sid": "string",
"factor_type": "push",
"friendly_name": "string",
"identity": null,
"service_sid": "string",
"sid": "string",
"status": "unverified",
"url": "https://example.com"
}