Sign Up

Secrets

List project secrets

GET
/secrets

Authorization

headerAuthorizationBearer <token>

Bearer project API key.

Scope: read:secrets

Query Parameters

limit?integer

Maximum number of items to return, 1–200 (default 100)

Formatint64
Range1 <= value <= 200
Default100
cursor?string

Opaque continuation token returned as next_cursor by a previous request

Response Body

The page of secrets

application/json
  1. response

GET /secrets response envelope.

next_cursor?|

The opaque continuation token, or null on the last page.

secrets*array<>

The secrets in this page.

curl -X GET 'https://example.com/secrets'
{  "next_cursor": "string",  "secrets": [    {      "allowed_domains": [        "string"      ],      "created_at": "2019-08-24T14:15:22Z",      "description": "string",      "name": "string",      "updated_at": "2019-08-24T14:15:22Z"    }  ]}

Get a secret's metadata

GET
/secrets/{name}

Authorization

headerAuthorizationBearer <token>

Bearer project API key.

Scope: read:secrets

Path Parameters

name*string

The secret name

Response Body

The secret metadata

application/json
  1. response

Secret metadata. The value is write-only.

allowed_domains*array<string>

The hosts the secret's value may be sent to. ["*"] means any host the platform has verified; an empty list means the secret is sent nowhere.

created_at*string

When the secret was created.

Formatdate-time
description?|

The user-facing description, or null when absent.

name*string

The secret name.

updated_at*string

When the secret was last updated.

Formatdate-time
curl -X GET 'https://example.com/secrets/string'
{  "allowed_domains": [    "string"  ],  "created_at": "2019-08-24T14:15:22Z",  "description": "string",  "name": "string",  "updated_at": "2019-08-24T14:15:22Z"}

Delete a secret

DELETE
/secrets/{name}

Refused while a sandbox, a bucket volume, or a sandbox detach that is not yet confirmed still references the secret.

Authorization

headerAuthorizationBearer <token>

Bearer project API key.

Scope: delete:secrets

Path Parameters

name*string

The secret name

Response Body

Secret deleted

curl -X DELETE 'https://example.com/secrets/string'
Empty
PUT
/secrets/{name}

Values are encrypted at rest and are write-only.

Authorization

headerAuthorizationBearer <token>

Bearer project API key.

Scope: write:secrets

Path Parameters

name*string

The secret name

Header Parameters

If-None-Match?|

Set to * to create only when the secret is absent

Request Body

application/json
  1. body

A secret value and its metadata. Values are encrypted at rest and are write-only.

allowed_domains?array<string>

Required per-secret egress scope: hostnames or *. wildcards, or ["*"] for any verified host. Empty or omitted is rejected.

description?|

An optional user-facing description.

value*string

The secret value (max 64 KiB). Write-only — never echoed back.

Response Body

The secret metadata, updated

application/json
  1. response

Secret metadata. The value is write-only.

allowed_domains*array<string>

The hosts the secret's value may be sent to. ["*"] means any host the platform has verified; an empty list means the secret is sent nowhere.

created_at*string

When the secret was created.

Formatdate-time
description?|

The user-facing description, or null when absent.

name*string

The secret name.

updated_at*string

When the secret was last updated.

Formatdate-time
curl -X PUT 'https://example.com/secrets/string' \  -H 'Content-Type: application/json' \  -d '{  "value": "string"}'
{  "allowed_domains": [    "string"  ],  "created_at": "2019-08-24T14:15:22Z",  "description": "string",  "name": "string",  "updated_at": "2019-08-24T14:15:22Z"}