Make your first API call
Verify a credential, find a branch you can access, and read its queue. You need access to API credentials in the management console and a terminal with cURL. These examples use placeholders; they do not contain working secrets.
1. Issue a credential
In API credentials, issue a credential with a descriptive label and an expiry date. For this walkthrough, select queue:read. Copy the secret before closing the dialog — it is shown only once.
An organisation admin can access every branch. A location manager can access their assigned branches. Scopes narrow that access; they never extend it. Credential lifecycle and permissions.
2. Set your workspace and credential
Replace the host with your workspace address. Use the origin only, without a console path such as /ta or /m and without a trailing slash.
export QMS_BASE_URL='https://your-tenant.example.com'
read -r -s -p 'API credential: ' QMS_API_KEY; printf '\n'
export QMS_API_KEYThe credential prompt above is for Bash and keeps the secret out of shell history.
3. Verify access
curl --request GET "$QMS_BASE_URL/api/integration/v1/whoami" \
--header "Authorization: Api-Key $QMS_API_KEY"A successful request returns 200 and describes your credential. For example:
{
"tenantId": "11111111-1111-4111-8111-111111111111",
"tenantSubdomain": "your-tenant",
"userId": "44444444-4444-4444-8444-444444444444",
"credentialId": "55555555-5555-4555-8555-555555555555",
"label": "Lobby display integration",
"displayPrefix": "qms_EXAMPLEE",
"expiresAt": "2027-01-31T09:00:00.000Z",
"managementLevel": "LOCATION_MANAGER",
"scopes": ["queue:read"],
"locationIds": ["22222222-2222-4222-8222-222222222222"]
}Your values will differ. Take a branch ID from locationIds in your own response. An empty array means this credential currently reaches no branch; ask your organisation administrator to check the issuer's assignments.
4. Read that branch's queue
Replace the example value with the branch ID you just received:
export QMS_LOCATION_ID='22222222-2222-4222-8222-222222222222'
curl --request GET "$QMS_BASE_URL/api/integration/v1/locations/$QMS_LOCATION_ID/queue" \
--header "Authorization: Api-Key $QMS_API_KEY"A 200 response contains location, serving, waiting, and asOf. An empty queue is a valid result. See the queue operation for a complete response example and field definitions.
If the request fails
| Result | What to check |
|---|---|
| 401 | Workspace host, the Api-Key prefix, and whether the credential is expired or revoked. |
| 403 | The response code: insufficient_scope means the selected scopes do not permit the operation; insufficient_authority means the issuer's role does not permit it. |
| 404 | Use an ID returned by your own credential; an inaccessible branch also returns 404. |
For automated handling, branch on the problem document's code, rather than its English detail. Error format.
Next steps
- Browse all API operations.
- Read a single ticket.
- Create a location with an organisation-admin credential carrying
locations:write. - Plan credential rotation.