Skip to main content

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