Sandbox secrets
Sandbox secrets endpoints of the Ellipsis REST API.
Values are write-only: the response carries only names and timestamps, never the stored value.
curl "https://api.ellipsis.dev/secrets" \
-H "Authorization: Bearer $ELLIPSIS_API_KEY"{
"secrets": [
{
"created_at": "2026-01-01T00:00:00Z",
"name": "string",
"updated_at": "2026-01-01T00:00:00Z"
}
]
}import os
from ellipsis import Ellipsis
client = Ellipsis(api_key=os.environ["ELLIPSIS_API_TOKEN"])
result = client.secrets.list()
print(result){
"secrets": [
{
"created_at": "2026-01-01T00:00:00Z",
"name": "string",
"updated_at": "2026-01-01T00:00:00Z"
}
]
}import { Ellipsis } from '@ellipsis-dev/sdk';
const client = new Ellipsis({
apiKey: process.env.ELLIPSIS_API_TOKEN!,
});
const result = await client.secrets.list();
console.log(result);{
"secrets": [
{
"created_at": "2026-01-01T00:00:00Z",
"name": "string",
"updated_at": "2026-01-01T00:00:00Z"
}
]
}No request body.
{
"properties": {
"secrets": {
"items": {
"properties": {
"created_at": {
"format": "date-time",
"type": "string"
},
"name": {
"type": "string"
},
"updated_at": {
"format": "date-time",
"type": "string"
}
},
"required": [
"name",
"created_at",
"updated_at"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"secrets"
],
"type": "object"
}Responses
Returns only the secrets this call wrote, names and timestamps only — values are write-only. Refused for sandbox tokens (held by potentially-untrusted in-sandbox code); mutations require an API key or user token.
curl -X PUT "https://api.ellipsis.dev/secrets" \
-H "Authorization: Bearer $ELLIPSIS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"secrets":[]}'{
"secrets": [
{
"created_at": "2026-01-01T00:00:00Z",
"name": "string",
"updated_at": "2026-01-01T00:00:00Z"
}
]
}import os
from ellipsis import Ellipsis
client = Ellipsis(api_key=os.environ["ELLIPSIS_API_TOKEN"])
result = client.secrets.set([])
print(result){
"secrets": [
{
"created_at": "2026-01-01T00:00:00Z",
"name": "string",
"updated_at": "2026-01-01T00:00:00Z"
}
]
}import { Ellipsis } from '@ellipsis-dev/sdk';
const client = new Ellipsis({
apiKey: process.env.ELLIPSIS_API_TOKEN!,
});
const result = await client.secrets.set({ secrets: [] });
console.log(result);{
"secrets": [
{
"created_at": "2026-01-01T00:00:00Z",
"name": "string",
"updated_at": "2026-01-01T00:00:00Z"
}
]
}{
"properties": {
"secrets": {
"items": {
"properties": {
"name": {
"type": "string"
},
"value": {
"type": "string"
}
},
"required": [
"name",
"value"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"secrets"
],
"type": "object"
}{
"properties": {
"secrets": {
"items": {
"properties": {
"created_at": {
"format": "date-time",
"type": "string"
},
"name": {
"type": "string"
},
"updated_at": {
"format": "date-time",
"type": "string"
}
},
"required": [
"name",
"created_at",
"updated_at"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"secrets"
],
"type": "object"
}Request
secretsarray<SecretInput>required
The secrets to store.
Responses
Refused for sandbox tokens; mutations require an API key or user token.
curl -X DELETE "https://api.ellipsis.dev/secrets/{name}" \
-H "Authorization: Bearer $ELLIPSIS_API_KEY"import os
from ellipsis import Ellipsis
client = Ellipsis(api_key=os.environ["ELLIPSIS_API_TOKEN"])
result = client.secrets.delete("...")
print(result)import { Ellipsis } from '@ellipsis-dev/sdk';
const client = new Ellipsis({
apiKey: process.env.ELLIPSIS_API_TOKEN!,
});
const result = await client.secrets.delete('...');
console.log(result);Request
namestringrequired