OneTimeToken
A strong customer authentication check: a device fingerprint, PIN or facemap.
Operations
Every route this entity exposes. Each route links to its own reference on this page.
| Method | Route | SDK operation | Returns |
|---|---|---|---|
POST |
/profiles/{profileId}/device-fingerprints/verify |
create |
The device fingerprint has been successfully verified |
POST |
/profiles/{profileId}/pin/verify |
create |
The PIN has been successfully verified |
POST |
/profiles/{profileId}/facemaps/verify |
create |
The facemap has been successfully verified |
Examples
One example per SDK, generated from the API model. The argument names are the parameters and fields of this entity, and the values are placeholders. The examples are not compiled or executed.
Golang
Construct client as shown in the Golang setup, then call the operations:
created, err := client.OneTimeToken(nil).Create(map[string]any{"profile_id": 1}, nil)
if err != nil {
panic(err)
}
fmt.Println(created)
Lua
Construct client as shown in the Lua setup, then call the operations:
local created, err = client:OneTimeToken():create({ profile_id = 1 })
PHP
Construct client as shown in the PHP setup, then call the operations:
$created = $client->OneTimeToken()->create(["profile_id" => 1]);
Python
Construct client as shown in the Python setup, then call the operations:
created = client.OneTimeToken().create({ "profile_id": 1 })
Ruby
Construct client as shown in the Ruby setup, then call the operations:
created = client.OneTimeToken.create({ "profile_id" => 1 })
TypeScript
Construct client as shown in the TypeScript setup, then call the operations:
const created = await client.OneTimeToken().create({ profile_id: 1 })
Fields
| Field | Type | Required | Description |
|---|---|---|---|
challenges |
array |
No | An array of challenges. |
faceMap |
string |
No | A base64 encoded string. |
oneTimeToken |
string |
No | A one-time token unique identifier. |
validity |
integer |
No | The One-Time Token expiration in seconds. |
create
POST /profiles/{profileId}/device-fingerprints/verify
Operation ID: scaDeviceFingerprintVerify.
Authentication: bearer token (UserToken).
Parameters
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
profileId |
path |
integer (int64) |
Yes | The profile ID. |
One-Time-Token |
header |
string (uuid) |
Yes | A one-time token unique identifier. |
Accept-Encoding |
header |
string |
Yes | |
Content-Encoding |
header |
string |
Yes | |
X-tw-jose-method |
header |
string |
Yes | |
X-External-Correlation-Id |
header |
string (uuid) |
No | Optional UUID for correlating requests across systems. If provided, Wise echoes it back in the response. Maximum 36 characters. Learn more. |
Request body
application/jose+json
The request body is string.
Example request body:
"<JWE encrypted string>"
Responses
200: The device fingerprint has been successfully verified
application/json
| Property | Type | Required | Description |
|---|---|---|---|
challenges |
array of object |
No | An array of challenges. |
challenges[].passed |
boolean |
No | The status of a challenge. |
challenges[].primaryChallenge |
object |
No | |
challenges[].primaryChallenge.type |
string |
No | A type of challenge. |
oneTimeToken |
string (uuid) |
No | A one-time token unique identifier. |
validity |
integer |
No | The One-Time Token expiration in seconds. |
400: The device fingerprint verification failed
404: The device fingerprint was not found
429: Rate limit exceeded. Retry after the number of seconds specified in the Retry-After header
application/json
The response is object.
POST /profiles/{profileId}/pin/verify
Operation ID: scaPinVerify.
Authentication: bearer token (UserToken).
Parameters
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
profileId |
path |
integer (int64) |
Yes | The profile ID. |
One-Time-Token |
header |
string (uuid) |
Yes | A one-time token unique identifier. |
Accept-Encoding |
header |
string |
Yes | |
Content-Encoding |
header |
string |
Yes | |
X-tw-jose-method |
header |
string |
Yes | |
X-External-Correlation-Id |
header |
string (uuid) |
No | Optional UUID for correlating requests across systems. If provided, Wise echoes it back in the response. Maximum 36 characters. Learn more. |
Request body
application/jose+json
The request body is string.
Example request body:
"<JWE encrypted string>"
Responses
200: The PIN has been successfully verified
application/json
| Property | Type | Required | Description |
|---|---|---|---|
challenges |
array of object |
No | An array of challenges. |
challenges[].passed |
boolean |
No | The status of a challenge. |
challenges[].primaryChallenge |
object |
No | |
challenges[].primaryChallenge.type |
string |
No | A type of challenge. |
oneTimeToken |
string (uuid) |
No | A one-time token unique identifier. |
validity |
integer |
No | The One-Time Token expiration in seconds. |
400: The PIN verification failed or PIN was blocked
404: The PIN was not found or has not been set up
429: Rate limit exceeded. Retry after the number of seconds specified in the Retry-After header
application/json
The response is object.
POST /profiles/{profileId}/facemaps/verify
Operation ID: scaFacemapVerify.
Authentication: bearer token (UserToken).
Parameters
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
profileId |
path |
integer (int64) |
Yes | The profile ID. |
One-Time-Token |
header |
string (uuid) |
Yes | A one-time token unique identifier. |
X-External-Correlation-Id |
header |
string (uuid) |
No | Optional UUID for correlating requests across systems. If provided, Wise echoes it back in the response. Maximum 36 characters. Learn more. |
Request body
application/json
| Property | Type | Required | Description |
|---|---|---|---|
faceMap |
string |
No | A base64 encoded string. |
Example request body:
{
"faceMap": "<base64 encoded string>"
}
Responses
200: The facemap has been successfully verified
application/json
| Property | Type | Required | Description |
|---|---|---|---|
challenges |
array of object |
No | An array of challenges. |
challenges[].passed |
boolean |
No | The status of a challenge. |
challenges[].primaryChallenge |
object |
No | |
challenges[].primaryChallenge.type |
string |
No | A type of challenge. |
oneTimeToken |
string (uuid) |
No | A one-time token unique identifier. |
validity |
integer |
No | The One-Time Token expiration in seconds. |
400: The facemap verification failed
429: Rate limit exceeded. Retry after the number of seconds specified in the Retry-After header
application/json
The response is object.