# Skills

## GET /workspaces/{workspaceId}/inbox/skills

> List Agent Skills

```json
{"openapi":"3.0.3","info":{"title":"Collaboration","version":"v1"},"tags":[],"security":[{"user":[]},{"accessKey":[]}],"components":{"securitySchemes":{"user":{"description":"Provide the token that is returned upon login","scheme":"bearer","type":"http","bearerFormat":"jwt"},"accessKey":{"description":"Uses the Authorization header: 'AccessKey ' followed by your access key token (e.g., 'Authorization: AccessKey AbCdEfGhIjKlMnOpQrStUvWxYzAbCdEfGhIj')","scheme":"AccessKey","type":"http"}},"parameters":{"limit":{"name":"limit","description":"Limits the number of results to return","in":"query","schema":{"type":"integer","minimum":1,"maximum":100,"default":10}},"cursor":{"name":"pageToken","description":"Pagination token that keeps of track of the current position in the list","in":"query","schema":{"type":"string"}},"direction":{"name":"reverse","description":"Order in which to retrieve the results","in":"query","schema":{"type":"boolean","default":false}}},"responses":{"AgentSkillList":{"description":"A paginated list of agent skills.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/responseBody"},{"type":"object","properties":{"results":{"type":"array","items":{"$ref":"#/components/schemas/AgentSkill"}}},"required":["results"]}]}}}}},"schemas":{"responseBody":{"type":"object","title":"PaginatedList","description":"A list of results that supports pagination.","properties":{"nextPageToken":{"type":"string","description":"The token to fetch the next page of results. If empty, there are no more results to fetch."}}},"AgentSkill":{"type":"object","description":"AgentSkill can be assigned to Agent or Ticket. In case of RootItem it specifies what skills Agent should have to handle the item.\n","properties":{"id":{"type":"string","format":"uuid"},"workspaceId":{"type":"string","format":"uuid"},"name":{"type":"string"},"description":{"type":"string"},"valueType":{"$ref":"#/components/schemas/AgentSkillValueType"},"values":{"type":"array","items":{"$ref":"#/components/schemas/AgentSkillValue"}},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"},"createdBy":{"type":"string","format":"uuid"},"updatedBy":{"type":"string","format":"uuid"}},"required":["id","workspaceId","name","description","valueType","values","createdAt","updatedAt","createdBy","updatedBy"]},"AgentSkillValueType":{"description":"AgentSkillValueType defines how can the Values of a Skill can be selected.\n","type":"string","enum":["single","multiple","boolean"]},"AgentSkillValue":{"type":"object","description":"AgentSkillValue is a single value that can be selected for a skill.\n","properties":{"id":{"type":"string","format":"uuid"},"value":{"type":"string"},"icon":{"type":"string"},"createdAt":{"type":"string","format":"date-time"}},"required":["id","value","icon","createdAt"]}}},"paths":{"/workspaces/{workspaceId}/inbox/skills":{"get":{"operationId":"listAgentSkills","parameters":[{"$ref":"#/components/parameters/limit"},{"$ref":"#/components/parameters/cursor"},{"$ref":"#/components/parameters/direction"}],"responses":{"200":{"$ref":"#/components/responses/AgentSkillList"}},"summary":"List Agent Skills","tags":["agent_skills"]}}}}
```

## POST /workspaces/{workspaceId}/inbox/skills

> Create Agent Skill

```json
{"openapi":"3.0.3","info":{"title":"Collaboration","version":"v1"},"tags":[],"security":[{"user":[]},{"accessKey":[]}],"components":{"securitySchemes":{"user":{"description":"Provide the token that is returned upon login","scheme":"bearer","type":"http","bearerFormat":"jwt"},"accessKey":{"description":"Uses the Authorization header: 'AccessKey ' followed by your access key token (e.g., 'Authorization: AccessKey AbCdEfGhIjKlMnOpQrStUvWxYzAbCdEfGhIj')","scheme":"AccessKey","type":"http"}},"schemas":{"CreateAgentSkill":{"type":"object","description":"CreateAgentSkill is the request body for creating a new AgentSkill.\n","properties":{"name":{"type":"string"},"description":{"type":"string"},"valueType":{"$ref":"#/components/schemas/AgentSkillValueType"},"values":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"},"icon":{"type":"string"}},"required":["value","icon"]}}},"required":["name","description","valueType","values"]},"AgentSkillValueType":{"description":"AgentSkillValueType defines how can the Values of a Skill can be selected.\n","type":"string","enum":["single","multiple","boolean"]},"AgentSkill":{"type":"object","description":"AgentSkill can be assigned to Agent or Ticket. In case of RootItem it specifies what skills Agent should have to handle the item.\n","properties":{"id":{"type":"string","format":"uuid"},"workspaceId":{"type":"string","format":"uuid"},"name":{"type":"string"},"description":{"type":"string"},"valueType":{"$ref":"#/components/schemas/AgentSkillValueType"},"values":{"type":"array","items":{"$ref":"#/components/schemas/AgentSkillValue"}},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"},"createdBy":{"type":"string","format":"uuid"},"updatedBy":{"type":"string","format":"uuid"}},"required":["id","workspaceId","name","description","valueType","values","createdAt","updatedAt","createdBy","updatedBy"]},"AgentSkillValue":{"type":"object","description":"AgentSkillValue is a single value that can be selected for a skill.\n","properties":{"id":{"type":"string","format":"uuid"},"value":{"type":"string"},"icon":{"type":"string"},"createdAt":{"type":"string","format":"date-time"}},"required":["id","value","icon","createdAt"]},"Error":{"type":"object","additionalProperties":false,"required":["code","message"],"properties":{"code":{"type":"string","minLength":5},"details":{"type":"object","additionalProperties":true},"message":{"type":"string","minLength":5}}},"ValidationError":{"type":"object","additionalProperties":false,"required":["code","message"],"properties":{"code":{"type":"string","minLength":5},"message":{"type":"string","minLength":5},"details":{"type":"object","additionalProperties":{"type":"array","items":{"type":"string"}}}}}},"responses":{"AgentSkill":{"description":"The agent skill.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSkill"}}}}}},"paths":{"/workspaces/{workspaceId}/inbox/skills":{"post":{"operationId":"createAgentSkill","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateAgentSkill"}}},"required":true},"responses":{"201":{"$ref":"#/components/responses/AgentSkill"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Workspace not found"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Agent Skill with that name already exists"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}},"description":"Invalid input"}},"summary":"Create Agent Skill","tags":["agent_skills"]}}}}
```

## GET /workspaces/{workspaceId}/inbox/skills/{agentSkillId}

> Get Agent Skill

```json
{"openapi":"3.0.3","info":{"title":"Collaboration","version":"v1"},"tags":[],"security":[{"user":[]},{"accessKey":[]}],"components":{"securitySchemes":{"user":{"description":"Provide the token that is returned upon login","scheme":"bearer","type":"http","bearerFormat":"jwt"},"accessKey":{"description":"Uses the Authorization header: 'AccessKey ' followed by your access key token (e.g., 'Authorization: AccessKey AbCdEfGhIjKlMnOpQrStUvWxYzAbCdEfGhIj')","scheme":"AccessKey","type":"http"}},"responses":{"AgentSkill":{"description":"The agent skill.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSkill"}}}}},"schemas":{"AgentSkill":{"type":"object","description":"AgentSkill can be assigned to Agent or Ticket. In case of RootItem it specifies what skills Agent should have to handle the item.\n","properties":{"id":{"type":"string","format":"uuid"},"workspaceId":{"type":"string","format":"uuid"},"name":{"type":"string"},"description":{"type":"string"},"valueType":{"$ref":"#/components/schemas/AgentSkillValueType"},"values":{"type":"array","items":{"$ref":"#/components/schemas/AgentSkillValue"}},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"},"createdBy":{"type":"string","format":"uuid"},"updatedBy":{"type":"string","format":"uuid"}},"required":["id","workspaceId","name","description","valueType","values","createdAt","updatedAt","createdBy","updatedBy"]},"AgentSkillValueType":{"description":"AgentSkillValueType defines how can the Values of a Skill can be selected.\n","type":"string","enum":["single","multiple","boolean"]},"AgentSkillValue":{"type":"object","description":"AgentSkillValue is a single value that can be selected for a skill.\n","properties":{"id":{"type":"string","format":"uuid"},"value":{"type":"string"},"icon":{"type":"string"},"createdAt":{"type":"string","format":"date-time"}},"required":["id","value","icon","createdAt"]},"Error":{"type":"object","additionalProperties":false,"required":["code","message"],"properties":{"code":{"type":"string","minLength":5},"details":{"type":"object","additionalProperties":true},"message":{"type":"string","minLength":5}}}}},"paths":{"/workspaces/{workspaceId}/inbox/skills/{agentSkillId}":{"get":{"operationId":"getAgentSkill","responses":{"200":{"$ref":"#/components/responses/AgentSkill"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Workspace or Agent Skill not found"}},"summary":"Get Agent Skill","tags":["agent_skills"]}}}}
```

## PATCH /workspaces/{workspaceId}/inbox/skills/{agentSkillId}

> Update Agent Skill

```json
{"openapi":"3.0.3","info":{"title":"Collaboration","version":"v1"},"tags":[],"security":[{"user":[]},{"accessKey":[]}],"components":{"securitySchemes":{"user":{"description":"Provide the token that is returned upon login","scheme":"bearer","type":"http","bearerFormat":"jwt"},"accessKey":{"description":"Uses the Authorization header: 'AccessKey ' followed by your access key token (e.g., 'Authorization: AccessKey AbCdEfGhIjKlMnOpQrStUvWxYzAbCdEfGhIj')","scheme":"AccessKey","type":"http"}},"schemas":{"UpdateAgentSkill":{"type":"object","description":"UpdateAgentSkill is the request body for updating an existing AgentSkill.\n","properties":{"name":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"valueType":{"$ref":"#/components/schemas/AgentSkillValueType","nullable":true},"values":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","nullable":true},"value":{"nullable":true,"type":"string"},"icon":{"nullable":true,"type":"string"},"createdAt":{"nullable":true,"type":"string","format":"date-time"}}}}}},"AgentSkillValueType":{"description":"AgentSkillValueType defines how can the Values of a Skill can be selected.\n","type":"string","enum":["single","multiple","boolean"]},"AgentSkill":{"type":"object","description":"AgentSkill can be assigned to Agent or Ticket. In case of RootItem it specifies what skills Agent should have to handle the item.\n","properties":{"id":{"type":"string","format":"uuid"},"workspaceId":{"type":"string","format":"uuid"},"name":{"type":"string"},"description":{"type":"string"},"valueType":{"$ref":"#/components/schemas/AgentSkillValueType"},"values":{"type":"array","items":{"$ref":"#/components/schemas/AgentSkillValue"}},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"},"createdBy":{"type":"string","format":"uuid"},"updatedBy":{"type":"string","format":"uuid"}},"required":["id","workspaceId","name","description","valueType","values","createdAt","updatedAt","createdBy","updatedBy"]},"AgentSkillValue":{"type":"object","description":"AgentSkillValue is a single value that can be selected for a skill.\n","properties":{"id":{"type":"string","format":"uuid"},"value":{"type":"string"},"icon":{"type":"string"},"createdAt":{"type":"string","format":"date-time"}},"required":["id","value","icon","createdAt"]},"Error":{"type":"object","additionalProperties":false,"required":["code","message"],"properties":{"code":{"type":"string","minLength":5},"details":{"type":"object","additionalProperties":true},"message":{"type":"string","minLength":5}}},"ValidationError":{"type":"object","additionalProperties":false,"required":["code","message"],"properties":{"code":{"type":"string","minLength":5},"message":{"type":"string","minLength":5},"details":{"type":"object","additionalProperties":{"type":"array","items":{"type":"string"}}}}}},"responses":{"AgentSkill":{"description":"The agent skill.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSkill"}}}}}},"paths":{"/workspaces/{workspaceId}/inbox/skills/{agentSkillId}":{"patch":{"operationId":"updateAgentSkill","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateAgentSkill"}}},"required":true},"responses":{"200":{"$ref":"#/components/responses/AgentSkill"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Workspace or Agent Skill not found"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Agent Skill with that name already exists"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}},"description":"Invalid input"}},"summary":"Update Agent Skill","tags":["agent_skills"]}}}}
```

## DELETE /workspaces/{workspaceId}/inbox/skills/{agentSkillId}

> Delete Agent Skill

```json
{"openapi":"3.0.3","info":{"title":"Collaboration","version":"v1"},"tags":[],"security":[{"user":[]},{"accessKey":[]}],"components":{"securitySchemes":{"user":{"description":"Provide the token that is returned upon login","scheme":"bearer","type":"http","bearerFormat":"jwt"},"accessKey":{"description":"Uses the Authorization header: 'AccessKey ' followed by your access key token (e.g., 'Authorization: AccessKey AbCdEfGhIjKlMnOpQrStUvWxYzAbCdEfGhIj')","scheme":"AccessKey","type":"http"}},"schemas":{"Error":{"type":"object","additionalProperties":false,"required":["code","message"],"properties":{"code":{"type":"string","minLength":5},"details":{"type":"object","additionalProperties":true},"message":{"type":"string","minLength":5}}}}},"paths":{"/workspaces/{workspaceId}/inbox/skills/{agentSkillId}":{"delete":{"operationId":"deleteAgentSkill","responses":{"204":{"description":"OK"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Workspace or Agent Skill not found"}},"summary":"Delete Agent Skill","tags":["agent_skills"]}}}}
```
