---
title: "Extract Competencies"
method: POST
path: "/api/job-roles/extract-competencies"
tags: ["Job Roles"]
---

# Extract Competencies

`POST /api/job-roles/extract-competencies`

## Request

- Base URL: `https://api.thebetterhire.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api.thebetterhire.ai/api/job-roles/extract-competencies`
- Auth: HTTP bearer

Extract competencies from JD text or file using AI

Provide either jd_text OR job_role_id (to extract from uploaded file)
Requires: admin or recruiter role

## Request body

- ExtractCompetenciesRequest: Request to extract competencies from JD
  - `jd_text` string, nullable
  - `job_role_id` string, nullable
  - `job_title` string, nullable

## Response `200`

Successful Response

- ExtractCompetenciesResponse: Response with extracted competencies
  - `success` boolean, required
  - `competencies` CompetencyItem[], required
    - `name` string, required
    - `description` string, required
    - `importance` integer, required
    - `evaluation_criteria` string, nullable
  - `message` string, nullable
  - `jd_text` string, nullable

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/thebetterhire/apis/interanalysis-b2b-api.md) · [All operations](https://skmtc.dev/thebetterhire/apis/interanalysis-b2b-api/llms.txt) · [OpenAPI document](https://skmtc.dev/thebetterhire/apis/interanalysis-b2b-api/revisions/c8ad03e900ea?raw)
