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.
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"],
"createdAt": "2021-09-01T00:00:00.000Z",
"updatedAt": "2021-09-01T00:00:00.000Z"
}