---
title: "POST /candidates/{candidate_pk}/skills/bulk/"
method: POST
path: "/candidates/{candidate_pk}/skills/bulk/"
tags: ["candidates"]
---

# POST /candidates/{candidate_pk}/skills/bulk/

`POST /candidates/{candidate_pk}/skills/bulk/`

Accepts up to 100 skills. Unknown, unauthorized, or duplicate skills are skipped.
Returns only the skills that were created.

## Request body

- object
  - `skills` object[], required
    - `skill_name` string, required
    - `score` integer

## Response `201`

- object[]
  - `id` integer
  - `skill` integer — ID of an existing skill to associate with the candidate
  - `skill_name` string — Name of an existing skill to associate with the candidate
  - `score` integer
  - `source` 'form' | 'linkedin_extension' | 'resume_sovren' | 'resume_parsy' | 'resume_mcp' | 'file_import' | 'openapi', nullable
  - `created_at` string, date-time
  - `updated_at` string, date-time

## Other responses

- `400` — {'detail': 'Bad request.'}
- `404` — {'detail': 'Not found.'}
- `409`

---

[API](https://skmtc.net/manatal/apis/manatal-career-page-api.md) · [All operations](https://skmtc.net/manatal/apis/manatal-career-page-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/manatal/manatal-career-page-api/revisions/59053f2da83c/schema)
