POST /session/start
Content
Overview
The Session Start API opens a user session. This API is a bit of a unique case with regards to all Process-specific APIs. Whereas the POST /process/start/{processName}invokes most Processes, and optionally accepts no payload, Session Start starts the Authenticate User Process and accepts a mandatory payload.
API URL
- POST /session/start
Input Parameters
As you might expect, this API requires two key items: an authnIdentifier and credential.
authnIdentifier
Authentication identifiers (or authN IDs) are commonly known as "usernames." Every ULM User ID requires at least one verifiable authN ID, either an email address or mobile number.
Note: ULM Cloud also supports a non-verifiable authN ID known as an alias that a user can add to their User ID with the Add/Update Email, Mobile, or Alias Process. Users can then use their alias for authentication purposes instead of their email or mobile. However, the User must still have at least one verifiable email or mobile authN ID.
credential
Credential is commonly known as "password."
Note on Password Rules: Whereas all ULM User IDs require at least one verifiable authN ID, ULM Cloud supports passwordless user creation and authentication options with the Onboard and Authenticate User with Social Account Process. However, an existing user without a password cannot dissociate their user ID.
Response Parameters
If successful, ULM Cloud will open a user session, and return the following data:
{ "processId": "eec918ff-5db4-4fee-a601-5ff76a099c8e", "lastStep": true, "runtimeId": 229, "userId": 1, "userAuthenticated": true }
Parameter | Description |
---|---|
processId | Unique identifier for the current instance of this Process. The client application UI must provide this ID in every subsequent PUT /process/steprequest in order to continue and complete the Process. |
lastStep | Boolean that indicates whether or not this was the last step in the Process. |
runtimeId | Identifier of the a runtime currently associated to the User ID. |
userAuthenticated | Boolean that confirms that the Process / API has authenticated the user. |
userId | The unique identifier of the ULM User entity. Depending on the nature of the client application, you may want to leverage the userId in a GET user/{userId} API so as to retrieve and load up any pertinent ULM User details. |
Error Codes
See Common Process Error Codes for more information. Individual Process topics also contain examples of error scenarios.
Process Specific Error Codes
HTTP Status | Type | ULM Error Code | Description |
---|---|---|---|
401 | operation error | user-profile-locked | The user's profiles is locked. |
401 | operation error | authentication-required | One or more of the following is true: - Authentication identifier is not valid. - Credential (password) is not valid. - User not found. - reCAPTCHA verification code is not valid. |
401 | operation error | user-activating | The authentication identifier provided is in activating status, and the process is not configured to allow authentication via activating authentication identifiers. |
401 | operation error | invalid-code | The process prompted for a 2FA code, but the code provided was invalid. |
Revision History
Version | Description |
---|---|
2020.09 | Added this topic. |