Publish Skills
curl --request POST \
--url https://api.xpander.ai/v1/skills/publish \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"managed_by": {
"repo": "acme/agent-skills",
"path_prefix": "skills",
"ref": "refs/heads/main",
"commit": "9f1c2d3e4b5a6978877665544332211009988776",
"run_url": "https://github.com/acme/agent-skills/actions/runs/123456789"
},
"archive_missing": true,
"dry_run": false,
"skills": [
{
"name": "quarterly-report",
"path": "quarterly-report",
"skill_md": "---\nname: quarterly-report\ndescription: Build the quarterly revenue report from the finance warehouse.\n---\n\nRead the report template, query the warehouse, and hand back a PDF.",
"bundle_b64": "H4sIAAAAAAAAA+3BMQEAAADCoPVPbQwfoAAAAAAAAAAAAAAAAAAAAIC3AYbSVKsAKAAA",
"sha256": "4d1f8a3c0b9e7f6d5c4b3a2918273645f0e1d2c3b4a5968778695a4b3c2d1e0f",
"metadata": {
"visibility": "restricted",
"agents": [
"a1a1a1a1-b2b2-c3c3-d4d4-e5e5e5e5e5e5"
],
"access_scope": "organizational",
"users": [],
"groups": [
"finance"
]
}
}
]
}
'import requests
url = "https://api.xpander.ai/v1/skills/publish"
payload = {
"managed_by": {
"repo": "acme/agent-skills",
"path_prefix": "skills",
"ref": "refs/heads/main",
"commit": "9f1c2d3e4b5a6978877665544332211009988776",
"run_url": "https://github.com/acme/agent-skills/actions/runs/123456789"
},
"archive_missing": True,
"dry_run": False,
"skills": [
{
"name": "quarterly-report",
"path": "quarterly-report",
"skill_md": "---
name: quarterly-report
description: Build the quarterly revenue report from the finance warehouse.
---
Read the report template, query the warehouse, and hand back a PDF.",
"bundle_b64": "H4sIAAAAAAAAA+3BMQEAAADCoPVPbQwfoAAAAAAAAAAAAAAAAAAAAIC3AYbSVKsAKAAA",
"sha256": "4d1f8a3c0b9e7f6d5c4b3a2918273645f0e1d2c3b4a5968778695a4b3c2d1e0f",
"metadata": {
"visibility": "restricted",
"agents": ["a1a1a1a1-b2b2-c3c3-d4d4-e5e5e5e5e5e5"],
"access_scope": "organizational",
"users": [],
"groups": ["finance"]
}
}
]
}
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
managed_by: {
repo: 'acme/agent-skills',
path_prefix: 'skills',
ref: 'refs/heads/main',
commit: '9f1c2d3e4b5a6978877665544332211009988776',
run_url: 'https://github.com/acme/agent-skills/actions/runs/123456789'
},
archive_missing: true,
dry_run: false,
skills: [
{
name: 'quarterly-report',
path: 'quarterly-report',
skill_md: '---\nname: quarterly-report\ndescription: Build the quarterly revenue report from the finance warehouse.\n---\n\nRead the report template, query the warehouse, and hand back a PDF.',
bundle_b64: 'H4sIAAAAAAAAA+3BMQEAAADCoPVPbQwfoAAAAAAAAAAAAAAAAAAAAIC3AYbSVKsAKAAA',
sha256: '4d1f8a3c0b9e7f6d5c4b3a2918273645f0e1d2c3b4a5968778695a4b3c2d1e0f',
metadata: {
visibility: 'restricted',
agents: ['a1a1a1a1-b2b2-c3c3-d4d4-e5e5e5e5e5e5'],
access_scope: 'organizational',
users: [],
groups: ['finance']
}
}
]
})
};
fetch('https://api.xpander.ai/v1/skills/publish', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.xpander.ai/v1/skills/publish",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'managed_by' => [
'repo' => 'acme/agent-skills',
'path_prefix' => 'skills',
'ref' => 'refs/heads/main',
'commit' => '9f1c2d3e4b5a6978877665544332211009988776',
'run_url' => 'https://github.com/acme/agent-skills/actions/runs/123456789'
],
'archive_missing' => true,
'dry_run' => false,
'skills' => [
[
'name' => 'quarterly-report',
'path' => 'quarterly-report',
'skill_md' => '---
name: quarterly-report
description: Build the quarterly revenue report from the finance warehouse.
---
Read the report template, query the warehouse, and hand back a PDF.',
'bundle_b64' => 'H4sIAAAAAAAAA+3BMQEAAADCoPVPbQwfoAAAAAAAAAAAAAAAAAAAAIC3AYbSVKsAKAAA',
'sha256' => '4d1f8a3c0b9e7f6d5c4b3a2918273645f0e1d2c3b4a5968778695a4b3c2d1e0f',
'metadata' => [
'visibility' => 'restricted',
'agents' => [
'a1a1a1a1-b2b2-c3c3-d4d4-e5e5e5e5e5e5'
],
'access_scope' => 'organizational',
'users' => [
],
'groups' => [
'finance'
]
]
]
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.xpander.ai/v1/skills/publish"
payload := strings.NewReader("{\n \"managed_by\": {\n \"repo\": \"acme/agent-skills\",\n \"path_prefix\": \"skills\",\n \"ref\": \"refs/heads/main\",\n \"commit\": \"9f1c2d3e4b5a6978877665544332211009988776\",\n \"run_url\": \"https://github.com/acme/agent-skills/actions/runs/123456789\"\n },\n \"archive_missing\": true,\n \"dry_run\": false,\n \"skills\": [\n {\n \"name\": \"quarterly-report\",\n \"path\": \"quarterly-report\",\n \"skill_md\": \"---\\nname: quarterly-report\\ndescription: Build the quarterly revenue report from the finance warehouse.\\n---\\n\\nRead the report template, query the warehouse, and hand back a PDF.\",\n \"bundle_b64\": \"H4sIAAAAAAAAA+3BMQEAAADCoPVPbQwfoAAAAAAAAAAAAAAAAAAAAIC3AYbSVKsAKAAA\",\n \"sha256\": \"4d1f8a3c0b9e7f6d5c4b3a2918273645f0e1d2c3b4a5968778695a4b3c2d1e0f\",\n \"metadata\": {\n \"visibility\": \"restricted\",\n \"agents\": [\n \"a1a1a1a1-b2b2-c3c3-d4d4-e5e5e5e5e5e5\"\n ],\n \"access_scope\": \"organizational\",\n \"users\": [],\n \"groups\": [\n \"finance\"\n ]\n }\n }\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-api-key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.xpander.ai/v1/skills/publish")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"managed_by\": {\n \"repo\": \"acme/agent-skills\",\n \"path_prefix\": \"skills\",\n \"ref\": \"refs/heads/main\",\n \"commit\": \"9f1c2d3e4b5a6978877665544332211009988776\",\n \"run_url\": \"https://github.com/acme/agent-skills/actions/runs/123456789\"\n },\n \"archive_missing\": true,\n \"dry_run\": false,\n \"skills\": [\n {\n \"name\": \"quarterly-report\",\n \"path\": \"quarterly-report\",\n \"skill_md\": \"---\\nname: quarterly-report\\ndescription: Build the quarterly revenue report from the finance warehouse.\\n---\\n\\nRead the report template, query the warehouse, and hand back a PDF.\",\n \"bundle_b64\": \"H4sIAAAAAAAAA+3BMQEAAADCoPVPbQwfoAAAAAAAAAAAAAAAAAAAAIC3AYbSVKsAKAAA\",\n \"sha256\": \"4d1f8a3c0b9e7f6d5c4b3a2918273645f0e1d2c3b4a5968778695a4b3c2d1e0f\",\n \"metadata\": {\n \"visibility\": \"restricted\",\n \"agents\": [\n \"a1a1a1a1-b2b2-c3c3-d4d4-e5e5e5e5e5e5\"\n ],\n \"access_scope\": \"organizational\",\n \"users\": [],\n \"groups\": [\n \"finance\"\n ]\n }\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.xpander.ai/v1/skills/publish")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"managed_by\": {\n \"repo\": \"acme/agent-skills\",\n \"path_prefix\": \"skills\",\n \"ref\": \"refs/heads/main\",\n \"commit\": \"9f1c2d3e4b5a6978877665544332211009988776\",\n \"run_url\": \"https://github.com/acme/agent-skills/actions/runs/123456789\"\n },\n \"archive_missing\": true,\n \"dry_run\": false,\n \"skills\": [\n {\n \"name\": \"quarterly-report\",\n \"path\": \"quarterly-report\",\n \"skill_md\": \"---\\nname: quarterly-report\\ndescription: Build the quarterly revenue report from the finance warehouse.\\n---\\n\\nRead the report template, query the warehouse, and hand back a PDF.\",\n \"bundle_b64\": \"H4sIAAAAAAAAA+3BMQEAAADCoPVPbQwfoAAAAAAAAAAAAAAAAAAAAIC3AYbSVKsAKAAA\",\n \"sha256\": \"4d1f8a3c0b9e7f6d5c4b3a2918273645f0e1d2c3b4a5968778695a4b3c2d1e0f\",\n \"metadata\": {\n \"visibility\": \"restricted\",\n \"agents\": [\n \"a1a1a1a1-b2b2-c3c3-d4d4-e5e5e5e5e5e5\"\n ],\n \"access_scope\": \"organizational\",\n \"users\": [],\n \"groups\": [\n \"finance\"\n ]\n }\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"results": [
{
"name": "quarterly-report",
"outcome": "updated",
"skill_id": "5b5b5b5b-6c6c-7d7d-8e8e-9f9f9f9f9f9f",
"detail": "bundle changed; visibility org -> restricted"
}
],
"archived": [
"legacy-invoice-check"
],
"warnings": []
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}REST API - Skills
Publish Skills
Publish a batch of skills from a repository into your organization’s skill registry, with each skill’s visibility and access taken from its xpander.yaml.
POST
/
v1
/
skills
/
publish
Publish Skills
curl --request POST \
--url https://api.xpander.ai/v1/skills/publish \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"managed_by": {
"repo": "acme/agent-skills",
"path_prefix": "skills",
"ref": "refs/heads/main",
"commit": "9f1c2d3e4b5a6978877665544332211009988776",
"run_url": "https://github.com/acme/agent-skills/actions/runs/123456789"
},
"archive_missing": true,
"dry_run": false,
"skills": [
{
"name": "quarterly-report",
"path": "quarterly-report",
"skill_md": "---\nname: quarterly-report\ndescription: Build the quarterly revenue report from the finance warehouse.\n---\n\nRead the report template, query the warehouse, and hand back a PDF.",
"bundle_b64": "H4sIAAAAAAAAA+3BMQEAAADCoPVPbQwfoAAAAAAAAAAAAAAAAAAAAIC3AYbSVKsAKAAA",
"sha256": "4d1f8a3c0b9e7f6d5c4b3a2918273645f0e1d2c3b4a5968778695a4b3c2d1e0f",
"metadata": {
"visibility": "restricted",
"agents": [
"a1a1a1a1-b2b2-c3c3-d4d4-e5e5e5e5e5e5"
],
"access_scope": "organizational",
"users": [],
"groups": [
"finance"
]
}
}
]
}
'import requests
url = "https://api.xpander.ai/v1/skills/publish"
payload = {
"managed_by": {
"repo": "acme/agent-skills",
"path_prefix": "skills",
"ref": "refs/heads/main",
"commit": "9f1c2d3e4b5a6978877665544332211009988776",
"run_url": "https://github.com/acme/agent-skills/actions/runs/123456789"
},
"archive_missing": True,
"dry_run": False,
"skills": [
{
"name": "quarterly-report",
"path": "quarterly-report",
"skill_md": "---
name: quarterly-report
description: Build the quarterly revenue report from the finance warehouse.
---
Read the report template, query the warehouse, and hand back a PDF.",
"bundle_b64": "H4sIAAAAAAAAA+3BMQEAAADCoPVPbQwfoAAAAAAAAAAAAAAAAAAAAIC3AYbSVKsAKAAA",
"sha256": "4d1f8a3c0b9e7f6d5c4b3a2918273645f0e1d2c3b4a5968778695a4b3c2d1e0f",
"metadata": {
"visibility": "restricted",
"agents": ["a1a1a1a1-b2b2-c3c3-d4d4-e5e5e5e5e5e5"],
"access_scope": "organizational",
"users": [],
"groups": ["finance"]
}
}
]
}
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
managed_by: {
repo: 'acme/agent-skills',
path_prefix: 'skills',
ref: 'refs/heads/main',
commit: '9f1c2d3e4b5a6978877665544332211009988776',
run_url: 'https://github.com/acme/agent-skills/actions/runs/123456789'
},
archive_missing: true,
dry_run: false,
skills: [
{
name: 'quarterly-report',
path: 'quarterly-report',
skill_md: '---\nname: quarterly-report\ndescription: Build the quarterly revenue report from the finance warehouse.\n---\n\nRead the report template, query the warehouse, and hand back a PDF.',
bundle_b64: 'H4sIAAAAAAAAA+3BMQEAAADCoPVPbQwfoAAAAAAAAAAAAAAAAAAAAIC3AYbSVKsAKAAA',
sha256: '4d1f8a3c0b9e7f6d5c4b3a2918273645f0e1d2c3b4a5968778695a4b3c2d1e0f',
metadata: {
visibility: 'restricted',
agents: ['a1a1a1a1-b2b2-c3c3-d4d4-e5e5e5e5e5e5'],
access_scope: 'organizational',
users: [],
groups: ['finance']
}
}
]
})
};
fetch('https://api.xpander.ai/v1/skills/publish', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.xpander.ai/v1/skills/publish",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'managed_by' => [
'repo' => 'acme/agent-skills',
'path_prefix' => 'skills',
'ref' => 'refs/heads/main',
'commit' => '9f1c2d3e4b5a6978877665544332211009988776',
'run_url' => 'https://github.com/acme/agent-skills/actions/runs/123456789'
],
'archive_missing' => true,
'dry_run' => false,
'skills' => [
[
'name' => 'quarterly-report',
'path' => 'quarterly-report',
'skill_md' => '---
name: quarterly-report
description: Build the quarterly revenue report from the finance warehouse.
---
Read the report template, query the warehouse, and hand back a PDF.',
'bundle_b64' => 'H4sIAAAAAAAAA+3BMQEAAADCoPVPbQwfoAAAAAAAAAAAAAAAAAAAAIC3AYbSVKsAKAAA',
'sha256' => '4d1f8a3c0b9e7f6d5c4b3a2918273645f0e1d2c3b4a5968778695a4b3c2d1e0f',
'metadata' => [
'visibility' => 'restricted',
'agents' => [
'a1a1a1a1-b2b2-c3c3-d4d4-e5e5e5e5e5e5'
],
'access_scope' => 'organizational',
'users' => [
],
'groups' => [
'finance'
]
]
]
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.xpander.ai/v1/skills/publish"
payload := strings.NewReader("{\n \"managed_by\": {\n \"repo\": \"acme/agent-skills\",\n \"path_prefix\": \"skills\",\n \"ref\": \"refs/heads/main\",\n \"commit\": \"9f1c2d3e4b5a6978877665544332211009988776\",\n \"run_url\": \"https://github.com/acme/agent-skills/actions/runs/123456789\"\n },\n \"archive_missing\": true,\n \"dry_run\": false,\n \"skills\": [\n {\n \"name\": \"quarterly-report\",\n \"path\": \"quarterly-report\",\n \"skill_md\": \"---\\nname: quarterly-report\\ndescription: Build the quarterly revenue report from the finance warehouse.\\n---\\n\\nRead the report template, query the warehouse, and hand back a PDF.\",\n \"bundle_b64\": \"H4sIAAAAAAAAA+3BMQEAAADCoPVPbQwfoAAAAAAAAAAAAAAAAAAAAIC3AYbSVKsAKAAA\",\n \"sha256\": \"4d1f8a3c0b9e7f6d5c4b3a2918273645f0e1d2c3b4a5968778695a4b3c2d1e0f\",\n \"metadata\": {\n \"visibility\": \"restricted\",\n \"agents\": [\n \"a1a1a1a1-b2b2-c3c3-d4d4-e5e5e5e5e5e5\"\n ],\n \"access_scope\": \"organizational\",\n \"users\": [],\n \"groups\": [\n \"finance\"\n ]\n }\n }\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-api-key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.xpander.ai/v1/skills/publish")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"managed_by\": {\n \"repo\": \"acme/agent-skills\",\n \"path_prefix\": \"skills\",\n \"ref\": \"refs/heads/main\",\n \"commit\": \"9f1c2d3e4b5a6978877665544332211009988776\",\n \"run_url\": \"https://github.com/acme/agent-skills/actions/runs/123456789\"\n },\n \"archive_missing\": true,\n \"dry_run\": false,\n \"skills\": [\n {\n \"name\": \"quarterly-report\",\n \"path\": \"quarterly-report\",\n \"skill_md\": \"---\\nname: quarterly-report\\ndescription: Build the quarterly revenue report from the finance warehouse.\\n---\\n\\nRead the report template, query the warehouse, and hand back a PDF.\",\n \"bundle_b64\": \"H4sIAAAAAAAAA+3BMQEAAADCoPVPbQwfoAAAAAAAAAAAAAAAAAAAAIC3AYbSVKsAKAAA\",\n \"sha256\": \"4d1f8a3c0b9e7f6d5c4b3a2918273645f0e1d2c3b4a5968778695a4b3c2d1e0f\",\n \"metadata\": {\n \"visibility\": \"restricted\",\n \"agents\": [\n \"a1a1a1a1-b2b2-c3c3-d4d4-e5e5e5e5e5e5\"\n ],\n \"access_scope\": \"organizational\",\n \"users\": [],\n \"groups\": [\n \"finance\"\n ]\n }\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.xpander.ai/v1/skills/publish")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"managed_by\": {\n \"repo\": \"acme/agent-skills\",\n \"path_prefix\": \"skills\",\n \"ref\": \"refs/heads/main\",\n \"commit\": \"9f1c2d3e4b5a6978877665544332211009988776\",\n \"run_url\": \"https://github.com/acme/agent-skills/actions/runs/123456789\"\n },\n \"archive_missing\": true,\n \"dry_run\": false,\n \"skills\": [\n {\n \"name\": \"quarterly-report\",\n \"path\": \"quarterly-report\",\n \"skill_md\": \"---\\nname: quarterly-report\\ndescription: Build the quarterly revenue report from the finance warehouse.\\n---\\n\\nRead the report template, query the warehouse, and hand back a PDF.\",\n \"bundle_b64\": \"H4sIAAAAAAAAA+3BMQEAAADCoPVPbQwfoAAAAAAAAAAAAAAAAAAAAIC3AYbSVKsAKAAA\",\n \"sha256\": \"4d1f8a3c0b9e7f6d5c4b3a2918273645f0e1d2c3b4a5968778695a4b3c2d1e0f\",\n \"metadata\": {\n \"visibility\": \"restricted\",\n \"agents\": [\n \"a1a1a1a1-b2b2-c3c3-d4d4-e5e5e5e5e5e5\"\n ],\n \"access_scope\": \"organizational\",\n \"users\": [],\n \"groups\": [\n \"finance\"\n ]\n }\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"results": [
{
"name": "quarterly-report",
"outcome": "updated",
"skill_id": "5b5b5b5b-6c6c-7d7d-8e8e-9f9f9f9f9f9f",
"detail": "bundle changed; visibility org -> restricted"
}
],
"archived": [
"legacy-invoice-check"
],
"warnings": []
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}Publish is the call a CI job makes when a skills repository merges. The repository holds one folder per skill, each with a
SKILL.md (the instructions the agent reads) and an xpander.yaml (the registry contract). On merge, CI bundles every skill folder under managed_by.path_prefix and sends up to 25 skills per call, with the managed_by block naming the repo, ref, commit and run URL. The response holds one outcome per skill in results: created, updated, unchanged, archived or error, with its skill_id and a short detail. A matching sha256 returns unchanged. archive_missing archives the skills this repo and prefix published earlier that the call no longer lists (their names come back in archived), dry_run computes every outcome without writing, and non-fatal notes arrive in warnings. Publishes and archives are audited as PUBLISH_SKILL and ARCHIVE_SKILL. Authenticate with an organization API key in x-api-key.
xpander.yaml carries the skill’s access, and each skill’s metadata mirrors it. visibility is org (any agent in the organization may hold the skill), restricted (only the agents listed in agents) or agent (one owner agent, the single entry in agents). access_scope is organizational for the organization’s catalog or personal for the publisher’s own. users and groups are the user and group audiences of Manage access: who sees the skill in the catalog. How the scope is enforced at runtime is on Skill visibility; how it looks to a builder is on Skills.Authorizations
API Key for authentication
Body
application/json
Where the skills come from. Stored on each published skill so the registry knows which repository manages it.
Show child attributes
Show child attributes
Up to 25 skills per call.
Required array length:
1 - 25 elementsShow child attributes
Show child attributes
Archive skills that this repo and prefix published earlier and that are absent from skills. Their names are returned in archived.
Compute every outcome without writing to the registry.
Was this page helpful?

