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 |
CREATE_ASSESSMENT_SESSION | Create a hosted assessment creation session |
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
certification webhooks or assessment webhooks.
Webhook domain allowlist
Independent of allowedHosts (which restricts who can use your API key), your organisation can
optionally restrict which hostnames a callbackUrl webhook is allowed to target - for both certification
invites and assessment assignments. This is configured on the Developer page in the dashboard by an
org admin (not settable via the API itself), under "Allowed Webhook Domains".
- With no domains configured, any HTTPS
callbackUrlis accepted - this is the default, matching prior behavior. - Once you add one or more domains, only
callbackUrls whose exact hostname matches an entry in the list are accepted; anything else is rejected withBAD_USER_INPUTat invite/assignment time (not at delivery time). Matching is exact hostname only - no wildcard subdomains.