The challenge object
Attributes
id string
The unique identifier of the challenge.
user object
The user being challenged
user.id string
The unique identifier of the user.
user.external_id string
The external identifier of the account associated with the challenge.
user.email string
The obfuscated email of the user who is challenged.
user.phone string
The obfuscated phone number of the user who is challenged.
limit object
The challenge limit state is a representation of a users attached devices relative to the the project environment settings.
limit.is_exceeded boolean
Whether the challenge currently satisfies the device limit conditions. is_exceeded should be false before completing the challenge.
limit.overall number
The overall number of devices required to be kicked to satisfy the challenge conditions. See the kick a challenge device endpoint for more information.
limit.mobile number
The number of mobile devices required to be kicked to satisfy the challenge conditions. See the kick a challenge device endpoint for more information.
limit.tablet number
The number of tablet devices required to be kicked to satisfy the challenge conditions. See the kick a challenge device endpoint for more information.
limit.desktop number
The number of desktop devices required to be kicked to satisfy the challenge conditions. See the kick a challenge device endpoint for more information.
status enum
One of initiated, pending, delivered, delivery_failed, delivery_delayed, bounced, verified, failed, overridden, postponed, completed, admin_notified, skipped. Describes the current status of the challenge.
initiated
The challenge has been initiated.
pending
The challenge is pending verification.
delivered
The challenge has been delivered.
delivery_failed
The challenge delivery has failed.
delivery_delayed
The challenge delivery has been delayed.
bounced
The challenge delivery has bounced.
verified
The challenge has been verified.
failed
The challenge has failed.
overridden
The challenge has been overridden.
postponed
The challenge has been postponed.
completed
The challenge has been completed.
admin_notified
The admin has been notified.
skipped
The challenge has been skipped.
reasons string[]
The reasons the challenge was initiated.
limit_exceeded
The user has exceeded the device limit.
concurrency
The user has exceeded the device concurrency limit.
impossible_travel
The user has traveled an impossible distance in a short period of time.
new_fingerprint
The user has a new device fingerprint.
new_ip
The user has a new IP address.
invalid_email
The user has an invalid email address.
disposable_email
The user has used a disposable email address.
webmail_email
The user has used a webmail email address.
accept_all_emails
The users email domain is a catch-all email domain.
multi_accounting
The user has multiple accounts on the project.
channels string[]
The channels the verification code was sent to. channels is an array of email and text in the order they were sent.
createdAt date
The date and time the challenge was created.
updatedAt date
The date and time the challenge was updated.
{
"_id": "649873be6e8b6f9b33722a0c",
"user": {
"_id": "649873be6e8b6f9b33722a0c",
"external_id": "external_account_id",
"email": "ab*****@rupt.dev",
"phone": "******34",
},
"status": "pending",
"reasons": ["limit_exceeded", "concurrency"],
"channels": ["text", "email"],
"createdAt": "2021-09-01T00:00:00.000Z",
"updatedAt": "2021-09-01T00:00:00.000Z"
}