...
Token API is a special API for requesting and getting one-time tokens for different operations regarding a user's profile.
Unauthorized user
Operations:
- Registration
- api/v1/token/registration/{{processingId}} - registration OTT (email or phone number, depending on which option has been chosen by the user)
responseBody: {
"destination": "email@gmail.com/+123456789",
"expiration": "30min."
}
- api/v1/token/registration/{{processingId}} - registration OTT (email or phone number, depending on which option has been chosen by the user)
- Login | switchable , depends on MFA
- api/v1/token/login - get email/phone number OTT (MFA) – "api/v1/token/login" + requestBody: {"type
requestBody: {
"destination": "EMAIL/PHONE_NUMBER",
"processingId": UUID
}
responseBody: {
"destination": "email/phoneNumber", "processingId": UUID
"expiration": "30min."
}
- api/v1/token/login - get email/phone number OTT (MFA) – "api/v1/token/login" + requestBody: {"type
- Reset password
- api/v1/token/password/recovery - get OTT (email or phone number, depending on which option has been chosen by the user) – "api/v1/token/password/recovery/processingId" + responseBody: {"destination": ..., "expiration": ...}
-
requestBody: {
"destination": "EMAIL/PHONE_NUMBER",
"processingId": UUID
}
responseBody: {
"destination": "email/phoneNumber",
"expiration": "30min."
}
- api/v1/token/password/recovery - get OTT (email or phone number, depending on which option has been chosen by the user) – "api/v1/token/password/recovery/processingId" + responseBody: {"destination": ..., "expiration": ...}
- User key recovery | switchable depends on MFA
- get email/phone number OTT for verification – "api/v1/token/mfauserKeys/recovery/verification " + - get email/phone number OTT for verification + validate if recovered type not passed as OTT
requestBody: {"destination": "email/phoneNumber",
"processingId": UUID} +
}
responseBody: {
"destination": ..., "expiration": UUID} + validate if recovered type not passed as OTTget email/phone number OTT for changing user key – ""email/phoneNumber",
"expiration" "30min.":
} - api/v1/token/mfauserKeys/recovery/newKey " + responseBody- get email/phone number OTT for changing user key
requestBody: {
"destination": ..., "expiration": UUID}
- registration OTT (email or phone number, depending on which option has been chosen by user) – "api/v1/token/registration/processingId" + responseBody: {"destination": ..., "expiration": UUID"email@gmail.com/+123456789",
"processingId": UUID
}
responseBody: {
"expiration": "30min."
}
- get email/phone number OTT for verification – "api/v1/token/mfauserKeys/recovery/verification " + - get email/phone number OTT for verification + validate if recovered type not passed as OTT
Authorized user
Operations:
- Change password
- api/v1/token/password/changing - get OTT (email by default, if there is no email, then phone number) – "api/v1/token/password/changing" +
responseBody: {
"destination": ..., "email@gmail.com/+123456789",
"expiration": UUID"30min"
}
- api/v1/token/password/changing - get OTT (email by default, if there is no email, then phone number) – "api/v1/token/password/changing" +
- User key management (TO BE DISCUSSED)
- api/v1/token/userKeys/adding/email?newEmail=email@email.com - get OTT to add new email
responseBody: {
"expiration": "30min."
}
get OTT passing required operation: change/remove email/phoneNumber – "- api/v1/token/userKeys/adding/phoneNumber?newPhoneNumber=+123456789 - get OTT to add new phone_number
responseBody: {
"expiration": "30min."
}- api/v1/token/userKeys/changing?keyType=EMAIL/PHONE_NUMBER - get OTT to change existing email/phone_number + check if MFA for a chosen key is disabled, if not then firstly user has to disable mfa
responseBody: {
"expiration": "30min."
} - api/v1/token/userKeys/changing/newKey - get OTT for a new email/phone_number to complete the user key changing flow
requestBody: {
"oneTimeToken": "previous step ott",
"newUserKey": "email@gmail.com/+123456789"
}- api/v1/token/userKeys/removing?keyType=EMAIL/PHONE_NUMBER - get OTT to remove user email/phone_number + check if MFA for a chosen key is disabled, if not then firstly user has to disable mfa
responseBody: {
"expiration": "30min."
}
- Anti-phishing code | switchable " + requestBody: {"operation": ..., "userKeyType": ...} + responseBody: {"destination": ..., "expiration": UUID}
- get OTT for new user key – "api/v1/token/newKey" + requestBody: {"destination": ..., "ott": ...} + responseBody: {"destination": ..., "expiration": UUID} add OTT for new user key – "api/v1/token/newKey/adding" + requestBody: {"destination": ...}
- "api/v1/token/antiPhishing/changing" - get OTT to change anti-phishing code (works only through email)
responseBody: {
"expiration": "30min."
} - "api/v1/token/antiPhishing/adding" - get OTT to add anti-phishing code (works only through email)
responseBody: {
"expiration": "30min."
} - Disable MFA MFA | switchable, depends on MFA
- get email/phone number OTT – "api/v1/token/mfa/disabling " + requestBody: {"destination": ...} + reject if destination MFA is disabled- get email/phone number OTT + reject if destination MFA is disabled
requestBody: {
"destination": "EMAIL/PHONE_NUMBER",
}
responseBody: {
"destination": "email/phoneNumber",
"expiration": "30min."
}
- get email/phone number OTT – "api/v1/token/mfa/disabling " + requestBody: {"destination": ...} + reject if destination MFA is disabled- get email/phone number OTT + reject if destination MFA is disabled
Anti-phising code | switchable, depends on anti-phishing