Admin

Administrative and debugging endpoints.

GET
/ext/hindclaw/debug/resolve

Resolve and return effective access policy + bank policy for a context.

Authorization

HTTPBearer
AuthorizationBearer <token>

In: header

Query Parameters

bank*Bank
action?Action
Default"bank:recall"
sender?string|null
user_id?string|null
sa_id?string|null

Response Body

application/json

application/json

curl -X GET "https://example.com/ext/hindclaw/debug/resolve?bank=string"
null
GET
/ext/hindclaw/admin/template-sources

List all configured marketplace sources.

Authorization

HTTPBearer
AuthorizationBearer <token>

In: header

Response Body

application/json

curl -X GET "https://example.com/ext/hindclaw/admin/template-sources"
[  {    "name": "string",    "url": "string",    "scope": "server",    "owner": "string",    "has_auth": true,    "description": "string",    "created_at": "string",    "updated_at": "string"  }]
POST
/ext/hindclaw/admin/template-sources

Register a trusted marketplace source.

Authorization

HTTPBearer
AuthorizationBearer <token>

In: header

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Request to register a marketplace source.

Response Body

application/json

application/json

curl -X POST "https://example.com/ext/hindclaw/admin/template-sources" \  -H "Content-Type: application/json" \  -d '{    "url": "string"  }'
{  "name": "string",  "url": "string",  "scope": "server",  "owner": "string",  "has_auth": true,  "description": "string",  "created_at": "string",  "updated_at": "string"}
DELETE
/ext/hindclaw/admin/template-sources/{name}

Remove a trusted marketplace source.

Authorization

HTTPBearer
AuthorizationBearer <token>

In: header

Path Parameters

name*Name

Response Body

application/json

curl -X DELETE "https://example.com/ext/hindclaw/admin/template-sources/string"
Empty
GET
/ext/hindclaw/admin/templates

Authorization

HTTPBearer
AuthorizationBearer <token>

In: header

Query Parameters

category?string|null
tag?string|null

Response Body

application/json

application/json

curl -X GET "https://example.com/ext/hindclaw/admin/templates"
{  "templates": [    {      "id": "string",      "name": "string",      "description": "string",      "category": "string",      "integrations": [        "string"      ],      "tags": [        "string"      ],      "scope": "server",      "owner": "string",      "source_name": "string",      "source_scope": "server",      "source_owner": "string",      "source_revision": "string",      "installed_at": "2019-08-24T14:15:22Z",      "updated_at": "2019-08-24T14:15:22Z",      "manifest": {}    }  ]}
POST
/ext/hindclaw/admin/templates

Authorization

HTTPBearer
AuthorizationBearer <token>

In: header

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Request to create a personal template by inlining an upstream manifest.

Response Body

application/json

application/json

curl -X POST "https://example.com/ext/hindclaw/admin/templates" \  -H "Content-Type: application/json" \  -d '{    "id": "string",    "name": "string",    "manifest": {      "version": "string"    }  }'
{  "id": "string",  "name": "string",  "description": "string",  "category": "string",  "integrations": [    "string"  ],  "tags": [    "string"  ],  "scope": "server",  "owner": "string",  "source_name": "string",  "source_scope": "server",  "source_owner": "string",  "source_revision": "string",  "installed_at": "2019-08-24T14:15:22Z",  "updated_at": "2019-08-24T14:15:22Z",  "manifest": {}}
GET
/ext/hindclaw/admin/templates/{template_id}

Authorization

HTTPBearer
AuthorizationBearer <token>

In: header

Path Parameters

template_id*Template Id

Response Body

application/json

application/json

curl -X GET "https://example.com/ext/hindclaw/admin/templates/string"
{  "id": "string",  "name": "string",  "description": "string",  "category": "string",  "integrations": [    "string"  ],  "tags": [    "string"  ],  "scope": "server",  "owner": "string",  "source_name": "string",  "source_scope": "server",  "source_owner": "string",  "source_revision": "string",  "installed_at": "2019-08-24T14:15:22Z",  "updated_at": "2019-08-24T14:15:22Z",  "manifest": {}}
PATCH
/ext/hindclaw/admin/templates/{template_id}

Authorization

HTTPBearer
AuthorizationBearer <token>

In: header

Path Parameters

template_id*Template Id

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Partial update for hand-edited templates. Every field is optional.

Response Body

application/json

application/json

curl -X PATCH "https://example.com/ext/hindclaw/admin/templates/string" \  -H "Content-Type: application/json" \  -d '{}'
{  "id": "string",  "name": "string",  "description": "string",  "category": "string",  "integrations": [    "string"  ],  "tags": [    "string"  ],  "scope": "server",  "owner": "string",  "source_name": "string",  "source_scope": "server",  "source_owner": "string",  "source_revision": "string",  "installed_at": "2019-08-24T14:15:22Z",  "updated_at": "2019-08-24T14:15:22Z",  "manifest": {}}
DELETE
/ext/hindclaw/admin/templates/{template_id}

Authorization

HTTPBearer
AuthorizationBearer <token>

In: header

Path Parameters

template_id*Template Id

Response Body

application/json

curl -X DELETE "https://example.com/ext/hindclaw/admin/templates/string"
Empty
POST
/ext/hindclaw/admin/templates/{template_id}/install

Authorization

HTTPBearer
AuthorizationBearer <token>

In: header

Path Parameters

template_id*Template Id

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Request to install a template from a marketplace source.

The {id} in the URL path is the template id WITHIN the source. The installed-template id is alias_id if provided, else the source template id. This lets a user install the same source template under a different installed name (Section 4.3 identity invariant: at most one row per (id, scope, owner)).

Response Body

application/json

application/json

curl -X POST "https://example.com/ext/hindclaw/admin/templates/string/install" \  -H "Content-Type: application/json" \  -d '{    "source_name": "string"  }'
{  "id": "string",  "name": "string",  "description": "string",  "category": "string",  "integrations": [    "string"  ],  "tags": [    "string"  ],  "scope": "server",  "owner": "string",  "source_name": "string",  "source_scope": "server",  "source_owner": "string",  "source_revision": "string",  "installed_at": "2019-08-24T14:15:22Z",  "updated_at": "2019-08-24T14:15:22Z",  "manifest": {}}
POST
/ext/hindclaw/admin/templates/{template_id}/update

Authorization

HTTPBearer
AuthorizationBearer <token>

In: header

Path Parameters

template_id*Template Id

Query Parameters

force?Force
Defaultfalse

Response Body

application/json

application/json

curl -X POST "https://example.com/ext/hindclaw/admin/templates/string/update"
{  "updated": true,  "previous_revision": "string",  "new_revision": "string",  "template": {    "id": "string",    "name": "string",    "description": "string",    "category": "string",    "integrations": [      "string"    ],    "tags": [      "string"    ],    "scope": "server",    "owner": "string",    "source_name": "string",    "source_scope": "server",    "source_owner": "string",    "source_revision": "string",    "installed_at": "2019-08-24T14:15:22Z",    "updated_at": "2019-08-24T14:15:22Z",    "manifest": {}  }}
GET
/ext/hindclaw/admin/templates/{template_id}/check-update

Authorization

HTTPBearer
AuthorizationBearer <token>

In: header

Path Parameters

template_id*Template Id

Response Body

application/json

application/json

curl -X GET "https://example.com/ext/hindclaw/admin/templates/string/check-update"
{  "has_update": true,  "current_revision": "string",  "latest_revision": "string",  "source_name": "string",  "source_scope": "server"}