Skip to main content
PATCH
/
api
/
v1
/
tenants
/
{tenantId}
/
skills
/
{skillId}
Update skill
curl --request PATCH \
  --url https://api.example.com/api/v1/tenants/{tenantId}/skills/{skillId} \
  --header 'Authorization: <authorization>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "description": "<string>",
  "config": {},
  "inputSchema": {},
  "enabled": true
}
'

Overview

Partially updates a skill. Send only the fields you want to change — all other fields remain unchanged.
Skills use a non-standard base path: /api/v1/tenants/{tenantId}/skills — not /v1/. This is a dedicated module with its own routing prefix.
Required role: admin

Request headers

Authorization
string
required
JWT Bearer token. Format: Bearer <your-jwt>.

Path parameters

tenantId
string
required
Your tenant identifier. Example: ten_EXAMPLE_ABC123.
skillId
string
required
The skill identifier. Example: skl_01HX9VTPQR3KF8MZWBYD5N6JCE.

Request body

description
string
Updated description. Maximum 500 characters.
config
object
Updated execution configuration. Replaces the existing config entirely.
inputSchema
object
Updated input schema. Replaces the existing inputSchema entirely.
enabled
boolean
Set to false to disable the skill without deleting it.

Response

Returns 200 OK with the updated skill.
{
  "skillId": "skl_01HX9VTPQR3KF8MZWBYD5N6JCE",
  "name": "fetch_runbook",
  "enabled": false,
  "updatedAt": "2024-04-01T12:00:00Z"
}

Error responses

StatusError codeDescription
400validation_errorInvalid field value or schema
401unauthorizedMissing or invalid JWT
403forbiddenCaller lacks admin role
404skill_not_foundNo skill with the given ID

Examples

curl https://api.causeflow.ai/api/v1/tenants/ten_EXAMPLE_ABC123/skills/skl_01HX9VTPQR3KF8MZWBYD5N6JCE \
  -X PATCH \
  -H "Authorization: Bearer eyJhbGc..." \
  -H "Content-Type: application/json" \
  -d '{ "enabled": false }'

Get skill

View current skill configuration

Delete skill

Permanently remove a skill