Get a skill
GET /v1/skills/{skill_id}
Returns a skill by its ID.
To get a built-in skill, pass its slug, such as pptx, as skill_id. Archived skills and skills with no version return 404.
The key must have the skills:read capability. For what each capability allows, see Keys.
Path parameters
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
skill_id | string | Yes | The ID of the skill, or a built-in skill’s slug. |
Response
Returns 200 with the skill object. For every field, see Skills.
{ "id": "8b3f6c1e-2a4d-4f7b-9c1e-5d6a7b8c9d0e", "type": "skill", "created_at": "2026-10-27T15:02:11.204Z", "display_name": "pr-summary", "latest_version_id": "b1c2d3e4-f5a6-4b7c-8d9e-0f1a2b3c4d5e", "source": { "type": "custom" }, "updated_at": "2026-10-27T15:02:11.204Z"}Errors
This endpoint can return these errors as well as the common errors.
| Status | error.type | Cause and fix |
|---|---|---|
| 404 | not_found_error | No skill with this ID exists, the key’s owner can’t read it, the skill is archived, or it has no version yet. Check the ID and the key. To get an archived skill, unarchive it in the Context app. To get a skill with no version, create a version first. |
Example
curl -sS "$CONTEXT_BASE_URL/v1/skills/8b3f6c1e-2a4d-4f7b-9c1e-5d6a7b8c9d0e" -H "x-api-key: $CONTEXT_API_KEY"skill = client.beta.skills.retrieve("8b3f6c1e-2a4d-4f7b-9c1e-5d6a7b8c9d0e")const skill = await client.beta.skills.retrieve("8b3f6c1e-2a4d-4f7b-9c1e-5d6a7b8c9d0e")