Using the API - Authentication
Signify’s API uses Bearer Token authentication.
- Send credentials (username, password, clientId) to:
POSTEnd point: https://{domain}/api/identity/v1/CreateUserAccessToken -
Run the cURL command (replace the values as needed):
curl --request POST \ --url https://live.signifyhr.co.za/api/identity/v1/CreateUserAccessToken \ --header 'Content-Type: application/json' \ --cookie .AspNetCore.Antiforgery.3CuCAIFqZrU=YOUR_ANTIFORGERY_COOKIE \ --data '{"username":"YOUR_USERNAME","password":"YOUR_PASSWORD","clientId":"YOUR_CLIENT_ID","skipRulesetActiveCheck":false}'
- The call to CreateUserAccessToken returns a JSON response with an accessToken field in the
formatBearer eyJhbGciOi... Thisformattoken is valid for 24 hours and must be included in theAuthorizationheader of all subsequent API requests.
{
"clientId": "",
"accessToken": "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
}
- Common HTTP response codes from CreateUserAccessToken
| Status Code | Meaning |
|---|---|
| 200 | Success |
| 400 | Bad request (invalid payload) |
| 401 |
USAGE EXAMPLE
See Powershellthe PowerShell example below to generate a token and use it in a subsequent API call
- Generate an 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
installedinstalled, 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
Alternatively, do an API call to with the generated Bearer Token, e.g.
curl --request POST \
--url https://live.signifyhr.co.za/api/jobprofilerapi/v1/ListUsersExport \
--header 'Authorization: Bearer eyJhbGciOiJSU0EtT0FFUCIsImVuYy' \
--header 'Content-Type: application/json' \
--cookie .AspNetCore.Antiforgery.3CuCAIFqZrU=CfDJ8Hi8OnAP6ORHszWOQew53ZOflprtx-Z7uZWkSEuz9GCof6HofABpqxhDQ44OMf0jhUtql92Qi52mQ5RMyz2B1WWnfCh_UT3sqdirlIE7tVAWNrCMktPKz-45rJPgrDPGB08daEeRo8ZarHwr4nLT_wI \
--data '{"usernames":[]}'