Skip to content

Restore a soft-deleted vault

POST
/vaults/{id}/restore
curl --request POST \
--url https://api.engram.page/vaults/example/restore \
--header 'Authorization: Bearer <token>'

Restores a soft-deleted vault back to active within its 30-day window. Returns 402 when restoring would exceed the plan’s vault cap and 404 when no such vault exists.

id
required
string

Vault UUID

Restored

Media typeapplication/json
VaultResponse
object
vault
required
Vault
object
attachment_count
integer
created_at
string format: date-time
nullable
deleted_at
string format: date-time
nullable
encrypted

Always true — vaults are encrypted at rest.

boolean
id
required
string format: uuid
is_default
boolean
name
required
string
note_count
integer
populated

True once the vault holds a note other than the seeded welcome note (the moment the vault_populated event fires).

boolean
purge_at

When a soft-deleted vault is hard-purged (deleted_at + 30d).

string format: date-time
nullable
slug
string
nullable

Example generated

{
"vault": {
"attachment_count": 1,
"created_at": "2026-04-15T12:00:00Z",
"deleted_at": "2026-04-15T12:00:00Z",
"encrypted": true,
"id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0",
"is_default": true,
"name": "example",
"note_count": 1,
"populated": true,
"purge_at": "2026-04-15T12:00:00Z",
"slug": "example"
}
}

Vault cap reached

Media typeapplication/json
LimitError
object
current
integer
nullable
error
required
string
limit
One of:
integer
limit_key
string
nullable
reason
required
string
tier
string
nullable
upgrade_url
string
nullable

Example

{
"error": "limit_exceeded",
"limit_key": "vaults_cap",
"reason": "vaults_cap_exceeded",
"tier": "free"
}

The credential may not restore this vault: this needs write access to it

Media typeapplication/json
MessageError
object
error
required
string

Example

{
"error": "not found"
}

No such vault, or one the credential cannot reach (the two look the same)

Media typeapplication/json
MessageError
object
error
required
string

Example

{
"error": "not found"
}