SynapSynapDocs
Hub REST API

Skills

The Skills operations of the Hub REST API (7 operations).

For BuildersOpen-source podSynap CloudGenerated from Synap-core/backend@c31e261ab (main)
GET
/skills/system

Authorization

bearerAuth
headerAuthorizationBearer <API key>

Pod API key (Bearer) issued via /api/hub/setup/agent or pod admin tooling. Browser/web clients may use the X-Session-Token header instead. See GET /api/hub/auth/status to introspect the calling key.

Response Body

Array of skill packages with file contents

application/json
  1. response
[index: integer]?
Example Request
curl -X GET 'https://pod.example.com/api/hub/skills/system'
Example Response
[  {    "slug": "string",    "files": [      {        "path": "string",        "content": "string"      }    ]  }]
GET
/briefs

Authorization

bearerAuth
headerAuthorizationBearer <API key>

Pod API key (Bearer) issued via /api/hub/setup/agent or pod admin tooling. Browser/web clients may use the X-Session-Token header instead. See GET /api/hub/auth/status to introspect the calling key.

Query Parameters

tools*string

Comma-separated tool names

workspaceId?string
Formatuuid
door?string
Value in"chat""automation"

Response Body

Composed briefs

application/json
  1. response
briefs*
Example Request
curl -X GET 'https://pod.example.com/api/hub/briefs?tools=string'
Example Response
{  "briefs": {    "property1": "string",    "property2": "string"  }}

List skills

GET
/skills

Authorization

bearerAuth
headerAuthorizationBearer <API key>

Pod API key (Bearer) issued via /api/hub/setup/agent or pod admin tooling. Browser/web clients may use the X-Session-Token header instead. See GET /api/hub/auth/status to introspect the calling key.

Query Parameters

workspaceId?string
Formatuuid
kind?string
Value in"instruction""code""declarative""builtin"
scope?string
Value in"pod""user""workspace"
status?string
Value in"active""inactive""error""all"
limit?string

Response Body

Skill list

application/json
  1. response
skills*array<>
Example Request
curl -X GET 'https://pod.example.com/api/hub/skills'
Example Response
{  "skills": [    {      "property1": null,      "property2": null    }  ]}
POST
/skills

Authorization

bearerAuth
headerAuthorizationBearer <API key>

Pod API key (Bearer) issued via /api/hub/setup/agent or pod admin tooling. Browser/web clients may use the X-Session-Token header instead. See GET /api/hub/auth/status to introspect the calling key.

Request Body

application/json
  1. body
name*string
Length1 <= length <= 255
kind?string
Value in"instruction""code""declarative""builtin"
scope?string
Value in"pod""user""workspace"
agentTypes?array<string>
description?string
code?string
Length1 <= length
body?string
Length1 <= length
slug?string
Length1 <= length <= 255
parameters?
category?string
executionMode?string
Value in"sync""async"
timeoutSeconds?number
Range1 <= value <= 300
requires?array<>
workspaceId?string
Formatuuid

Response Body

Created or proposed skill

application/json
  1. response
id*string
status*string
Value in"created""proposed"
proposalId*string|null
requires?array<string>
Example Request
curl -X POST 'https://pod.example.com/api/hub/skills' \  -H 'Content-Type: application/json' \  -d '{  "name": "string"}'
Example Response
{  "id": "string",  "status": "created",  "proposalId": "string",  "requires": [    "string"  ]}
POST
/skills/{id}/approve

Authorization

bearerAuth
headerAuthorizationBearer <API key>

Pod API key (Bearer) issued via /api/hub/setup/agent or pod admin tooling. Browser/web clients may use the X-Session-Token header instead. See GET /api/hub/auth/status to introspect the calling key.

Path Parameters

id*string
Formatuuid

Request Body

application/json
  1. body
approved?boolean
Defaulttrue

Response Body

Updated approval state

application/json
  1. response
id*string
approved*boolean
Example Request
curl -X POST 'https://pod.example.com/api/hub/skills/497f6eca-6276-4993-bfeb-53cbbbba6f08/approve' \  -H 'Content-Type: application/json' \  -d '{}'
Example Response
{  "id": "string",  "approved": true}
POST
/skills/{id}/dry-run

Authorization

bearerAuth
headerAuthorizationBearer <API key>

Pod API key (Bearer) issued via /api/hub/setup/agent or pod admin tooling. Browser/web clients may use the X-Session-Token header instead. See GET /api/hub/auth/status to introspect the calling key.

Path Parameters

id*string
Formatuuid

Request Body

application/json
  1. body
parameters?

Response Body

Dry-run result + intended side effects

application/json
  1. response
result?unknown
dryRunEffects*array<unknown>
Example Request
curl -X POST 'https://pod.example.com/api/hub/skills/497f6eca-6276-4993-bfeb-53cbbbba6f08/dry-run' \  -H 'Content-Type: application/json' \  -d '{}'
Example Response
{  "result": null,  "dryRunEffects": [    null  ]}
DELETE
/skills/{id}

Authorization

bearerAuth
headerAuthorizationBearer <API key>

Pod API key (Bearer) issued via /api/hub/setup/agent or pod admin tooling. Browser/web clients may use the X-Session-Token header instead. See GET /api/hub/auth/status to introspect the calling key.

Path Parameters

id*string
Formatuuid

Response Body

Deleted or proposed

application/json
  1. response
status*string
Value in"deleted""proposed"
proposalId*string|null
Example Request
curl -X DELETE 'https://pod.example.com/api/hub/skills/497f6eca-6276-4993-bfeb-53cbbbba6f08'
Example Response
{  "status": "deleted",  "proposalId": "string"}