Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

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."
                                 }

  • 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."
                                 }

  • 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": ...}
    MFA recovery | switchable, depends on MFA 
    •  

      requestBody: {
                                "destination": "EMAIL/PHONE_NUMBER",
                                "processingId": UUID
                              }
      responseBody: {
                                   "destination": "email/phoneNumber",
                                   "expiration": "30min."
                                 }

  • 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 " + responseBodyget email/phone number OTT for changing user key

      requestBody: {
                                "destination": ..., "expiration": UUID}
    Registration
    • 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."
                                 }

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"
                                 }

  • 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": ...}
    Anti-phising code | switchable, depends on anti-phishing
    • "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."
                                 }