curl --request POST \
--url https://{issuer}/step-up/ \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"action": "payout",
"amount": "900.00",
"currency": "USD",
"return_to": "https://app.example.com/payouts/confirm"
}
'{
"required": false
}Create Step-Up | Didit Authentication API
POST /step-up/ applies your step-up rules before a sensitive action. It returns required false, or a verification URL for the person.
curl --request POST \
--url https://{issuer}/step-up/ \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"action": "payout",
"amount": "900.00",
"currency": "USD",
"return_to": "https://app.example.com/payouts/confirm"
}
'{
"required": false
}https://<name>.auth.didit.me, and never take your Didit API key.step_up and status query parameters on your return_to only tell your application to look. Before you act, read the step-up with Get a step-up and continue only when status is approved.Authorizations
The person's access token from POST /token/: an ES256 JWT with header typ: at+jwt, valid for at most 5 minutes. Not your Didit API key.
Body
The sensitive action the person is about to take.
payout (a withdrawal or transfer), bank (adding or changing a bank account) or contact (changing an email or phone number). A payout also applies the new-device rule.
payout, bank, contact Where the person returns after verifying, with step_up=<id>&status=approved added. When a rule applies, it must be one of the application's redirect URIs; when none applies, it is not checked.
2048"https://app.example.com/payouts/confirm"
Required for payout: the amount, up to two decimals. A JSON number is accepted too.
^[0-9]{1,16}(\.[0-9]{1,2})?$"900.00"
ISO 4217 code of amount. Defaults to the payout rule's currency; a payout in another currency is always checked.
^[A-Z]{3}$"USD"
Response
No rule applies.
No rule applies: go ahead with the action.
false