SynapSynapDocs
Hub REST API

Links

The Links operations of the Hub REST API (2 operations).

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

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

type*string
Value in"playbook""tool""skill""command""session""source""entity""channel""participant""automation""project""secret""capability""agent""workspace""document""track""profile"
id*string
Length1 <= length

Response Body

The edges touching this node

application/json
  1. response
links*array<>
Example Request
curl -X GET 'https://pod.example.com/api/hub/links?type=playbook&id=string'
Example Response
{  "links": [    {      "property1": null,      "property2": null    }  ]}
POST
/links

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
userId?string
workspaceId?string
Formatuuid
fromType*string
Value in"playbook""tool""skill""command""session""source""entity""channel""participant""automation""project""secret""capability""agent""workspace""document""track""profile"
fromId*string
Length1 <= length
toType*string
Value in"playbook""tool""skill""command""session""source""entity""channel""participant""automation""project""secret""capability""agent""workspace""document""track""profile"
toId*string
Length1 <= length
linkType*string
Value in"grants""requires""instantiated_from""used""targets""produced""member_of""feeds""promoted_to""provided_by""about""documents""concerns""activates""spawned_from""blocked_by""replaces""uses""dispatched_via""assigned_to"
metadata?
agentUserId?string
Formatuuid
reasoning?string

Response Body

Created link, or a proposal when governance defers. For blocked_by, link is always null (there is no row to hand back through the dedicated producer) and blockedBy.inserted distinguishes a new edge (1) from an already-existing one (0).

application/json
  1. response
status*string
[key: string]?unknown
Example Request
curl -X POST 'https://pod.example.com/api/hub/links' \  -H 'Content-Type: application/json' \  -d '{  "fromType": "playbook",  "fromId": "string",  "toType": "playbook",  "toId": "string",  "linkType": "grants"}'
Example Response
{  "status": "string",  "property1": null,  "property2": null}