Skills
Delete
Delete a skill. Fails if assigned to any agent.
DELETE /api/public/v1/artifacts/skills/{skill_id}Example
curl -X DELETE https://api.nairi.ai/api/public/v1/artifacts/skills/SKILL_ID \
-H "Authorization: Bearer $NAIRI_API_KEY"await fetch(`https://api.nairi.ai/api/public/v1/artifacts/skills/${skillId}`, {
method: "DELETE",
headers: {
Authorization: `Bearer ${process.env.NAIRI_API_KEY}`,
},
});require "net/http"
require "uri"
uri = URI("https://api.nairi.ai/api/public/v1/artifacts/skills/#{skill_id}")
req = Net::HTTP::Delete.new(uri)
req["Authorization"] = "Bearer #{ENV['NAIRI_API_KEY']}"
Net::HTTP.start(uri.host, uri.port, use_ssl: true) { |h| h.request(req) }import os
import requests
requests.delete(
f"https://api.nairi.ai/api/public/v1/artifacts/skills/{skill_id}",
headers={"Authorization": f"Bearer {os.environ['NAIRI_API_KEY']}"},
)package main
import (
"net/http"
"os"
)
func main() {
skillID := os.Getenv("SKILL_ID")
req, _ := http.NewRequest("DELETE", "https://api.nairi.ai/api/public/v1/artifacts/skills/"+skillID, nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("NAIRI_API_KEY"))
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
}Deletion fails with 400 Bad Request if the skill is assigned to any agent. Unassign it from every agent first.
Response: 204 No Content
Error responses
| HTTP | Body | When |
|---|---|---|
400 | {"error":"cannot delete skill: still assigned to N agent(s)"} | The skill is still attached to one or more agents. |
404 | {"error":"skill not found"} | No skill with that ID exists in the calling organization. |