Skip to main content
Every endpoint here needs an API key or session token. Path segments in braces are UUIDs returned by the parent resource — list your way down, or read them out of .sink.json.

Workspaces

Teams

Projects

Base path: /projects/{workspace_id}/{team_id}

Environments

Base path: /environments/{workspace_id}/{team_id}/{project_id}
Create an environment
string
required
One of dev, staging, prod, pilot, custom. Nothing else is accepted.
integer
Rotation cadence in days for the secrets inside. Falls back to the deployment default when omitted. See Audit & rotation.

Secrets

Set the base path once:
Keys must be valid environment-variable names, since the CLI writes them into a file a shell will source.

What a read returns

last_rotated_at is null for secrets written before rotation tracking existed — fall back to created_at. rotation_days is the cadence governing this secret: its own policy if it has one, otherwise its environment’s.
A list can answer 207 Multi-Status when some values could not be decrypted. The readable records are under detail.succeeded and the failures under detail.failed_ids. Treat 207 as a partial success, not an error — the CLI warns and carries on with what it got.

Example

Invites

Roles are integers: 0 Viewer, 1 Member, 2 Admin, 3 Owner. See Access control.