Skip to main content

Vaults API

Vaults are containers for secrets, linked to GitHub repositories.

List vaults

Get all vaults you have access to.

GET /v1/vaults
Authorization: Bearer <token>

Query parameters:

ParameterTypeDefaultDescription
limitnumber25Max results (1-100)
offsetnumber0Skip N results

Response:

{
"data": {
"vaults": [
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"repoOwner": "acme",
"repoName": "api",
"repoAvatar": "https://avatars.githubusercontent.com/...",
"secretCount": 15,
"environments": ["local", "dev", "staging", "production"],
"permission": "admin",
"updatedAt": "2025-01-15T10:30:00Z"
}
],
"total": 1
}
}

Create vault

Initialize a vault for a repository. Requires admin access on the GitHub repo.

POST /v1/vaults
Authorization: Bearer <token>
Content-Type: application/json

{
"repoFullName": "owner/repo"
}

Response (201 Created):

{
"data": {
"vaultId": "550e8400-e29b-41d4-a716-446655440000",
"repoFullName": "owner/repo",
"message": "Vault created successfully"
}
}

Errors:

StatusReason
403Not an admin on this repository
409Vault already exists

Get vault

Get details for a specific vault.

GET /v1/vaults/:owner/:repo
Authorization: Bearer <token>

Response:

{
"data": {
"id": "550e8400-e29b-41d4-a716-446655440000",
"repoFullName": "owner/repo",
"repoOwner": "owner",
"repoName": "repo",
"repoAvatar": "https://avatars.githubusercontent.com/...",
"secretCount": 15,
"environments": ["local", "dev", "staging", "production"],
"permission": "admin",
"createdAt": "2025-01-01T00:00:00Z",
"updatedAt": "2025-01-15T10:30:00Z"
}
}

Delete vault

Delete a vault and all its secrets. Requires admin access.

DELETE /v1/vaults/:owner/:repo
Authorization: Bearer <token>

Response (204 No Content)

warning

This permanently deletes all secrets in the vault. This action cannot be undone.