Getting Started
First API response in under 10 minutes. This guide covers authentication and a minimal call using the M2M flow (client credentials / B2B).
Prerequisites
- Client ID and Client Secret — issued by your BeTalent administrator
- Tenant ID — UUID identifying your organization
- Cognito Token URL — provided by your BeTalent administrator
Step 1 — Obtain a JWT Token
curl -X POST "<COGNITO_TOKEN_URL>" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "grant_type=client_credentials&client_id=<CLIENT_ID>&client_secret=<CLIENT_SECRET>"
{
"access_token": "eyJ...",
"token_type": "Bearer",
"expires_in": 28800
}
The token is valid for 8 hours. Reuse it for all subsequent requests.
Step 2 — Analyze a CV (Screen)
The flow is asynchronous: upload the CV and retrieve the result via invocationId.
Upload the CV
curl -X POST "<API_BASE_URL>/cv-screening/upload/" \
-H "Authorization: Bearer <ACCESS_TOKEN>" \
-F "file=@cv.pdf" \
-F "tenantId=<TENANT_ID>"
{ "invocationId": "abc-123-..." }
Retrieve the Result
curl -X GET "<API_BASE_URL>/cv-screening/profiles/?invocationId=<INVOCATION_ID>" \
-H "Authorization: Bearer <ACCESS_TOKEN>" \
-H "tenantId: <TENANT_ID>"
Repeat the call until the response contains the structured profile.
Step 3 — Find Profiles for a Position (Match)
The Match flow is synchronous: send the criteria and receive ranked profiles immediately.
curl -X GET "<API_BASE_URL>/direct-search" \
-H "Authorization: Bearer <ACCESS_TOKEN>" \
-G \
--data-urlencode "tenantId=<TENANT_ID>" \
--data-urlencode "query=<JOB_DESCRIPTION>" \
--data-urlencode "scoresOrder=DESC"
{
"profiles": [
{ "id": "...", "score": 0.97, "name": "..." }
]
}
Next Steps
- Authentication — token lifecycle, SSO, RBAC
- Screen API — async flow, data model
- Match API — sync flow, query parameters
- API Reference — full endpoint specification