# API Reference

Generated capability index for the public /v1 developer surface.

## Capability index

This public developer catalog excludes admin and internal routes.

### DELETE /v1/docs/{path}

- id: `platform.docs.delete`
- service: `seadb`
- group: `documents`
- access: `write`
- requiredScopes: `seadb:content:write`
- runtimeSafe: `false`

Delete a document by path.

### PATCH /v1/docs/{path}

- id: `platform.docs.patch`
- service: `seadb`
- group: `documents`
- access: `write`
- requiredScopes: `seadb:content:write`
- runtimeSafe: `false`

Mutate a document with op append | edit | sed | patch.

### GET /v1/docs/{path}

- id: `platform.docs.read`
- service: `seadb`
- group: `documents`
- access: `read`
- requiredScopes: `seadb:content:read`
- runtimeSafe: `false`

Read a markdown/HTML document by path, or search via /v1/docs/_search?q=.

### POST /v1/docs/{path}

- id: `platform.docs.write`
- service: `seadb`
- group: `documents`
- access: `write`
- requiredScopes: `seadb:content:write`
- runtimeSafe: `false`

Write a document as text/markdown (string) or JSON (object).

### GET /v1/files/{fileId}/content

- id: `platform.files.content`
- service: `seadb`
- group: `files`
- access: `read`
- requiredScopes: `seadb:content:read`
- runtimeSafe: `false`

Stream artifact bytes inline (200) or return a signed redirect (302).

### DELETE /v1/files/{fileId}

- id: `platform.files.delete`
- service: `seadb`
- group: `files`
- access: `write`
- requiredScopes: `seadb:content:write`
- runtimeSafe: `false`

Delete artifact metadata by id.

### GET /v1/files/{fileId}

- id: `platform.files.get`
- service: `seadb`
- group: `files`
- access: `read`
- requiredScopes: `seadb:content:read`
- runtimeSafe: `false`

Read artifact metadata by id.

### GET /v1/files

- id: `platform.files.list`
- service: `seadb`
- group: `files`
- access: `read`
- requiredScopes: `seadb:content:read`
- runtimeSafe: `false`

List artifact metadata by prefix, kind, artifactType, or label.

### POST /v1/auth/keys

- id: `platform.auth_keys.create`
- service: `seagate`
- group: `auth`
- access: `write`
- requiredScopes: anonymous/public
- runtimeSafe: `false`

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

### GET /v1/auth/keys

- id: `platform.auth_keys.list`
- service: `seagate`
- group: `auth`
- access: `read`
- requiredScopes: anonymous/public
- runtimeSafe: `false`

List the API keys owned by the current user.

### DELETE /v1/auth/keys/{keyId}

- id: `platform.auth_keys.revoke`
- service: `seagate`
- group: `auth`
- access: `write`
- requiredScopes: anonymous/public
- runtimeSafe: `false`

Revoke a user-scoped API key by id.

### GET /v1/capabilities

- id: `platform.capabilities.list`
- service: `seagate`
- group: `auth`
- access: `read`
- requiredScopes: anonymous/public
- runtimeSafe: `false`

Return the capability catalog available to the current credential.

### GET /v1/me

- id: `platform.me.get`
- service: `seagate`
- group: `auth`
- access: `read`
- requiredScopes: anonymous/public
- runtimeSafe: `false`

Return the identity, actor type, auth method, and scopes for the current API key.

### POST /v1/downloads

- id: `platform.downloads.create`
- service: `seagate`
- group: `files`
- access: `read`
- requiredScopes: `files:read`
- runtimeSafe: `false`

Create a signed download URL for an artifact.

### POST /v1/uploads/complete

- id: `platform.uploads.complete`
- service: `seagate`
- group: `files`
- access: `write`
- requiredScopes: `files:write`
- runtimeSafe: `false`

Finalize a presigned upload; requires the sha256 of the bytes you PUT.

### POST /v1/uploads

- id: `platform.uploads.create`
- service: `seagate`
- group: `files`
- access: `write`
- requiredScopes: `files:write`
- runtimeSafe: `false`

Create an S3-style presigned upload delegation. PUT the bytes to the signed URL, then complete.

### POST /v1/threads

- id: `platform.threads.create`
- service: `seaplane`
- group: `conversation`
- access: `write`
- requiredScopes: `seaplane:write`
- runtimeSafe: `false`

Create a conversation thread (pure storage; no runtime).

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

- id: `platform.threads.get`
- service: `seaplane`
- group: `conversation`
- access: `read`
- requiredScopes: `seaplane:read`
- runtimeSafe: `false`

Read a conversation thread by id.

### GET /v1/threads

- id: `platform.threads.list`
- service: `seaplane`
- group: `conversation`
- access: `read`
- requiredScopes: `seaplane:read`
- runtimeSafe: `false`

List conversation threads (pure storage).

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

- id: `platform.threads.messages.create`
- service: `seaplane`
- group: `conversation`
- access: `write`
- requiredScopes: `seaplane:write`
- runtimeSafe: `false`

Append a message to a thread. The facade forces dispatch:false; no runtime, no assistant turn.

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

- id: `platform.threads.messages.list`
- service: `seaplane`
- group: `conversation`
- access: `read`
- requiredScopes: `seaplane:read`
- runtimeSafe: `false`

List messages in a thread.

### GET /v1/threads/{threadId}/timeline

- id: `platform.threads.timeline`
- service: `seaplane`
- group: `conversation`
- access: `read`
- requiredScopes: `seaplane:read`
- runtimeSafe: `false`

Replay the append-only timeline of a thread.

### POST /v1/chat/completions

- id: `platform.chat.completions.create`
- service: `searouter`
- group: `models`
- access: `invoke`
- requiredScopes: `model:invoke`
- runtimeSafe: `false`

Create an OpenAI-compatible chat completion. Set stream:true for an SSE stream.

### GET /v1/models/{path}

- id: `platform.models.get`
- service: `searouter`
- group: `models`
- access: `read`
- requiredScopes: `model:invoke`
- runtimeSafe: `false`

Enumerate deployment-specific model ids for a modality (filter to availability.state live_ok).

### GET /v1/models

- id: `platform.models.list`
- service: `searouter`
- group: `models`
- access: `read`
- requiredScopes: `model:invoke`
- runtimeSafe: `false`

List available model modalities and models.

### POST /v1/responses

- id: `platform.responses.create`
- service: `searouter`
- group: `models`
- access: `invoke`
- requiredScopes: `model:invoke`
- runtimeSafe: `false`

Create an OpenAI-compatible Responses result. Set stream:true for an SSE stream.

### DELETE /v1/tasks/{taskId}

- id: `platform.tasks.cancel`
- service: `searouter`
- group: `models`
- access: `write`
- requiredScopes: `model:invoke`
- runtimeSafe: `false`

Cancel an in-flight async task.

### GET /v1/tasks/{taskId}

- id: `platform.tasks.get`
- service: `searouter`
- group: `models`
- access: `read`
- requiredScopes: `model:invoke`
- runtimeSafe: `false`

Poll an async media/task by id.

### GET /v1/tasks/{taskId}/result

- id: `platform.tasks.result`
- service: `searouter`
- group: `models`
- access: `read`
- requiredScopes: `model:invoke`
- runtimeSafe: `false`

Fetch the result of a completed async task.

### POST /v1/invoke/{path}

- id: `platform.invoke`
- service: `searouter`
- group: `multimodal`
- access: `invoke`
- requiredScopes: `model:invoke`
- runtimeSafe: `false`

Single entrypoint for embeddings, rerank, and image/audio/video generation. path = {modality}/{model}[/{version}].

### GET /v1/usage?start={start}&end={end}

- id: `platform.usage.get`
- service: `searouter`
- group: `usage`
- access: `read`
- requiredScopes: `usage:read`
- runtimeSafe: `false`

Return usage attribution for the current key. Both start and end are required.

### GET /v1/tools/{pluginId}

- id: `platform.tools.get`
- service: `seatool`
- group: `tools`
- access: `read`
- requiredScopes: `seatool:read`
- runtimeSafe: `false`

Read a tool plugin definition by id.

### POST /v1/tools/{pluginId}/{toolName}/invoke

- id: `platform.tools.invoke`
- service: `seatool`
- group: `tools`
- access: `invoke`
- requiredScopes: `tool:invoke`
- runtimeSafe: `false`

Invoke a tool by plugin id and tool name with a JSON input.

### GET /v1/tools

- id: `platform.tools.list`
- service: `seatool`
- group: `tools`
- access: `read`
- requiredScopes: `seatool:read`
- runtimeSafe: `false`

List the available tool/plugin catalog.

### POST /v1/tools

- id: `platform.tools.publish`
- service: `seatool`
- group: `tools`
- access: `write`
- requiredScopes: `seatool:write`
- runtimeSafe: `false`

Publish or register a tool plugin definition.
