Quickstart
Create a vault, add a secret, then list it.
Put your API Key in the PRAXIS_API_KEY environment variable and run the three requests below in order. Each run creates a new vault. Install jq to extract its ID; optionally set VAULT_NAME to choose its display name.
1. Create a vault
VAULT_JSON=$(curl --fail-with-body -sS -X POST "https://api.deepraxis.com/vault/v1/vaults" \
-H "Authorization: Bearer $PRAXIS_API_KEY" \
-H "Content-Type: application/json" \
-d "$(jq -n --arg name "${VAULT_NAME:-Agent credentials}" '{display_name: $name}')")
export VAULT_ID=$(printf '%s' "$VAULT_JSON" | jq -er '.id')
printf '%s\n' "$VAULT_JSON"Expect HTTP 200 with an object whose type is vault, status is active and secret_count is 0. The command saves its vlt_ ID in VAULT_ID.
2. Add a secret
curl -X POST "https://api.deepraxis.com/vault/v1/vaults/$VAULT_ID/secrets" \
-H "Authorization: Bearer $PRAXIS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"name": "GITHUB_TOKEN", "value": "ghp_example", "allowed_hosts": ["api.github.com"]}'Expect HTTP 200 with an object whose type is vault_secret, kind is static and version is 1. The response has no value: once written, a value is never returned. This secret can be used only on requests to api.github.com.
3. List secrets
curl "https://api.deepraxis.com/vault/v1/vaults/$VAULT_ID/secrets" \
-H "Authorization: Bearer $PRAXIS_API_KEY"Expect HTTP 200 with one item in data named GITHUB_TOKEN, and next_cursor set to null.
Clean up
curl -X POST "https://api.deepraxis.com/vault/v1/vaults/$VAULT_ID/archive" \
-H "Authorization: Bearer $PRAXIS_API_KEY"
curl -X DELETE "https://api.deepraxis.com/vault/v1/vaults/$VAULT_ID" \
-H "Authorization: Bearer $PRAXIS_API_KEY"Expect HTTP 200 with status: "archived" from archive, then HTTP 200 with {"id": "<VAULT_ID>", "type": "vault_deleted"}. Deleting a vault also deletes every secret in it and cannot be undone.
Templates, .env import and one-click authorization → · All requests and objects →