Authentication
API keys, scopes, and optional host/header restrictions.
API keys
Every request is authenticated with an API key, sent as a header:
x-api-key: sk_scout_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
content-type: application/jsonKeys are created and revoked by an administrator from your organisation's Developer page in the Scout Select dashboard. The plaintext key is shown exactly once at creation time - only a prefix and last 4 characters are stored and displayed afterwards, so save it somewhere safe immediately.
A key can optionally have:
- An expiry date (
expiresAt) - after which requests using it are rejected. - Allowed hosts (
allowedHosts) - if set, the key only works when the request'sHostheader matches one of them (Scout Select's own domains are always implicitly allowed). - Required headers (
requiredHeaders) - additional header names that must be present (non-empty) on every request using this key, for partners who want an extra shared-secret check on top of the API key itself.
If a key is invalid, revoked, expired, or a host/header requirement isn't met, the request is treated as unauthenticated.
Scopes
Each key is issued with one or more scopes. A request fails if the operation it calls needs a scope the key doesn't have.
| Scope | Grants |
|---|---|
CERTIFICATION_CATALOG_READ | Read the certification skill/level catalog |
CERTIFICATION_INVITE_CREATE | Create certification invites |
CERTIFICATION_RESULT_READ | Read certification results |
SEARCH_CANDIDATES | Search existing candidates |
CREATE_CANDIDATE | Create a new candidate |
READ_CANDIDATE | Read a candidate record |
SEARCH_ASSESSMENTS | Search your organisation's assessments |
ASSIGN_CANDIDATE_TO_ASSESSMENT | Assign a candidate to an assessment |
GET_REPORT_STATUS | Read assessment report/session status |
Webhook signing secret
If you create a key with the intent to use callbacks, a plaintextWebhookSigningSecret is also returned
once at creation time. Use it to verify the X-Scout-Signature header on incoming callbacks - see
Webhooks.