Verify OTP
Verifies that the passed OTP is valid for the user account. In case the OTP is invalid a 404 is returned.
Body
Required
-
one time password
-
the one time password type to validate against. If none provided all default types are checked.
loginlogin otp (created and send via email)accountuser account otp (created on demand via pin / password.)totpuser provided TOTP (authenticator)device-totpdevice TOTP (e.g. PACE Drive App, PACE Car App)
Values are
login,account,totp, ordevice-totp. Default value is["device-totp", "account"].
Responses
-
Valid OTP.
-
OAuth token missing or invalid or a linked identity is missing.
Linked identity missing is a special case where you need to make sure that the user has additionally logged in / authorized with a third-party.
This is not relevant for most use-cases.
The specific error code that identifies a missing linked identity is
missing-linked-identityExample:
{ "errors": [ { "id": "cbgmhslmp1o9or9kh1p0", "title": "Missing linked identity for authorized access", "detail": "Linked identity is needed to access this resource, please check why the user does not have a linked identity", "status": "401", "code": "missing-linked-identity" } ] } -
Resource not found
-
The specified accept header is invalid
-
The specified content type header is invalid
-
The request was well-formed but was unable to be followed due to semantic errors.
-
Internal server error
curl \
--request POST 'https://api.pace.cloud/user/2025-1/user/otp/verify' \
--header "Authorization: Bearer $ACCESS_TOKEN" \
--header "Content-Type: application/json" \
--data '{"otp":"773829","types":["device-totp","account"]}'
{
"otp": "773829",
"types": [
"device-totp",
"account"
]
}
{
"errors": [
{
"id": "string",
"links": {
"about": "string"
},
"status": "string",
"code": "string",
"title": "string",
"detail": "string",
"source": {
"pointer": "string",
"parameter": "string"
},
"meta": {}
}
]
}
{
"errors": [
{
"id": "string",
"links": {
"about": "string"
},
"status": "string",
"code": "string",
"title": "string",
"detail": "string",
"source": {
"pointer": "string",
"parameter": "string"
},
"meta": {}
}
]
}
{
"errors": [
{
"id": "string",
"links": {
"about": "string"
},
"status": "string",
"code": "string",
"title": "string",
"detail": "string",
"source": {
"pointer": "string",
"parameter": "string"
},
"meta": {}
}
]
}
{
"errors": [
{
"id": "string",
"links": {
"about": "string"
},
"status": "string",
"code": "string",
"title": "string",
"detail": "string",
"source": {
"pointer": "string",
"parameter": "string"
},
"meta": {}
}
]
}
{
"errors": [
{
"id": "string",
"links": {
"about": "string"
},
"status": "string",
"code": "string",
"title": "string",
"detail": "string",
"source": {
"pointer": "string",
"parameter": "string"
},
"meta": {}
}
]
}
{
"errors": [
{
"id": "string",
"links": {
"about": "string"
},
"status": "string",
"code": "string",
"title": "string",
"detail": "string",
"source": {
"pointer": "string",
"parameter": "string"
},
"meta": {}
}
]
}