> ## Documentation Index
> Fetch the complete documentation index at: https://docs.dropcv.work/llms.txt
> Use this file to discover all available pages before exploring further.

# candidate_update

> 按 candidate_id partial update 候选人字段。

`candidate_update` 修改候选人的允许字段。只传你要改的字段，未传的不变。

## 参数

| 字段             | 类型     | 必填 | 说明             |
| -------------- | ------ | -- | -------------- |
| `candidate_id` | uuid   | 是  | 候选人 ID         |
| `fields`       | object | 是  | 要修改的字段字典（至少一个） |

## 可改字段（白名单）

按语义分组：

### 基础

`full_name` · `gender` · `birth_year` · `age` · `current_city` · `current_status` · `hometown`

### 联系

`phone` · `email` · `wechat` · `linkedin_url`

### 教育

`highest_education` · `school_name` · `major` · `graduation_year`

### 工作 + 薪资

`current_company` · `current_title` · `job_level` · `years_of_experience` · `current_company_tenure` · `management_experience` · `team_size` · `salary_min` · `salary_max` · `salary_unit` · `salary_period`

### 标签（数组字段）

`school_level_tags` · `industries` · `functions` · `skills` · `preferred_locations` · `private_judgement_tags` · `custom_tags`

### 备注（文本字段）

`interview_notes` · `personality_notes` · `concerns` · `motivation` · `recommendation_notes`

## 不可改字段

`id` / `user_id` / `ai_*_tags`（AI 建议标签自动维护） / `dedup_fingerprint` / `field_meta` / `created_at` / `updated_at` / `profile_status`

如果 `fields` 里包含上述任何一个，请求会返回 `INVALID_PARAMS (422)`。

## 返回

```json theme={null}
{
  "candidate_id": "uuid",
  "updated_fields": ["phone", "current_title", "interview_notes"]
}
```

## 示例

```bash theme={null}
curl -X POST https://api.dropcv.work/api/external/v1/skills/candidate_update/invoke \
  -H "Authorization: Bearer $DROPCV_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "params": {
      "candidate_id": "...",
      "fields": {
        "current_title": "技术总监",
        "current_company": "新创业公司",
        "interview_notes": "5/12 一面通过，技术功底扎实",
        "skills": ["Python", "Go", "Rust"]
      }
    }
  }'
```

## 权限

需要 **write** 权限。

## 审计

修改后的每个字段都会在 `candidate.field_meta` 留下来源（`source: external_api`、`api_key_id`、修改时间），便于将来追溯。
