Skip to main content
GET
Get a secret

Authorizations

Authorization
string
header
required

MCPJam API key (sk_…). Create one at Settings → API keys. Guest sessions cannot use the API, and API keys cannot manage other API keys.

Path Parameters

projectId
string
required

ID of the hosted project that contains the server.

secretId
string
required

Secret ID, as returned by the project's secret list.

Response

The secret, as metadata.

A project credential — METADATA ONLY, always. There is no value field on this schema and no route that returns one: a secret is written and delivered into a run, never read back.

id
string
required
projectId
string
required
name
string
required

The environment-variable name (^[A-Z_][A-Z0-9_]*$). This IS the secret's identity: what a materialized delivery exports, what a workflow references, and what stays stable across a rotation. Immutable.

description
string | null
required
delivery
enum<string>
required

brokered — the sandbox's egress proxy injects the value as a request header OUTSIDE the VM, so the box never holds it. Prevents EXTRACTION, not USE: any process in the box can call the bound host while the policy is live, and it works for HTTPS APIs only (domain rules bind on ports 80/443). materialized — a real environment variable inside the box, which is the only thing a CLI can read; EXTRACTABLE BY DESIGN.

Available options:
brokered,
materialized
sharing
enum<string>
required

project — admin-managed, delivered to every member's sessions. user — personal, delivered ONLY in sessions its owner starts and silently absent from anyone else's run of the same environment. Immutable.

Available options:
user,
project
lastDeliveredAt
integer | null
required

When this secret was last HANDED TO a run — not when it was last used. Brokered use is unobservable by construction (the proxy injects the header; the request is never seen here), so used would be a number nobody can honestly produce. null means nothing has been recorded, which is not the same as never delivered.

createdAt
integer
required
updatedAt
integer
required
createdByUserId
string
required
updatedByUserId
string
required
brokerHosts
string[]

Brokered only: the exact hostnames the header is injected on.

brokerHeader
string

Brokered only: the header name.

brokerTemplate
string

Brokered only: the header value, with {} where the secret goes.

ownerUserId
string

Personal secrets only. Project-shared rows have no owner.