Vault

Vaults

Create and manage vaults, check availability, and read audit events without secret values.

Create and manage vaults, check availability, and read audit events without secret values.

Guide →

Base URL and authentication

Audit events are newest first. Filter by secret name or ID; an unknown secret returns an empty list. limit defaults to 50 and caps at 200; invalid limits or cursors return 400 INVALID_PARAMS. Events have no time-based expiry; archiving retains them, while deletion removes the resource's history and leaves a deletion record.

List vaults

GET /vault/v1/vaults

ParameterLocationDescription
cursorquerynext_cursor from the previous page.
limitqueryItems per page. (default: 50) (1–200)
include_archivedqueryInclude archived items. (default: false)

Response

HTTP 200

application/json

FieldType / enumRequiredDescription
dataVault[]yesResult items
data[].idstringyesObject ID
data[].type"vault"yesObject type
data[].display_namestringyesDisplay name, 1–255 characters
data[].metadataobjectyesUp to 16 caller labels; keys at most 64 characters, values at most 512
data[].status"active" / "archived"yesCurrent status
data[].secret_countintegeryesActive secret count
data[].needs_reauthorization_countintegeryesOAuth secrets needing reauthorization after a failed refresh
data[].created_atdate-timeyesCreation time
data[].updated_atdate-timeyesLast update time
data[].archived_atdate-time / nullyesArchive time, or null
next_cursorstring / nullyesNext page cursor, or null

Error responses

A missing or invalid API Key returns 401 UNAUTHENTICATED.

CodeHTTPMeaning, trigger and actionkindrecoveryRetryable
INVALID_PARAMS400Invalid fields, names, hosts, metadata, pagination or return URL; correct the requestvalidation_failurenoneno
curl "https://api.deepraxis.ai/vault/v1/vaults" \
  -H "Authorization: Bearer $PRAXIS_API_KEY"

Create vault

POST /vault/v1/vaults

Request body

FieldType / enumRequiredDescription
display_namestringyesDisplay name, 1–255 characters
metadataobjectnoUp to 16 caller labels; keys at most 64 characters, values at most 512

Response

HTTP 200

application/json

FieldType / enumRequiredDescription
idstringyesObject ID
type"vault"yesObject type
display_namestringyesDisplay name, 1–255 characters
metadataobjectyesUp to 16 caller labels; keys at most 64 characters, values at most 512
status"active" / "archived"yesCurrent status
secret_countintegeryesActive secret count
needs_reauthorization_countintegeryesOAuth secrets needing reauthorization after a failed refresh
created_atdate-timeyesCreation time
updated_atdate-timeyesLast update time
archived_atdate-time / nullyesArchive time, or null

Error responses

A missing or invalid API Key returns 401 UNAUTHENTICATED.

CodeHTTPMeaning, trigger and actionkindrecoveryRetryable
INVALID_PARAMS400Invalid fields, names, hosts, metadata, pagination or return URL; correct the requestvalidation_failurenoneno
curl -X POST "https://api.deepraxis.ai/vault/v1/vaults" \
  -H "Authorization: Bearer $PRAXIS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"display_name":"Agent credentials"}'

Check vaults

POST /vault/v1/vaults:check

Request body

FieldType / enumRequiredDescription
vault_idsstring[]yesVault IDs to check (at most 50)

Response

HTTP 200

application/json

FieldType / enumRequiredDescription
dataobject[]yesResult items
data[].vault_idstringyesVault ID
data[].status"ok" / "not_found" / "archived"yesCurrent status

Error responses

A missing or invalid API Key returns 401 UNAUTHENTICATED.

CodeHTTPMeaning, trigger and actionkindrecoveryRetryable
INVALID_PARAMS400Invalid fields, names, hosts, metadata, pagination or return URL; correct the requestvalidation_failurenoneno
curl -X POST "https://api.deepraxis.ai/vault/v1/vaults:check" \
  -H "Authorization: Bearer $PRAXIS_API_KEY" \
  -H "Content-Type: application/json" \
  -d "{\"vault_ids\":[\"${VAULT_ID}\"]}"

Get vault

GET /vault/v1/vaults/{vault_id}

ParameterLocationDescription
vault_idpathID of the vault in your account, returned when the vault is created.

Response

HTTP 200

application/json

FieldType / enumRequiredDescription
idstringyesObject ID
type"vault"yesObject type
display_namestringyesDisplay name, 1–255 characters
metadataobjectyesUp to 16 caller labels; keys at most 64 characters, values at most 512
status"active" / "archived"yesCurrent status
secret_countintegeryesActive secret count
needs_reauthorization_countintegeryesOAuth secrets needing reauthorization after a failed refresh
created_atdate-timeyesCreation time
updated_atdate-timeyesLast update time
archived_atdate-time / nullyesArchive time, or null

Error responses

A missing or invalid API Key returns 401 UNAUTHENTICATED.

CodeHTTPMeaning, trigger and actionkindrecoveryRetryable
VAULT_NOT_FOUND404Vault absent or outside this account; check the vault IDvalidation_failurenoneno
curl "https://api.deepraxis.ai/vault/v1/vaults/${VAULT_ID}" \
  -H "Authorization: Bearer $PRAXIS_API_KEY"

Update vault

POST /vault/v1/vaults/{vault_id}

ParameterLocationDescription
vault_idpathID of the vault in your account, returned when the vault is created.

Request body

FieldType / enumRequiredDescription
display_namestringnoDisplay name, 1–255 characters
metadataobjectnoMerge by key: strings upsert, null deletes, omitted keys remain; up to 16 caller labels

Response

HTTP 200

application/json

FieldType / enumRequiredDescription
idstringyesObject ID
type"vault"yesObject type
display_namestringyesDisplay name, 1–255 characters
metadataobjectyesUp to 16 caller labels; keys at most 64 characters, values at most 512
status"active" / "archived"yesCurrent status
secret_countintegeryesActive secret count
needs_reauthorization_countintegeryesOAuth secrets needing reauthorization after a failed refresh
created_atdate-timeyesCreation time
updated_atdate-timeyesLast update time
archived_atdate-time / nullyesArchive time, or null

Error responses

A missing or invalid API Key returns 401 UNAUTHENTICATED.

CodeHTTPMeaning, trigger and actionkindrecoveryRetryable
VAULT_NOT_FOUND404Vault absent or outside this account; check the vault IDvalidation_failurenoneno
VAULT_INVALID_STATE409Writing to an archived vault or secret; use an active resourcevalidation_failurenoneno
INVALID_PARAMS400Invalid fields, names, hosts, metadata, pagination or return URL; correct the requestvalidation_failurenoneno
curl -X POST "https://api.deepraxis.ai/vault/v1/vaults/${VAULT_ID}" \
  -H "Authorization: Bearer $PRAXIS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"metadata":{"team":"growth"}}'

Delete vault

DELETE /vault/v1/vaults/{vault_id}

ParameterLocationDescription
vault_idpathID of the vault in your account, returned when the vault is created.

Response

HTTP 200

application/json

FieldType / enumRequiredDescription
idstringyesObject ID
type"vault_deleted"yesObject type

Error responses

A missing or invalid API Key returns 401 UNAUTHENTICATED.

CodeHTTPMeaning, trigger and actionkindrecoveryRetryable
VAULT_NOT_FOUND404Vault absent or outside this account; check the vault IDvalidation_failurenoneno
curl -X DELETE "https://api.deepraxis.ai/vault/v1/vaults/${VAULT_ID}" \
  -H "Authorization: Bearer $PRAXIS_API_KEY"

Archive vault

POST /vault/v1/vaults/{vault_id}/archive

ParameterLocationDescription
vault_idpathID of the vault in your account, returned when the vault is created.

Response

HTTP 200

application/json

FieldType / enumRequiredDescription
idstringyesObject ID
type"vault"yesObject type
display_namestringyesDisplay name, 1–255 characters
metadataobjectyesUp to 16 caller labels; keys at most 64 characters, values at most 512
status"active" / "archived"yesCurrent status
secret_countintegeryesActive secret count
needs_reauthorization_countintegeryesOAuth secrets needing reauthorization after a failed refresh
created_atdate-timeyesCreation time
updated_atdate-timeyesLast update time
archived_atdate-time / nullyesArchive time, or null

Error responses

A missing or invalid API Key returns 401 UNAUTHENTICATED.

CodeHTTPMeaning, trigger and actionkindrecoveryRetryable
VAULT_NOT_FOUND404Vault absent or outside this account; check the vault IDvalidation_failurenoneno
curl -X POST "https://api.deepraxis.ai/vault/v1/vaults/${VAULT_ID}/archive" \
  -H "Authorization: Bearer $PRAXIS_API_KEY"

List events

GET /vault/v1/vaults/{vault_id}/events

ParameterLocationDescription
vault_idpathID of the vault in your account, returned when the vault is created.
secretqueryOnly events of this secret (name or vsec_ ID).
cursorquerynext_cursor from the previous page.
limitqueryItems per page. (default: 50) (1–200)

Response

HTTP 200

application/json

FieldType / enumRequiredDescription
dataVaultEvent[]yesResult items
data[].iduuidyesObject ID
data[].type"vault.created" / "vault.updated" / "vault.archived" / "vault.deleted" / "vault_secret.created" / "vault_secret.updated" / "vault_secret.archived" / "vault_secret.deleted" / "vault_secret.used" / "vault_secret.refreshed" / "vault_secret.refresh_failed" / "vault_authorization.completed" / "vault_authorization.failed" / "vault_authorization.expired"yesObject type
data[].secret_idstring / nullyesAssociated secret ID, or null
data[].secret_namestring / nullyesAssociated secret name
data[].atdate-timeyesEvent or error time
data[].detailobject / nullyesEvent facts, never secret values; changed lists updated fields
data[].detail.changedstring[]noFields updated, such as value and allowed_hosts
next_cursorstring / nullyesNext page cursor, or null

Error responses

A missing or invalid API Key returns 401 UNAUTHENTICATED.

CodeHTTPMeaning, trigger and actionkindrecoveryRetryable
VAULT_NOT_FOUND404Vault absent or outside this account; check the vault IDvalidation_failurenoneno
INVALID_PARAMS400Invalid fields, names, hosts, metadata, pagination or return URL; correct the requestvalidation_failurenoneno
curl "https://api.deepraxis.ai/vault/v1/vaults/${VAULT_ID}/events" \
  -H "Authorization: Bearer $PRAXIS_API_KEY"

Vault

FieldType / enumRequiredDescription
idstringyesObject ID
type"vault"yesObject type
display_namestringyesDisplay name, 1–255 characters
metadataobjectyesUp to 16 caller labels; keys at most 64 characters, values at most 512
status"active" / "archived"yesCurrent status
secret_countintegeryesActive secret count
needs_reauthorization_countintegeryesOAuth secrets needing reauthorization after a failed refresh
created_atdate-timeyesCreation time
updated_atdate-timeyesLast update time
archived_atdate-time / nullyesArchive time, or null

VaultPage

FieldType / enumRequiredDescription
dataVault[]yesResult items
data[].idstringyesObject ID
data[].type"vault"yesObject type
data[].display_namestringyesDisplay name, 1–255 characters
data[].metadataobjectyesUp to 16 caller labels; keys at most 64 characters, values at most 512
data[].status"active" / "archived"yesCurrent status
data[].secret_countintegeryesActive secret count
data[].needs_reauthorization_countintegeryesOAuth secrets needing reauthorization after a failed refresh
data[].created_atdate-timeyesCreation time
data[].updated_atdate-timeyesLast update time
data[].archived_atdate-time / nullyesArchive time, or null
next_cursorstring / nullyesNext page cursor, or null

VaultEvent

FieldType / enumRequiredDescription
iduuidyesObject ID
type"vault.created" / "vault.updated" / "vault.archived" / "vault.deleted" / "vault_secret.created" / "vault_secret.updated" / "vault_secret.archived" / "vault_secret.deleted" / "vault_secret.used" / "vault_secret.refreshed" / "vault_secret.refresh_failed" / "vault_authorization.completed" / "vault_authorization.failed" / "vault_authorization.expired"yesObject type
secret_idstring / nullyesAssociated secret ID, or null
secret_namestring / nullyesAssociated secret name
atdate-timeyesEvent or error time
detailobject / nullyesEvent facts, never secret values; changed lists updated fields
detail.changedstring[]noFields updated, such as value and allowed_hosts
Export

On this page