Skip to main content
PUT
Upsert secret

Authorizations

Authorization
string
header
required

Clerk session JWT for the web app (active organization required), or an organization-scoped SEAOTTER access key (so_…) from POST /api/v1/api-keys for programmatic / docs try-it / MCP use. The same so_… value is both Authorization: Bearer so_… and SEAOTTER_API_KEY.

Path Parameters

agent_id
string<uuid>
required

Body

application/json
key
string
required

Portable env name matching ^[A-Z_][A-Z0-9_]{0,127}$

Maximum string length: 128
Pattern: ^[A-Z_][A-Z0-9_]{0,127}$
Example:

"OPENAI_API_KEY"

value
string
required

Secret value (stored in Secret Manager). Re-PUTting the same key adds a new GSM version and rotates the live value. Non-empty, no NULs, max 65536 UTF-8 bytes.

Required string length: 1 - 65536

Response

Successful Response

secret_id
string
required

GSM secret resource id (not a full projects/... path)

key
string
required
operation_id
string<uuid> | null

Durable secret_operations row id

status
string
default:applied

running | applied | pending_reconcile | failed

stage
string | null