# API Reference

Generated capability index grouped by service and API family.

## Capability index

This public developer catalog excludes admin and internal routes.

### GET /api/seadb/api/v1/artifacts

- id: `seadb.artifacts.list`
- service: `seadb`
- group: `artifacts`
- access: `read`
- requiredScopes: `seadb:content:read`, `seadb:content:*`, `seadb:*`, `seagate:route:seadb`, `seagate:route:*`, `seagate:admin`
- runtimeSafe: `true`

List content-library artifacts.

### GET /api/seadb/_ls/{namespace}

- id: `seadb.docs.list`
- service: `seadb`
- group: `docs`
- access: `read`
- requiredScopes: `seadb:content:read`, `seadb:content:*`, `seadb:*`, `seagate:route:seadb`, `seagate:route:*`, `seagate:admin`
- runtimeSafe: `true`

List SeaDB document namespaces or namespace contents.

### GET /api/seadb/{path}

- id: `seadb.docs.read`
- service: `seadb`
- group: `docs`
- access: `read`
- requiredScopes: `seadb:content:read`, `seadb:content:*`, `seadb:*`, `seagate:route:seadb`, `seagate:route:*`, `seagate:admin`
- runtimeSafe: `true`

Read one SeaDB document by path.

### GET /api/seadb/_search?q={query}

- id: `seadb.docs.search`
- service: `seadb`
- group: `docs`
- access: `read`
- requiredScopes: `seadb:content:read`, `seadb:content:*`, `seadb:*`, `seagate:route:seadb`, `seagate:route:*`, `seagate:admin`
- runtimeSafe: `true`

Search SeaDB documents.

### POST /api/seadb/{path}

- id: `seadb.docs.write`
- service: `seadb`
- group: `docs`
- access: `write`
- requiredScopes: `seadb:content:write`, `seadb:content:*`, `seadb:*`, `seagate:route:seadb`, `seagate:route:*`, `seagate:admin`
- runtimeSafe: `true`

Write one SeaDB document by path.

### POST /api/files/delegations/download

- id: `files.download.delegate`
- service: `seadb`
- group: `files`
- access: `read`
- requiredScopes: `files:read`, `files:*`, `seadb:content:read`, `seadb:*`, `seagate:route:seadb`, `seagate:route:*`, `seagate:admin`
- runtimeSafe: `true`

Create a delegated download/read URL for an artifact.

### POST /api/files/delegations/upload/complete

- id: `files.upload.complete`
- service: `seadb`
- group: `files`
- access: `write`
- requiredScopes: `files:write`, `files:*`, `seadb:content:write`, `seadb:*`, `seagate:route:seadb`, `seagate:route:*`, `seagate:admin`
- runtimeSafe: `true`

Complete a delegated upload after object storage write succeeds.

### POST /api/files/delegations/upload

- id: `files.upload.delegate`
- service: `seadb`
- group: `files`
- access: `write`
- requiredScopes: `files:write`, `files:*`, `seadb:content:write`, `seadb:*`, `seagate:route:seadb`, `seagate:route:*`, `seagate:admin`
- runtimeSafe: `true`

Create a delegated upload for a content-library artifact.

### GET /api/seadb/api/v1/public/harness-packs/{pack}/{path}

- id: `seadb.harness_packs.public`
- service: `seadb`
- group: `harness`
- access: `read`
- requiredScopes: `public:read`, `seagate:route:seadb`, `seagate:route:*`, `seagate:admin`
- runtimeSafe: `true`

Read SeaDB public harness seed packs.

### GET /api/seadb/api/v1/public/skill-catalog/catalog.json

- id: `seadb.skill_catalog.public`
- service: `seadb`
- group: `skills`
- access: `read`
- requiredScopes: `public:read`, `seagate:route:seadb`, `seagate:route:*`, `seagate:admin`
- runtimeSafe: `true`

Legacy SeaDB public Skill Hub catalog route; canonical catalog is seaplane.skill_catalog.public.

### POST /api/keys

- id: `seagate.api_keys.create`
- service: `seagate`
- group: `auth`
- access: `write`
- requiredScopes: `api-keys:write`, `seagate:api-keys:write`, `seagate:admin`
- runtimeSafe: `false`

Create a project-scoped API key. The raw token is returned only once.

### GET /api/keys

- id: `seagate.api_keys.list`
- service: `seagate`
- group: `auth`
- access: `read`
- requiredScopes: `api-keys:read`, `api-keys:write`, `seagate:api-keys:read`, `seagate:admin`
- runtimeSafe: `false`

List visible, non-revoked API keys for the current user/project.

### DELETE /api/keys/{keyId}

- id: `seagate.api_keys.revoke`
- service: `seagate`
- group: `auth`
- access: `write`
- requiredScopes: `api-keys:write`, `seagate:api-keys:write`, `seagate:admin`
- runtimeSafe: `false`

Revoke a project API key.

### PATCH /api/keys/{keyId}

- id: `seagate.api_keys.update`
- service: `seagate`
- group: `auth`
- access: `write`
- requiredScopes: `api-keys:write`, `seagate:api-keys:write`, `seagate:admin`
- runtimeSafe: `false`

Update a key label, scopes, expiration, or spend policy metadata.

### GET /api/seagate/v1/capabilities?runtime=true

- id: `seagate.capabilities.list`
- service: `seagate`
- group: `catalog`
- access: `read`
- requiredScopes: anonymous/public
- runtimeSafe: `true`

Discover runtime-safe SeaGate capabilities with scope and schema metadata.

### GET /api/seaplane/v1/threads/{threadId}/events

- id: `events.thread`
- service: `seaplane`
- group: `events`
- access: `read`
- requiredScopes: `seaplane:read`, `seaplane:admin`, `seaplane:*`, `seagate:route:seaplane`, `seagate:route:*`, `seagate:admin`
- runtimeSafe: `true`

Read recent event evidence for a thread.

### POST /api/seaplane/v1/play/apps

- id: `seaplane.play.apps.create`
- service: `seaplane`
- group: `play`
- access: `write`
- requiredScopes: `seaplane:write`, `seaplane:admin`, `seaplane:*`, `seagate:route:seaplane`, `seagate:route:*`, `seagate:admin`
- runtimeSafe: `true`

Create a private SeaChat Play app with an optional slug.

### GET /api/seaplane/v1/play/apps

- id: `seaplane.play.apps.list`
- service: `seaplane`
- group: `play`
- access: `read`
- requiredScopes: `seaplane:read`, `seaplane:admin`, `seaplane:*`, `seagate:route:seaplane`, `seagate:route:*`, `seagate:admin`
- runtimeSafe: `true`

List SeaChat Play apps owned by the current credential.

### GET /api/seaplane/v1/play/hosts/{slug}/allow

- id: `seaplane.play.host.allow`
- service: `seaplane`
- group: `play`
- access: `read`
- requiredScopes: `public:read`, `seagate:route:seaplane`, `seagate:route:*`, `seagate:admin`
- runtimeSafe: `true`

Check whether a Play slug is registered before browser verification.

### POST /api/seaplane/v1/play/apps/{appId}/launch-link

- id: `seaplane.play.launch.create`
- service: `seaplane`
- group: `play`
- access: `write`
- requiredScopes: `seaplane:write`, `seaplane:admin`, `seaplane:*`, `seagate:route:seaplane`, `seagate:route:*`, `seagate:admin`
- runtimeSafe: `true`

Create a short-lived owner launch link for a private Play app.

### POST /api/seaplane/v1/play/releases/{releaseId}/complete

- id: `seaplane.play.releases.complete`
- service: `seaplane`
- group: `play`
- access: `write`
- requiredScopes: `seaplane:write`, `seaplane:admin`, `seaplane:*`, `seagate:route:seaplane`, `seagate:route:*`, `seagate:admin`
- runtimeSafe: `true`

Complete a delegated Play bundle upload and activate the ready release.

### POST /api/seaplane/v1/play/apps/{appId}/releases

- id: `seaplane.play.releases.prepare`
- service: `seaplane`
- group: `play`
- access: `write`
- requiredScopes: `seaplane:write`, `seaplane:admin`, `seaplane:*`, `seagate:route:seaplane`, `seagate:route:*`, `seagate:admin`
- runtimeSafe: `true`

Prepare a Play release upload delegation for built static app bytes.

### POST /api/seaplane/v1/play/apps/{appId}/share-links

- id: `seaplane.play.share.create`
- service: `seaplane`
- group: `play`
- access: `write`
- requiredScopes: `seaplane:write`, `seaplane:admin`, `seaplane:*`, `seagate:route:seaplane`, `seagate:route:*`, `seagate:admin`
- runtimeSafe: `true`

Create a time-bound access link for a private Play app.

### GET /api/seaplane/v1/public/skill-catalog/catalog.json

- id: `seaplane.skill_catalog.public`
- service: `seaplane`
- group: `skills`
- access: `read`
- requiredScopes: `public:read`, `seagate:route:seaplane`, `seagate:route:*`, `seagate:admin`
- runtimeSafe: `true`

Read canonical seaplane Skill Hub catalog records used by managed runtime installs.

### GET /api/seaplane/v1/public/skill-catalog/releases/{path}

- id: `seaplane.skill_package.public`
- service: `seaplane`
- group: `skills`
- access: `read`
- requiredScopes: `public:read`, `seagate:route:seaplane`, `seagate:route:*`, `seagate:admin`
- runtimeSafe: `true`

Download immutable skill package bytes referenced by the canonical seaplane public skill catalog.

### POST /api/seaplane/v1/threads

- id: `threads.create`
- service: `seaplane`
- group: `threads`
- access: `write`
- requiredScopes: `seaplane:write`, `seaplane:admin`, `seaplane:*`, `seagate:route:seaplane`, `seagate:route:*`, `seagate:admin`
- runtimeSafe: `true`

Create a product thread.

### POST /api/seaplane/v1/threads/{threadId}/fork

- id: `threads.fork`
- service: `seaplane`
- group: `threads`
- access: `write`
- requiredScopes: `seaplane:write`, `seaplane:admin`, `seaplane:*`, `seagate:route:seaplane`, `seagate:route:*`, `seagate:admin`
- runtimeSafe: `true`

Fork a conversation into a new thread.

### GET /api/seaplane/v1/threads

- id: `threads.list`
- service: `seaplane`
- group: `threads`
- access: `read`
- requiredScopes: `seaplane:read`, `seaplane:admin`, `seaplane:*`, `seagate:route:seaplane`, `seagate:route:*`, `seagate:admin`
- runtimeSafe: `true`

List product threads visible to the current credential.

### GET /api/seaplane/v1/threads/{threadId}/messages

- id: `threads.messages.list`
- service: `seaplane`
- group: `threads`
- access: `read`
- requiredScopes: `seaplane:read`, `seaplane:admin`, `seaplane:*`, `seagate:route:seaplane`, `seagate:route:*`, `seagate:admin`
- runtimeSafe: `true`

List messages in a thread.

### POST /api/seaplane/v1/threads/{threadId}/messages

- id: `threads.messages.send`
- service: `seaplane`
- group: `threads`
- access: `write`
- requiredScopes: `seaplane:write`, `seaplane:admin`, `seaplane:*`, `seagate:route:seaplane`, `seagate:route:*`, `seagate:admin`
- runtimeSafe: `true`

Create and dispatch a user message in a thread.

### PUT /api/seaplane/v1/threads/{threadId}/pin

- id: `threads.pin`
- service: `seaplane`
- group: `threads`
- access: `write`
- requiredScopes: `seaplane:write`, `seaplane:admin`, `seaplane:*`, `seagate:route:seaplane`, `seagate:route:*`, `seagate:admin`
- runtimeSafe: `true`

Pin or unpin a thread.

### PATCH /api/seaplane/v1/threads/{threadId}

- id: `threads.rename`
- service: `seaplane`
- group: `threads`
- access: `write`
- requiredScopes: `seaplane:write`, `seaplane:admin`, `seaplane:*`, `seagate:route:seaplane`, `seagate:route:*`, `seagate:admin`
- runtimeSafe: `true`

Update a thread title.

### POST /api/seaplane/v1/threads/{threadId}/share

- id: `threads.share`
- service: `seaplane`
- group: `threads`
- access: `write`
- requiredScopes: `seaplane:write`, `seaplane:admin`, `seaplane:*`, `seagate:route:seaplane`, `seagate:route:*`, `seagate:admin`
- runtimeSafe: `true`

Share one thread's context into another thread through an artifact.

### GET /api/seaplane/v1/threads/{threadId}

- id: `threads.show`
- service: `seaplane`
- group: `threads`
- access: `read`
- requiredScopes: `seaplane:read`, `seaplane:admin`, `seaplane:*`, `seagate:route:seaplane`, `seagate:route:*`, `seagate:admin`
- runtimeSafe: `true`

Read a product thread by id.

### GET /api/seaplane/v1/scheduler/timers

- id: `timers.list`
- service: `seaplane`
- group: `timers`
- access: `read`
- requiredScopes: `seaplane:read`, `seaplane:admin`, `seaplane:*`, `seagate:route:seaplane`, `seagate:route:*`, `seagate:admin`
- runtimeSafe: `true`

List scheduled timers visible to the current credential.

### GET /api/searouter/v1/help

- id: `searouter.help`
- service: `searouter`
- group: `models`
- access: `invoke`
- requiredScopes: `model:invoke`, `searouter:invoke`, `searouter:*`, `searouter:admin`, `platform:admin`, `seagate:route:searouter`, `seagate:route:*`, `seagate:admin`
- runtimeSafe: `true`

Read SeaRouter model and multimodal help.

### POST /api/searouter/v1/invoke/image/{model}/{version}

- id: `searouter.image.generate`
- service: `searouter`
- group: `models`
- access: `invoke`
- requiredScopes: `model:invoke`, `searouter:invoke`, `searouter:*`, `searouter:admin`, `platform:admin`, `seagate:route:searouter`, `seagate:route:*`, `seagate:admin`
- runtimeSafe: `true`

Invoke a SeaRouter image generation model.

### POST /api/searouter/llm/v1/responses

- id: `searouter.llm.responses`
- service: `searouter`
- group: `models`
- access: `invoke`
- requiredScopes: `model:invoke`, `searouter:invoke`, `searouter:*`, `searouter:admin`, `platform:admin`, `seagate:route:searouter`, `seagate:route:*`, `seagate:admin`
- runtimeSafe: `true`

Send one OpenAI-compatible Responses API request through SeaRouter.

### GET /api/searouter/v1/help/models/search?q={query}

- id: `searouter.models.search`
- service: `searouter`
- group: `models`
- access: `invoke`
- requiredScopes: `model:invoke`, `searouter:invoke`, `searouter:*`, `searouter:admin`, `platform:admin`, `seagate:route:searouter`, `seagate:route:*`, `seagate:admin`
- runtimeSafe: `true`

Search SeaRouter model help/catalog entries.

### GET /api/searouter/v1/usage/summary

- id: `searouter.usage.summary`
- service: `searouter`
- group: `usage`
- access: `read`
- requiredScopes: `usage:read`, `usage:read:org`, `usage:read:all`, `billing:read`, `billing:usage:read`, `searouter:usage:read`, `searouter:*`, `searouter:admin`, `platform:admin`, `admin`, `seagate:route:searouter`, `seagate:route:*`, `seagate:admin`
- runtimeSafe: `true`

Read model usage summary for the current credential scope.

### GET /api/seatool/v1/skill-catalog/catalog.json

- id: `seatool.skill_catalog.public`
- service: `seatool`
- group: `skills`
- access: `read`
- requiredScopes: `public:read`, `seagate:route:seatool`, `seagate:route:*`, `seagate:admin`
- runtimeSafe: `true`

Read Seatool dynamic Skill Hub catalog records used by managed runtime installs.

### GET /api/seatool/v1/skill-catalog/releases/{path}

- id: `seatool.skill_package.public`
- service: `seatool`
- group: `skills`
- access: `read`
- requiredScopes: `public:read`, `seagate:route:seatool`, `seagate:route:*`, `seagate:admin`
- runtimeSafe: `true`

Download a Seatool dynamic skill package referenced by the public skill catalog.

### GET /api/seatool/v1/catalog

- id: `seatool.catalog`
- service: `seatool`
- group: `tools`
- access: `read`
- requiredScopes: `seatool:read`, `seaplane:read`, `seatool:*`, `seatool:admin`, `platform:admin`, `admin`, `seagate:route:seatool`, `seagate:route:*`, `seagate:admin`
- runtimeSafe: `true`

Read tool/plugin catalog metadata.

### POST /api/seatool/v1/invoke/{plugin}/{tool}

- id: `seatool.invoke`
- service: `seatool`
- group: `tools`
- access: `invoke`
- requiredScopes: `tool:invoke`, `seatool:invoke`, `seatool:*`, `seatool:admin`, `platform:admin`, `seagate:route:seatool`, `seagate:route:*`, `seagate:admin`
- runtimeSafe: `true`

Invoke a Seatool plugin tool.
