Using the API - Authentication
Signify’s API uses Bearer Token authentication.
- Send credentials (username, password, clientId) to:
POST /identity/v1/CreateUserAccessToken - The call to CreateUserAccessToken returns an accessToken in the format Bearer eyJhbGciOi...
- This token is valid for 24 hours and must be included in the Authorization header of all subsequent API requests.
- Example response from CreateUserAccessToken
{
"clientId": "",
"accessToken": "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
}
- Common HTTP response codes from CreateUserAccessToken
| Status Code | Meaning |
|---|---|
| 200 | Success |
| 400 | Bad request (invalid payload) |
| 401 | Unauthorized (invalid/expired token) |
USAGE EXAMPLE
See Powershell example below to generate token and use it in a subsequent API call
- Generate access token
- {username} - Signify supplied username
- {password} - Signify supplied password
- {clientId} - a unique GUID identifying the ruleset you are logging into
- {apiendpoint} - the endpoint where the system is installed e.g. https://uat.signifyhr.co.za/api
- Example calling ListUsersExport
- accessToken is the bearer token and contains "Bearer {token}"
# generate access token
$headers = @{
"Content-Type" = "application/json"
}
$body = @{
username = "{username}"
password = "{password}"
clientId = "{clientId}"
} | ConvertTo-Json
$tokenResponse = Invoke-RestMethod `
-Uri "{apiendpoint}/identity/v1/CreateUserAccessToken" `
-Method POST `
-Headers $headers `
-Body $body
# Example usage calling ListUsersExport
$headers = @{
Authorization = "$($tokenResponse.accessToken)"
"Content-Type" = "application/json"
}
$body = @{
usernames = @()
} | ConvertTo-Json -Depth 3
$response = Invoke-RestMethod `
-Uri "{apiendpoint}/jobprofilerapi/v1/ListUsersExport" `
-Method POST `
-Headers $headers `
-Body $body
$users = $response.users | ConvertTo-Json -Depth 10