Unisson skills API
The skills API from Unisson — 7 operation(s) for skills.
The skills API from Unisson — 7 operation(s) for skills.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/unisson-skills-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Unisson agent-evals Skills API
version: 1.0.0
servers:
- url: https://api.unisson.ai
description: Base URL declared by the provider in apis.yml (roadmap#122).
tags:
- name: skills
paths:
/api/v1/skills:
get:
tags:
- skills
summary: List Skills
description: List the org's skills (built-in + custom), built-ins first.
operationId: list_skills_api_v1_skills_get
responses:
'200':
description: Successful Response
content:
application/json:
schema:
items:
$ref: '#/components/schemas/SkillResponse'
type: array
title: Response List Skills Api V1 Skills Get
security:
- HTTPBearer: []
post:
tags:
- skills
summary: Create Skill
description: Create a custom skill (members only).
operationId: create_skill_api_v1_skills_post
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SkillCreate'
required: true
responses:
'201':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/SkillResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
security:
- HTTPBearer: []
/api/v1/skills/builder-conversation:
get:
tags:
- skills
summary: Get Or Create Skill Builder Conversation
description: 'Get-or-create the organization''s Skill-Builder conversation (members
only). One persistent thread per org (``is_skill_builder``); the
partial unique index makes get-or-create race-safe; excluded from every
conversation list.'
operationId: get_or_create_skill_builder_conversation_api_v1_skills_builder_conversation_get
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/ChatConversationResponse'
security:
- HTTPBearer: []
/api/v1/skills/{skill_id}:
get:
tags:
- skills
summary: Get Skill
description: Get a single skill.
operationId: get_skill_api_v1_skills__skill_id__get
security:
- HTTPBearer: []
parameters:
- name: skill_id
in: path
required: true
schema:
type: string
format: uuid
title: Skill Id
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/SkillResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
put:
tags:
- skills
summary: Update Skill
description: 'Direct edit of a skill (members only). name/description/instructions are
versioned (source ``manual``); icon is set directly.'
operationId: update_skill_api_v1_skills__skill_id__put
security:
- HTTPBearer: []
parameters:
- name: skill_id
in: path
required: true
schema:
type: string
format: uuid
title: Skill Id
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/SkillUpdate'
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/SkillResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
delete:
tags:
- skills
summary: Delete Skill
description: Soft-delete a custom skill (members only). Built-ins reject delete (403).
operationId: delete_skill_api_v1_skills__skill_id__delete
security:
- HTTPBearer: []
parameters:
- name: skill_id
in: path
required: true
schema:
type: string
format: uuid
title: Skill Id
responses:
'204':
description: Successful Response
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/api/v1/skills/{skill_id}/rename:
patch:
tags:
- skills
summary: Rename Skill
description: 'Rename a custom skill''s slug (and optionally its name). Built-in slugs are
wiring — 403. Members only.'
operationId: rename_skill_api_v1_skills__skill_id__rename_patch
security:
- HTTPBearer: []
parameters:
- name: skill_id
in: path
required: true
schema:
type: string
format: uuid
title: Skill Id
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/SkillRenameRequest'
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/SkillResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/api/v1/skills/{skill_id}/instruction-versions:
get:
tags:
- skills
summary: List Instruction Versions
description: A skill's instruction version history, newest first.
operationId: list_instruction_versions_api_v1_skills__skill_id__instruction_versions_get
security:
- HTTPBearer: []
parameters:
- name: skill_id
in: path
required: true
schema:
type: string
format: uuid
title: Skill Id
- name: limit
in: query
required: false
schema:
type: integer
maximum: 200
minimum: 1
default: 100
title: Limit
- name: offset
in: query
required: false
schema:
type: integer
minimum: 0
default: 0
title: Offset
responses:
'200':
description: Successful Response
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/SkillInstructionVersionResponse'
title: Response List Instruction Versions Api V1 Skills Skill Id Instruction Versions Get
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/api/v1/skills/{skill_id}/instruction-versions/{version_id}:
get:
tags:
- skills
summary: Get Instruction Version
description: A single instruction version (full text).
operationId: get_instruction_version_api_v1_skills__skill_id__instruction_versions__version_id__get
security:
- HTTPBearer: []
parameters:
- name: skill_id
in: path
required: true
schema:
type: string
format: uuid
title: Skill Id
- name: version_id
in: path
required: true
schema:
type: string
format: uuid
title: Version Id
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/SkillInstructionVersionResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/api/v1/skills/{skill_id}/instruction-versions/{version_id}/revert:
post:
tags:
- skills
summary: Revert Instruction Version
description: 'Restore the skill''s profile to a prior version (members only). Appends a
new ``revert`` version — history is never rewritten.'
operationId: revert_instruction_version_api_v1_skills__skill_id__instruction_versions__version_id__revert_post
security:
- HTTPBearer: []
parameters:
- name: skill_id
in: path
required: true
schema:
type: string
format: uuid
title: Skill Id
- name: version_id
in: path
required: true
schema:
type: string
format: uuid
title: Version Id
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/SkillResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
components:
schemas:
SkillInstructionVersionResponse:
properties:
id:
type: string
format: uuid
title: Id
skill_id:
type: string
format: uuid
title: Skill Id
version_number:
type: integer
title: Version Number
name:
anyOf:
- type: string
- type: 'null'
title: Name
description:
anyOf:
- type: string
- type: 'null'
title: Description
instructions:
anyOf:
- type: string
- type: 'null'
title: Instructions
source:
type: string
title: Source
created_by:
anyOf:
- type: string
format: uuid
- type: 'null'
title: Created By
parent_version_id:
anyOf:
- type: string
format: uuid
- type: 'null'
title: Parent Version Id
summary:
anyOf:
- type: string
- type: 'null'
title: Summary
created_at:
type: string
format: date-time
title: Created At
type: object
required:
- id
- skill_id
- version_number
- source
- created_at
title: SkillInstructionVersionResponse
description: One immutable snapshot in a skill's instruction history.
SkillRenameRequest:
properties:
slug:
type: string
maxLength: 64
minLength: 1
pattern: ^[a-z0-9]+(?:-[a-z0-9]+)*$
title: Slug
name:
anyOf:
- type: string
maxLength: 255
minLength: 1
- type: 'null'
title: Name
type: object
required:
- slug
title: SkillRenameRequest
description: Rename a custom skill's slug (and optionally its display name).
SkillUpdate:
properties:
name:
anyOf:
- type: string
maxLength: 255
minLength: 1
- type: 'null'
title: Name
description:
anyOf:
- type: string
maxLength: 2000
- type: 'null'
title: Description
instructions:
anyOf:
- type: string
maxLength: 100000
- type: 'null'
title: Instructions
icon:
anyOf:
- type: string
maxLength: 1048576
- type: 'null'
title: Icon
type: object
title: SkillUpdate
description: Direct edit (PUT). name/description/instructions are versioned; icon isn't.
ChatConversationResponse:
properties:
id:
type: string
format: uuid4
title: Id
organization_id:
type: string
format: uuid4
title: Organization Id
title:
anyOf:
- type: string
- type: 'null'
title: Title
created_at:
type: string
format: date-time
title: Created At
updated_at:
anyOf:
- type: string
format: date-time
- type: 'null'
title: Updated At
last_run_status:
anyOf:
- type: string
- type: 'null'
title: Last Run Status
request_status:
anyOf:
- type: string
- type: 'null'
title: Request Status
participants:
items:
type: string
type: array
title: Participants
default: []
tagged_agents:
items:
$ref: '#/components/schemas/UsedAgent'
type: array
title: Tagged Agents
default: []
type: object
required:
- id
- organization_id
- created_at
title: ChatConversationResponse
SkillResponse:
properties:
id:
type: string
format: uuid
title: Id
organization_id:
type: string
format: uuid
title: Organization Id
slug:
type: string
title: Slug
name:
type: string
title: Name
description:
anyOf:
- type: string
- type: 'null'
title: Description
instructions:
anyOf:
- type: string
- type: 'null'
title: Instructions
origin:
type: string
title: Origin
is_builtin:
type: boolean
title: Is Builtin
entry_tool:
anyOf:
- type: string
- type: 'null'
title: Entry Tool
icon:
anyOf:
- type: string
- type: 'null'
title: Icon
created_by:
anyOf:
- type: string
format: uuid
- type: 'null'
title: Created By
created_at:
type: string
format: date-time
title: Created At
updated_at:
type: string
format: date-time
title: Updated At
type: object
required:
- id
- organization_id
- slug
- name
- origin
- is_builtin
- created_at
- updated_at
title: SkillResponse
SkillCreate:
properties:
slug:
type: string
maxLength: 64
minLength: 1
pattern: ^[a-z0-9]+(?:-[a-z0-9]+)*$
title: Slug
name:
type: string
maxLength: 255
minLength: 1
title: Name
description:
anyOf:
- type: string
maxLength: 2000
- type: 'null'
title: Description
instructions:
anyOf:
- type: string
maxLength: 100000
- type: 'null'
title: Instructions
icon:
anyOf:
- type: string
maxLength: 1048576
- type: 'null'
title: Icon
type: object
required:
- slug
- name
title: SkillCreate
UsedAgent:
properties:
id:
type: string
format: uuid4
title: Id
name:
type: string
title: Name
icon:
anyOf:
- type: string
- type: 'null'
title: Icon
gradient:
anyOf:
- type: string
- type: 'null'
title: Gradient
type: object
required:
- id
- name
title: UsedAgent
description: 'An agent tagged into a conversation (subset of AgentResponse
sufficient to render an agent chip/badge).'
ValidationError:
properties:
loc:
items:
anyOf:
- type: string
- type: integer
type: array
title: Location
msg:
type: string
title: Message
type:
type: string
title: Error Type
input:
title: Input
ctx:
type: object
title: Context
type: object
required:
- loc
- msg
- type
title: ValidationError
HTTPValidationError:
properties:
detail:
items:
$ref: '#/components/schemas/ValidationError'
type: array
title: Detail
type: object
title: HTTPValidationError
securitySchemes:
HTTPBearer:
type: http
scheme: bearer