Create a vault
const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({description: '<string>', ttl: '24h', metadata: {}})
};
fetch('https://api.prudra.dev/vaults', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.prudra.dev/vaults"
payload = {
"description": "<string>",
"ttl": "24h",
"metadata": {}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)curl --request POST \
--url https://api.prudra.dev/vaults \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"description": "<string>",
"ttl": "24h",
"metadata": {}
}
'{
"id": "vlt_abc123",
"organisationId": "<string>",
"status": "active",
"createdAt": "2023-11-07T05:31:56Z",
"description": "<string>",
"metadata": {},
"sessionId": "<string>",
"ttl": "2023-11-07T05:31:56Z"
}{
"type": "https://api.prudra.dev/problems/payment-limit-reached",
"title": "Plan Limit Reached",
"status": 429,
"detail": "Your plan includes 100 payments per month. You have used 100.",
"limit": 100,
"current": 100,
"upgradeUrl": "https://dashboard.prudra.com/settings/billing"
}Vaults
Create a vault
Creates a new vault — a persistent workspace for agent task output. TTL defaults from server config; use ttl for a custom duration (e.g. 24h, 7d).
POST
/
vaults
Create a vault
const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({description: '<string>', ttl: '24h', metadata: {}})
};
fetch('https://api.prudra.dev/vaults', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.prudra.dev/vaults"
payload = {
"description": "<string>",
"ttl": "24h",
"metadata": {}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)curl --request POST \
--url https://api.prudra.dev/vaults \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"description": "<string>",
"ttl": "24h",
"metadata": {}
}
'{
"id": "vlt_abc123",
"organisationId": "<string>",
"status": "active",
"createdAt": "2023-11-07T05:31:56Z",
"description": "<string>",
"metadata": {},
"sessionId": "<string>",
"ttl": "2023-11-07T05:31:56Z"
}{
"type": "https://api.prudra.dev/problems/payment-limit-reached",
"title": "Plan Limit Reached",
"status": 429,
"detail": "Your plan includes 100 payments per month. You have used 100.",
"limit": 100,
"current": 100,
"upgradeUrl": "https://dashboard.prudra.com/settings/billing"
}Authorizations
Your Prudra API key. Get one at dashboard.prudra.com/settings/api-keys
Body
application/json

