Search Skills
Search skills using a JSON filter DSL (recursive AND/OR/Condition). An empty body (or one with only ``pagination``) is equivalent to ``GET /skills``. See ``core/src/botyard_core/filters/AGENTS.md`` for the wire-format spec and ``SkillFilterField`` for the list of filterable fields.
Authorization
BearerAuth Botyard API key — see /docs/authentication.
In: header
Path Parameters
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Request body for POST /v1/orgs/{org_id}/skills/search.
Response Body
application/json
curl -X POST "https://example.com/v1/orgs/string/skills/search" \ -H "Content-Type: application/json" \ -d '{}'{
"items": [
{
"id": "string",
"slug": "string",
"name": "string",
"summary": "string",
"scope": "org",
"provider": "custom",
"source_kind": "github",
"file_count": 0,
"created_at": "2019-08-24T14:15:22Z",
"updated_at": "2019-08-24T14:15:22Z"
}
],
"total": 0,
"limit": 0,
"offset": 0,
"has_more": true
}{
"type": "string",
"title": "string",
"status": 0,
"detail": "string",
"instance": "string",
"error_code": "string",
"errors": [
{
"pointer": "string",
"detail": "string",
"type": "string"
}
],
"trace_id": "string"
}Create Skill
Create a new skill in the catalogue.
Preview Skill Import
Resolve a source reference without installing anything. Gated on SKILL.CREATE rather than SKILL.READ: this reads nothing from the catalogue. It makes the server fetch a third-party repository, which is the privileged half of an import — so the permission that authorises the import is the one that authorises the dry run. The same reasoning makes the private-source capability apply here: a preview that could read a private repository the subsequent import could not would be a way to read private source without importing it, and one that could not read what the import can would report "not found" for a repository that imports fine.