curl "https://app.runtm.com/api/cloud/secrets/personal" \
-H "Authorization: Bearer runtm_xxx"
import requests
response = requests.get(
"https://app.runtm.com/api/cloud/secrets/personal",
headers={"Authorization": "Bearer runtm_xxx"},
)
data = response.json()
for secret in data["secrets"]:
print(f"{secret['name']} (set={secret['has_value']})")
const response = await fetch(
"https://app.runtm.com/api/cloud/secrets/personal",
{
headers: {
"Authorization": "Bearer runtm_xxx",
},
}
);
const data = await response.json();
data.secrets.forEach((s) =>
console.log(`${s.name} (set=${s.has_value})`)
);
{
"secrets": [
{
"name": "OPENAI_API_KEY",
"has_value": true,
"description": "OpenAI API key for GPT models",
"source": "personal"
},
{
"name": "GITHUB_TOKEN",
"has_value": true,
"description": null,
"source": "personal"
}
],
"count": 2
}
Personal
List Personal Secrets
List personal secret names and metadata
GET
/
api
/
secrets
/
personal
curl "https://app.runtm.com/api/cloud/secrets/personal" \
-H "Authorization: Bearer runtm_xxx"
import requests
response = requests.get(
"https://app.runtm.com/api/cloud/secrets/personal",
headers={"Authorization": "Bearer runtm_xxx"},
)
data = response.json()
for secret in data["secrets"]:
print(f"{secret['name']} (set={secret['has_value']})")
const response = await fetch(
"https://app.runtm.com/api/cloud/secrets/personal",
{
headers: {
"Authorization": "Bearer runtm_xxx",
},
}
);
const data = await response.json();
data.secrets.forEach((s) =>
console.log(`${s.name} (set=${s.has_value})`)
);
{
"secrets": [
{
"name": "OPENAI_API_KEY",
"has_value": true,
"description": "OpenAI API key for GPT models",
"source": "personal"
},
{
"name": "GITHUB_TOKEN",
"has_value": true,
"description": null,
"source": "personal"
}
],
"count": 2
}
Returns names and metadata for the authenticated user’s personal secrets. Values are never returned - only names and whether a value is set.
Required scope:
secrets:read
Headers
string
required
Bearer token. Example:
Bearer runtm_xxxstring
Optional org context. Personal secrets are user-scoped but may be org-aware.
Response
array
Array of secret entries.
string
Secret name.
boolean
Whether the secret has a stored value.
string | null
Optional description of the secret.
string | null
Source of the secret (e.g.
personal).integer
Total number of personal secrets.
curl "https://app.runtm.com/api/cloud/secrets/personal" \
-H "Authorization: Bearer runtm_xxx"
import requests
response = requests.get(
"https://app.runtm.com/api/cloud/secrets/personal",
headers={"Authorization": "Bearer runtm_xxx"},
)
data = response.json()
for secret in data["secrets"]:
print(f"{secret['name']} (set={secret['has_value']})")
const response = await fetch(
"https://app.runtm.com/api/cloud/secrets/personal",
{
headers: {
"Authorization": "Bearer runtm_xxx",
},
}
);
const data = await response.json();
data.secrets.forEach((s) =>
console.log(`${s.name} (set=${s.has_value})`)
);
{
"secrets": [
{
"name": "OPENAI_API_KEY",
"has_value": true,
"description": "OpenAI API key for GPT models",
"source": "personal"
},
{
"name": "GITHUB_TOKEN",
"has_value": true,
"description": null,
"source": "personal"
}
],
"count": 2
}