×

Session ID authentication is a secure, session-based mechanism that allows a user or system to access Contact Center APIs after a successful login.

When a user logs in through the authentication API, the system generates a Session ID token that uniquely represents that user’s authenticated state. This Session ID must be passed with subsequent API requests until the session expires or the user logs out.


How it works

Login:
The client application calls the login API with valid user credentials and configuration parameters.
The server responds with a SessionId token.

Use Session ID:
For every subsequent API request, the Session ID is included — either in the request header (recommended) or as part of the authentication field in the payload, depending on the API design.

Session Lifecycle:

  • Each Session ID is time-bound and user-specific.
  • A session automatically expires after a configured timeout or explicit logout.
  • On expiry, the client must request a new Session ID via the login API.
POST

<Protocol>://<IP_Domain_Name>:<port>/ameyorestapi/session/userLogin

The following are the POST parameters sent as raw in the Body of the Request:

Parameter Name Type Description
userId string The user’s login ID for the Contact Center dashboard. This uniquely identifies the user within the system.
token string The user’s password or access key associated with the login ID. Used to authenticate the login request.
forceLogin boolean If set to true, the system allows the user to log in even if an active session already exists (used for session recovery or multi-terminal logins).
terminalInfo string Metadata describing the terminal, browser, or device initiating the login (e.g., "Agent Desktop", "Chrome", "WebSDK").
curl --location 'https://cxdemo.ameyo.com:8443/ameyorestapi/session/userLogin' \
--header 'Content-Type: application/json' \
--data '{
"token": "doc_admin",
"userId": "doc_admin",
"forceLogin": true,
"terminalInfo": "test"
}'
{
"userId": "doc_admin",
"terminalInfo": "0.0.0.0",
"sessionId": "d898-690087a3-ses-doc_admin-IYsFDHJigglOzkBdCeNlj8rawGs59rlXT4Y1itYNVETkUAvcQk3JBpDQTA7I5JvQqdL71TOz4h7nRIfKGFbrVlST15rsMfCrNyIpuil3TuY8u8Sggj3k-1373",
"loginTime": 1762734209072,
"userType": "Administrator",
"contactCenterId": 1,
"userName": "doc_admin",
"lastLoginInfo": {
"userId": "doc_admin",
"userName": "doc_admin",
"lastLoginTime": 1762708324129,
"lastLogoutTime": 1762708504129,
"sessionId": "d898-690087a3-ses-doc_admin-v9Z96DIMkpg7xeAuMLTJFTxGzvVmRQMr2RkEsv0dei6tRbjjN9tmuZaCtMap77Ywwwg8eS68FQzuM8d2P1ccEiQpGMOharCwBdMuYGs5BJcOcru5uivR-1349",
"localIp": "0.0.0.0",
"publicIp": null,
"clientType": "java.ui.client",
"clientVersion": "1.0.0",
"browserInfo": null
},
"loginProperties": {},
"passwordStateDetail": {
"passwordValid": true,
"warnUser": false,
"shouldChangePassword": false,
"reason": null
}
}

HTTP Response:

  • On success, the HTTP response status code will be 200.