02 / SKILLS

Skill Matching

Match free-text skills against the reference catalog and retrieve the closest normalized skills, domains, and subcategories.

Endpoints

2

Input

JSON

Batch size

100 skills

Reference

Endpoints

2 endpoints
01

Endpoint

List the skill catalog

Retrieve the currently loaded skill reference catalog.

GET/api/v1/skills

Request

Content-Typeapplication/json

No body parameters.

Errors

401

Missing or invalid API key. The public façade returns { error: "Missing API Key" } or { error: "Invalid API Key" }; direct HireLayer returns { success: false, error: "Unauthorized. Valid API key required." } when API_KEY is configured.

400

The request body is missing or invalid.

404

The requested endpoint does not exist.

502

Bedrock failed or returned an invalid response.

500

Unexpected server-side failure.

Example request

Request example
curl https://onlineresumeparser.com/api/v1/skills \
  -H "X-API-Key: YOUR_API_KEY"

Response

Each catalog item includes the normalized skill label, its domain, subcategory, and rank. total_skills is the number of catalog entries loaded at startup and may be limited by TOP_N_SKILLS (0 loads the full catalog).

{
  "total_skills": 664,
  "skills": [
    {
      "skill": "TypeScript",
      "domain": "Engineering",
      "subcategory": "Web",
      "rank": 1
    },
    {
      "skill": "Python",
      "domain": "Engineering",
      "subcategory": "Programming languages",
      "rank": 2
    },
    {
      "skill": "React",
      "domain": "Engineering",
      "subcategory": "Frontend",
      "rank": 3
    },
    {
      "skill": "Project management",
      "domain": "Management",
      "subcategory": "Delivery",
      "rank": 4
    }
  ]
}
02

Endpoint

Match one or many skills

Find the closest catalog skills for one query or a batch of queries.

POST/api/v1/skills/match

Request

Content-Typeapplication/json
skill
stringoptional

One free-text skill. Use this or skills, never both. Default top_k: 5.

skills
arrayoptional

Non-empty batch of up to 100 values. Each value is converted to a string. Use this or skill, never both. Default top_k: 3.

top_k
integeroptional

Number of matches to return, from 1 to 50.

Errors

401

Missing or invalid API key. The public façade returns { error: "Missing API Key" } or { error: "Invalid API Key" }; direct HireLayer returns { success: false, error: "Unauthorized. Valid API key required." } when API_KEY is configured.

400

The request body is missing or invalid.

404

The requested endpoint does not exist.

502

Bedrock failed or returned an invalid response.

500

Unexpected server-side failure.

Example request

Request example
curl -X POST https://onlineresumeparser.com/api/v1/skills/match \
  -H "Content-Type: application/json" \
  -H "X-API-Key: YOUR_API_KEY" \
  -d '{"skill":"web development","top_k":5}'

Response

A single query returns query_skill, total_results, and results. A batch request returns total_queries, successful_matches, and one result object per input skill; each result includes query_skill, success, and either results or error.

{
  "query_skill": "web development",
  "total_results": 3,
  "results": [
    {
      "rank": 1,
      "skill": "Web development",
      "similarity_score": 0.96,
      "domain": "Engineering",
      "subcategory": "Web"
    },
    {
      "rank": 2,
      "skill": "Web application development",
      "similarity_score": 0.91,
      "domain": "Engineering",
      "subcategory": "Web"
    },
    {
      "rank": 3,
      "skill": "Frontend development",
      "similarity_score": 0.86,
      "domain": "Engineering",
      "subcategory": "Frontend"
    }
  ]
}
Implementation notes. top_k is an integer from 1 to 50; defaults to 5 for skill and 3 for skills. Batch requests accept 1 to 100 values. Values are converted to strings; an empty string produces a per-query error. Do not send skill and skills together. A request must include one of them. The single-skill response has total_results and results; the batch response has total_queries, successful_matches, and results containing { query_skill, success, results } or { query_skill, success, error }. Extra fields are ignored by this endpoint. Invalid top_k, a missing selector, or an empty single skill returns HTTP 400.