Last Modified January 26, 2021

Licenses Password Recovery

  1. API Request
  2. API Response
  3. Request Examples
  4. Response Examples

 

Use the Licenses Password API's to allow the following:

  • for Single-User Licenses:
    • initiate the License Password Recovery process (see below)
  • for Multi-User and Floating Licenses:
    • initiate the License Password Recovery process (see below)
    • initiate the License Admin Password Recovery process (see below)

When the Password Recovery process is initiated:

  • a Password Reset Code is generated and:
    • if SendDnaEmail=true, software_DNA sends a Custom Email to the <Activation Email> with the Password Reset Code
    • if SendDnaEmail=false, the Password Reset Code is included in the API Response for you to communicate to the End-User, and no email will be sent by software_DNA
  • the End-User can then provide the Password Reset Code and a <New Password> and update their password

HTTP Verb Element Syntax
POST URL https://api.softworkz.com/v1/Licenses/<productId>/<licenseId>/passrecovery
Body
{
    "UserIp":"<userIp>",
    "Test":<Test>,
    "SendDnaEmail":<SendDnaEmail>
}
                                    

Creates a Password Reset Code and:

  • if SendDnaEmail=true, software_DNA sends a Custom Email to the <Activation Email> with the Password Reset Code
  • if SendDnaEmail=false, the Password Reset Code is included in the API Response for you to communicate to the End-User, and no email will be sent by software_DNA

You must provide the End User IP Address. The IP Address is used to protect your implementation and this API from abuse and is only used to manage the IP Lockout feature of this API. The IP Lockout will be triggered after multiple invalid attempts in a given period, and a set cooling period will be enacted. Both are system-wide settings.

POST URL https://api.softworkz.com/v1/Licenses/<productId>/<licenseId>/admin/passrecovery
Body
{
    "UserIp":"<userIp>",
    "Test":<Test>,
    "SendDnaEmail":<SendDnaEmail>
}
                                    

Creates a Admin Password Reset Code and:

  • if SendDnaEmail=true, software_DNA sends a Custom Email to the <Activation Email> with the Admin Password Reset Code
  • if SendDnaEmail=false, the Admin Password Reset Code is included in the API Response for you to communicate to the End-User, and no email will be sent by software_DNA

You must provide the End User IP Address. The IP Address is used to protect your implementation and this API from abuse and is only used to manage the IP Lockout feature of this API. The IP Lockout will be triggered after multiple invalid attempts in a given period, and a set cooling period will be enacted. Both are system-wide settings.

Where:

Parameter Type Value Required Default
<productId> string the DNA ProductID Yes  
<licenseId> string the License Activation Code Yes  
<userIp> string the User's IP Address, for protection against end-user abuse Yes  
<Test> bool if true, this is a Test Event No false
<SendDnaEmail> bool if true, software_DNA will send Custom Emails to the old and new Email addresses to notify User of the change to the License Email No true

 

API Response

Success HTTP Status Code Description
200 OK The Password Reset Code or the Admin Password Reset Code is provided in the API Response because SendDnaEmail = false
204 No Content The Password Reset Code or the Admin Password Reset Code was sent to the <Activation Email> because SendDnaEmail = true
Error HTTP Status Code Description
400 Bad Request one of the parameters was invalid or missing - check error message in Response for details
401 Unauthorized Basic Authentication failed - verify that you are using the correct <clientId> and <apiKey> information in the Basic Authentication Header
404 Not Found The <productId> and/or the <licenseId> was not found
409 Conflict A Test Event for an ACTIVE Product was received succesfully - but the Password Recovery process was not started, and no Password Reset Code was provided.
429 Too Many Requests You have exceeded the allowed maximum of API Requests in the period - check "X-RateLimit-Reset" for the number of seconds remaining before reset
500 Internal Error An error occured on the DNA Server - try again later. Tech Support has been notified

 

Examples of API Requests

POST Licenses Password Recovery example

curl -v -X POST https://api.softworkz.com/v1/licenses/<productId>/TEST12345/passrecovery
-H "Accept: application/json"
-u "<clientId>:<API Key>"
-d ’{"UserIp":"0.0.0.0","SendDnaEmail":false}’
                

 

Example of API Response with Licenses Password Recovery

  • if SendDnaEmail = true, no response body provided
  • if SendDnaEmail = false:
    {
      "PasswordResetCode": "3f21ef6ca1c4ef6b"
    }
                    		

 

Example of API Error Response

{
  "Message": "Invalid ProductId format"
}