Catalog › Replace a technician's skills
Replace a technician's skills Sets the technician's full skill set in one call (replace semantics): skills not in the list are removed, new ones added. Pass an empty list to clear all. All skills must be active and belong to the business — on SKILL_NOT_FOUND (404) the `data` field contains `{"missing_ids": ["uuid", ...]}`; on SKILL_INACTIVE (409) it contains `{"inactive_ids": ["uuid", ...]}`.
Arguments id string path required
Technician ID — business_user_profiles.id (UUID)
skill_ids array<string> body optional
Skill ids (max 100). Discover via GET /skills.
PATCH /v1/technicians/{id}/skills
cURL Node Python Go Ruby PHP Java .NET
⧉ Copy curl -X PATCH "https://api.crisphive.com/v1/technicians/9b2f6c3e-1a4d-4f0a-8f2e-7c5d1b3a9e01/skills" \
-H "Authorization: Bearer chsk_test_4eC8xQ9mZ2pL7Ka0rT" \
-H "Content-Type: application/json" \
-d '{
"skill_ids": [
"550e8400-e29b-41d4-a716-446655440000",
"550e8400-e29b-41d4-a716-446655440001"
]
}' id
Responses 200 OK ▾
400 INVALID_REQUEST_BODY ▾
401 UNAUTHORIZED ▾
403 API_KEY_SCOPE_INSUFFICIENT — the key authenticated but is restricted and does not carry the permission this endpoint requires. data.required_scope names the missing permission code. Mint a key that carries it (a full-access key carries all of them); this is NOT the same as your user account lacking a permission.
PLAN_MODULE_NOT_INCLUDED — the business's subscription plan does not include the module this endpoint belongs to. data.module names it. This is a BILLING answer, not a credential one: no key, however broad, can reach a module the plan excludes — the business has to upgrade. Distinguish it from API_KEY_SCOPE_INSUFFICIENT by error_code, never by status. ▾
404 TECHNICIAN_NOT_FOUND | SKILL_NOT_FOUND ▾
409 SKILL_INACTIVE ▾
429 TOO_MANY_REQUESTS — per-key rate limit exceeded (240 requests/min, shared across /v1 and /mcp). Back off for the number of seconds in the Retry-After header; every response also carries X-RateLimit-Limit / X-RateLimit-Remaining / X-RateLimit-Reset. ▾