---
title: "Update an AI skill"
method: PATCH
path: "/ais/{aiId}/skills/{skillId}"
tags: ["Skills"]
---

# Update an AI skill

`PATCH /ais/{aiId}/skills/{skillId}`

## Request

- Base URL: `https://api.darwin.so/api/v1`
- URL: `https://api.darwin.so/api/v1/ais/{aiId}/skills/{skillId}`
- Auth: one of:
  - API key in header `x-api-key`
  - HTTP bearer

## Path parameters

- `aiId` string, required
- `skillId` string, required

## Request body

- UpdateAISkillRequest
  - `name` string
  - `slug` string
  - `description` string, nullable
  - `category` 'ai' | 'human' | 'hybrid'
  - `visibility` 'PRIVATE' | 'PUBLIC'
  - `instructions` string
  - `enabledActions` string[]
  - `enabled` boolean
  - `metadata` object

## Response `200`

The updated skill.

- object
  - `skill` AISkill, required
    - `id` string, required
    - `aiId` string, nullable, required
    - `name` string, required
    - `slug` string, nullable
    - `description` string, nullable
    - `category` 'ai' | 'human' | 'hybrid', required
    - `source` string, required
    - `visibility` 'PRIVATE' | 'PUBLIC', required
    - `status` string, required
    - `enabled` boolean, required
    - `executable` boolean, required
    - `enabledActions` string[]
    - `instructions` string
    - `version` integer, nullable
    - `versionId` string, nullable
    - `metadata` object
    - `createdAt` string, date-time, required
    - `updatedAt` string, date-time, required

## Other responses

- `400`: The request was invalid.
- `401`: The API key or access token is missing, invalid, expired, or revoked.
- `403`: The principal does not have the required scope or resource access.
- `404`: The resource was not found for this principal.

---

[API](https://skmtc.dev/darwin/apis/darwin-api.md) · [All operations](https://skmtc.dev/darwin/apis/darwin-api/llms.txt) · [OpenAPI document](https://skmtc.dev/darwin/apis/darwin-api/revisions/56166fce7bfb?raw)
