R4

List Vaults

Returns all accessible vaults, optionally filtered by project.

GET /api/v1/machine/vault

Headers

HeaderTypeRequiredDescription
X-API-KeystringYesYour API key

Query Parameters

ParameterTypeRequiredDescription
projectIdstringNoFilter vaults by project ID

Response

Success (200 OK)

{
  "vaults": [
    {
      "id": "507f1f77bcf86cd799439011",
      "name": "Production Secrets",
      "isEncrypted": true,
      "encryptionKeyId": "507f1f77bcf86cd799439015",
      "dataClassification": "CONFIDENTIAL",
      "itemCount": 12,
      "createdAt": "2026-01-15T10:30:00.000Z"
    },
    {
      "id": "507f1f77bcf86cd799439012",
      "name": "Development Config",
      "isEncrypted": true,
      "encryptionKeyId": "507f1f77bcf86cd799439015",
      "dataClassification": "INTERNAL",
      "itemCount": 5,
      "createdAt": "2026-02-01T08:00:00.000Z"
    }
  ]
}

Response Fields

FieldTypeDescription
vaultsarrayArray of vault summary objects
vaults[].idstringVault ID
vaults[].namestringVault name
vaults[].isEncryptedboolean | nullWhether the vault uses client-side encryption
vaults[].encryptionKeyIdstring | nullEncryption key ID (null if not encrypted)
vaults[].dataClassificationstring | nullData classification: PUBLIC, INTERNAL, CONFIDENTIAL, or CUI
vaults[].itemCountnumberNumber of non-archived items in the vault
vaults[].createdAtstringISO 8601 creation timestamp

Error Responses

401 Unauthorized - Invalid or missing API key

{
  "error": {
    "code": "unauthorized",
    "message": "Invalid or missing API key. Please provide your API key in the X-API-Key header."
  }
}

Example Requests

List all vaults:

curl -X GET "https://r4.dev/api/v1/machine/vault" \
  -H "X-API-Key: rk_abc123def456.ghijklmnopqrstuvwxyz"

Filter by project:

curl -X GET "https://r4.dev/api/v1/machine/vault?projectId=507f1f77bcf86cd799439014" \
  -H "X-API-Key: rk_abc123def456.ghijklmnopqrstuvwxyz"

Notes

  • Hidden and default vaults are excluded from results
  • Only non-archived vaults are returned
  • When filtering by projectId, only vaults with project-level permissions are returned

Use Cases

  • Inventory: List all vaults for audit and compliance reporting
  • Project discovery: Find vaults associated with a specific project
  • Automation: Discover available vaults before reading or writing secrets