Skills
Skills your Bash may use: upload one, give it new versions, list them.
POST/v1/skillsUpload a skill folder as a zip, or as JSON files.
Request2 fields
Headers
Idempotency-KeystringSend the same key to retry this call safely for 24 hours.
- Type
string
Body
filesobject[]requiredThe skill's files, 1 to 200, with a SKILL.md at the top whose frontmatter names it.
- Limits
- 1 to 200 items.
pathstringrequiredThe file's path inside the skill, such as SKILL.md or scripts/fill.py, up to 200 characters.
- Limits
- 1 to 200 characters.
contentstringrequiredThe file's text, up to 1 MB.
- Limits
- At most 1048576 characters.
Answers 20111 fields
object"skill"Always skill.
- Type
"skill"
idstring | nullThe skill's id (skl_); null for a skill Bash already has.
- Type
string | null
source"company" | "built_in"company: one you uploaded. built_in: one Bash already has.
- Type
"company" | "built_in"
slugstringIts name in a deployment: what skills takes for one Bash already has.
- Type
string
namestringIts name, from its SKILL.md.
- Type
string
descriptionstringWhat it does, from its SKILL.md: Bash reads this to know when to use it.
- Type
string
versionstring | nullThe current version's content hash; null for a skill Bash already has.
- Type
string | null
sha256string | nullA hash of the files as uploaded, which the SDKs and the CLI compute over a folder the same way, to upload only a folder that changed. Null for a skill Bash already has, and for one uploaded before this field.
- Type
string | null
filesobject[]may be absentIts files, on GET /v1/skills/{skill_id}; absent in lists.
pathstringThe file's path inside the skill.
- Type
string
bytesintegerIts size, in bytes.
- Type
integer
contentstringIts text.
- Type
string
created_atstring | nullWhen it was uploaded; null for a skill Bash already has.
- Type
string | null
updated_atstring | nullWhen its newest version was uploaded; null for a skill Bash already has.
- Type
string | null
No sample in your language for this route, so here it is over HTTP.
curl -X POST "$VESTRA_BASE_URL/v1/skills" \ -H "Authorization: Bearer $VESTRA_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "files": [] }'