JD to Filters
## JD to Filters
Analyzes a job description (JD) text and extracts structured sourcing filters (annotations) that can be used to search and match candidate profiles.
---
## Request
**Method:** `POST`
**URL:** `{{BASE_URL}}/api/v1/wl/sourcing-session/get-annotation`
### Headers
| Key | Value |
| --- | --- |
| `Authorization` | `{{FJ_API_KEY}}` |
| `Content-Type` | `application/json` |
### Request Body
Sent as raw JSON.
| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `userText` | `string` | Yes | The full job description text to be analyzed. The API parses this to extract relevant sourcing filters such as industry, skills, experience level, and education. |
| `linkedin_profile_url` | `string` | No | Optional LinkedIn profile URL. Can be provided to further refine or contextualize the annotation. Pass an empty string if not applicable. |
**Example Body:**
``` json
{
"userText": "Looking for a .NET Developer with 3–7 years of experience in building scalable backend systems, preferably in the fintech domain...",
"linkedin_profile_url": ""
}
```
---
## Response
**Status:** `200 OK`
Returns a JSON object where each key represents a candidate profile field (e.g., `all_employers.company_industries`, `education_background.degree_name`). Each field contains:
| Property | Type | Description |
| --- | --- | --- |
| `presence` | `boolean` | Indicates whether this filter should be actively applied when sourcing candidates. |
| `value` | `array` | The extracted values for this filter. May contain `null` if no relevant value was found. |
**Example Response:**
``` json
{
"all_employers.company_industries": {
"presence": true,
"value": ["Information Services", "Technology, Information and Internet", "Financial Services", "Software Development"]
},
"education_background.degree_name": {
"presence": false,
"value": [null]
}
}
```
Authentication
x-fj-api-keystring
API Key authentication via header
Request
This endpoint expects an object.
userText
linkedin_profile_url
Response headers
X-Powered-By
X-Request-Id
Access-Control-Allow-Credentials
RateLimit-Policy
RateLimit-Limit
RateLimit-Remaining
RateLimit-Reset
ETag
Response
OK
statusCode
data
message
status