Hyperbrowser Vaults API
The Vaults API from Hyperbrowser — 2 operation(s) for vaults.
The Vaults API from Hyperbrowser — 2 operation(s) for vaults.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/hyperbrowser:hyperbrowser-vaults-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Hyperbrowser Vaults API
version: 1.0.0
servers:
- url: https://api.hyperbrowser.ai
description: Production server
tags:
- name: Vaults
paths:
/api/vaults:
get:
summary: List vaults
operationId: listVaults
description: Lists your team's vaults, sorted by name, with their entries. Secrets are enabled for teams on request; please contact support to enable them (otherwise 403 SECRETS_FEATURE_DISABLED). Restricted API keys need the secrets.read scope. When you're signed in rather than using an API key, you must be a team owner or admin (otherwise 403 SECRETS_ADMIN_REQUIRED).
security:
- ApiKeyAuth: []
parameters:
- name: page
in: query
required: false
schema:
type: integer
minimum: 1
default: 1
- name: limit
in: query
required: false
schema:
type: integer
minimum: 1
maximum: 100
default: 20
description: Vaults per page.
- name: search
in: query
required: false
schema:
type: string
maxLength: 256
description: Only vaults whose name contains this text, ignoring case.
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/VaultListResponse'
'400':
description: Invalid query parameters.
content:
application/json:
schema:
$ref: '#/components/schemas/SecretErrorResponse'
'401':
description: Authentication required.
content:
application/json:
schema:
$ref: '#/components/schemas/SecretErrorResponse'
'403':
description: API_KEY_SCOPE_DENIED (the API key lacks a required scope), SECRETS_FEATURE_DISABLED, or SECRETS_ADMIN_REQUIRED.
content:
application/json:
schema:
$ref: '#/components/schemas/SecretErrorResponse'
'500':
description: Internal server error.
content:
application/json:
schema:
$ref: '#/components/schemas/SecretErrorResponse'
tags:
- Vaults
post:
summary: Create a vault
operationId: createVault
description: 'Creates a vault: a set of environment variables that point at your secrets. Pass the vault by name as `vault` to POST /api/sandbox and POST /api/sandbox/{id}/processes, or as `{"vault": name}` in a browser session''s `credentials`. A team can have at most 100 vaults. Secrets are enabled for teams on request; please contact support to enable them (otherwise 403 SECRETS_FEATURE_DISABLED). Restricted API keys need the secrets.manage scope. When you''re signed in rather than using an API key, you must be a team owner or admin (otherwise 403 SECRETS_ADMIN_REQUIRED).'
security:
- ApiKeyAuth: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateVaultParams'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/Vault'
'400':
description: Invalid request body.
content:
application/json:
schema:
$ref: '#/components/schemas/SecretErrorResponse'
'401':
description: Authentication required.
content:
application/json:
schema:
$ref: '#/components/schemas/SecretErrorResponse'
'403':
description: API_KEY_SCOPE_DENIED (the API key lacks a required scope), SECRETS_FEATURE_DISABLED, or SECRETS_ADMIN_REQUIRED.
content:
application/json:
schema:
$ref: '#/components/schemas/SecretErrorResponse'
'404':
description: 'SECRET_NOT_FOUND or SECRET_VERSION_NOT_FOUND: an entry or the token names a missing secret or version.'
content:
application/json:
schema:
$ref: '#/components/schemas/SecretErrorResponse'
'409':
description: VAULT_NAME_TAKEN, VAULT_LIMIT_REACHED, VAULT_ENTRY_LIMIT_REACHED, or SECRET_TYPE_MISMATCH (an `op_token` secret as an entry).
content:
application/json:
schema:
$ref: '#/components/schemas/SecretErrorResponse'
'500':
description: Internal server error.
content:
application/json:
schema:
$ref: '#/components/schemas/SecretErrorResponse'
tags:
- Vaults
/api/vaults/{id}:
get:
summary: Get a vault
operationId: getVault
description: Returns a vault and its entries. Secrets are enabled for teams on request; please contact support to enable them (otherwise 403 SECRETS_FEATURE_DISABLED). Restricted API keys need the secrets.read scope. When you're signed in rather than using an API key, you must be a team owner or admin (otherwise 403 SECRETS_ADMIN_REQUIRED).
security:
- ApiKeyAuth: []
parameters:
- name: id
in: path
required: true
schema:
type: string
format: uuid
description: Vault ID.
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/Vault'
'400':
description: Invalid vault ID.
content:
application/json:
schema:
$ref: '#/components/schemas/SecretErrorResponse'
'401':
description: Authentication required.
content:
application/json:
schema:
$ref: '#/components/schemas/SecretErrorResponse'
'403':
description: API_KEY_SCOPE_DENIED (the API key lacks a required scope), SECRETS_FEATURE_DISABLED, or SECRETS_ADMIN_REQUIRED.
content:
application/json:
schema:
$ref: '#/components/schemas/SecretErrorResponse'
'404':
description: 'VAULT_NOT_FOUND: no vault with this ID in your team.'
content:
application/json:
schema:
$ref: '#/components/schemas/SecretErrorResponse'
'500':
description: Internal server error.
content:
application/json:
schema:
$ref: '#/components/schemas/SecretErrorResponse'
tags:
- Vaults
patch:
summary: Update a vault
operationId: updateVault
description: Changes a vault's description or entries. Entries you pass replace those variables and `null` removes one; others are kept. Processes that already started keep the values they received. Secrets are enabled for teams on request; please contact support to enable them (otherwise 403 SECRETS_FEATURE_DISABLED). Restricted API keys need the secrets.manage scope. When you're signed in rather than using an API key, you must be a team owner or admin (otherwise 403 SECRETS_ADMIN_REQUIRED).
security:
- ApiKeyAuth: []
parameters:
- name: id
in: path
required: true
schema:
type: string
format: uuid
description: Vault ID.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateVaultParams'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/Vault'
'400':
description: Invalid request body, or nothing to change.
content:
application/json:
schema:
$ref: '#/components/schemas/SecretErrorResponse'
'401':
description: Authentication required.
content:
application/json:
schema:
$ref: '#/components/schemas/SecretErrorResponse'
'403':
description: API_KEY_SCOPE_DENIED (the API key lacks a required scope), SECRETS_FEATURE_DISABLED, or SECRETS_ADMIN_REQUIRED.
content:
application/json:
schema:
$ref: '#/components/schemas/SecretErrorResponse'
'404':
description: VAULT_NOT_FOUND, SECRET_NOT_FOUND, or SECRET_VERSION_NOT_FOUND.
content:
application/json:
schema:
$ref: '#/components/schemas/SecretErrorResponse'
'409':
description: VAULT_ENTRY_LIMIT_REACHED or SECRET_TYPE_MISMATCH.
content:
application/json:
schema:
$ref: '#/components/schemas/SecretErrorResponse'
'500':
description: Internal server error.
content:
application/json:
schema:
$ref: '#/components/schemas/SecretErrorResponse'
tags:
- Vaults
delete:
summary: Delete a vault
operationId: deleteVault
description: Permanently deletes a vault. The secrets it points at are kept. Secrets are enabled for teams on request; please contact support to enable them (otherwise 403 SECRETS_FEATURE_DISABLED). Restricted API keys need the secrets.manage scope. When you're signed in rather than using an API key, you must be a team owner or admin (otherwise 403 SECRETS_ADMIN_REQUIRED).
security:
- ApiKeyAuth: []
parameters:
- name: id
in: path
required: true
schema:
type: string
format: uuid
description: Vault ID.
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/VaultDeleteResponse'
'400':
description: Invalid vault ID.
content:
application/json:
schema:
$ref: '#/components/schemas/SecretErrorResponse'
'401':
description: Authentication required.
content:
application/json:
schema:
$ref: '#/components/schemas/SecretErrorResponse'
'403':
description: API_KEY_SCOPE_DENIED (the API key lacks a required scope), SECRETS_FEATURE_DISABLED, or SECRETS_ADMIN_REQUIRED.
content:
application/json:
schema:
$ref: '#/components/schemas/SecretErrorResponse'
'404':
description: 'VAULT_NOT_FOUND: no vault with this ID in your team.'
content:
application/json:
schema:
$ref: '#/components/schemas/SecretErrorResponse'
'500':
description: Internal server error.
content:
application/json:
schema:
$ref: '#/components/schemas/SecretErrorResponse'
tags:
- Vaults
components:
schemas:
VaultDeleteResponse:
type: object
properties:
deleted:
type: boolean
enum:
- true
id:
type: string
format: uuid
name:
type: string
required:
- deleted
- id
- name
CreateVaultParams:
type: object
properties:
name:
type: string
pattern: ^[a-zA-Z0-9][a-zA-Z0-9_-]{0,127}$
description: 1-128 letters, digits, `_` or `-`, starting with a letter or digit. Unique within your team.
description:
type: string
maxLength: 1024
default: ''
description: Trimmed before it's stored.
entries:
type: object
additionalProperties:
$ref: '#/components/schemas/VaultStoredEntry'
description: 'Environment variable name to secret. Keys are environment variable names: letters, digits and `_`, not starting with a digit, at most 256 characters. A vault holds at most 32 entries (otherwise 409 VAULT_ENTRY_LIMIT_REACHED).'
example:
USERNAME:
name: github-username
PASSWORD:
name: github-password
required:
- name
additionalProperties: false
Vault:
type: object
description: A named set of environment variables. Holds no values.
properties:
id:
type: string
format: uuid
name:
type: string
pattern: ^[a-zA-Z0-9][a-zA-Z0-9_-]{0,127}$
description: 1-128 letters, digits, `_` or `-`, starting with a letter or digit. Unique within your team.
description:
type: string
maxLength: 1024
entries:
type: object
additionalProperties:
$ref: '#/components/schemas/VaultEntry'
description: Environment variable name to entry.
createdAt:
type: string
format: date-time
updatedAt:
type: string
format: date-time
required:
- id
- name
- description
- entries
- createdAt
- updatedAt
UpdateVaultParams:
type: object
description: Provide `description`, `entries`, or both.
properties:
description:
type: string
maxLength: 1024
description: Replaces the description. Trimmed before it's stored.
entries:
type: object
additionalProperties:
oneOf:
- $ref: '#/components/schemas/VaultStoredEntry'
- type:
- object
- 'null'
enum:
- null
description: '`null` removes the variable.'
description: 'Entries to change: each one given replaces that variable, `null` removes it, and variables not given are kept. Keys are environment variable names: letters, digits and `_`, not starting with a digit, at most 256 characters. A vault holds at most 32 entries (otherwise 409 VAULT_ENTRY_LIMIT_REACHED).'
minProperties: 1
additionalProperties: false
VaultStoredEntry:
type: object
description: 'A vault entry: a secret, by name.'
properties:
name:
type: string
pattern: ^[a-zA-Z0-9][a-zA-Z0-9_-]{0,127}$
description: Name of a `secret` or `totp` secret.
version:
oneOf:
- type: string
enum:
- latest
- type: integer
minimum: 1
maximum: 2147483647
description: A version to pin, or `latest`. Omit to follow the latest version.
required:
- name
additionalProperties: false
VaultListResponse:
type: object
properties:
vaults:
type: array
items:
$ref: '#/components/schemas/Vault'
totalCount:
type: integer
page:
type: integer
perPage:
type: integer
required:
- vaults
- totalCount
- page
- perPage
SecretErrorResponse:
type: object
properties:
code:
type: string
description: Machine-readable error code, such as SECRET_NOT_FOUND.
message:
type: string
error:
type: string
description: Set instead of `code` by authentication and API key scope errors (API_KEY_SCOPE_DENIED).
requiredScopes:
type: array
items:
type: string
description: The scope the API key is missing, with API_KEY_SCOPE_DENIED.
retryable:
type: boolean
description: Whether repeating the same request can succeed. Set on delivery errors.
details:
type: object
additionalProperties: true
description: Extra information for some codes, such as `origin` for CREDENTIAL_ORIGIN_NOT_ALLOWED or `pages` for CREDENTIAL_PAGE_AMBIGUOUS.
description: HTTP failure. Secret errors include `code` and `message`; request validation errors include only `message`; API key scope errors include `error`, `message` and `requiredScopes`.
VaultEntry:
description: 'An entry as returned: the secret''s `name`, `secretId` and pinned `version` (`null` follows the latest).'
type: object
properties:
name:
type: string
secretId:
type: string
format: uuid
version:
type:
- integer
- 'null'
required:
- name
- secretId
- version
securitySchemes:
ApiKeyAuth:
type: apiKey
in: header
name: x-api-key
X402SessionManagement:
type: http
scheme: bearer
bearerFormat: JWT
description: The managementToken from the X402 session purchase response. Valid for 24 hours and scoped to that session; no API key or further payment is required.
x-provenance:
method: harvested
publisher: Hyperbrowser
source: https://www.hyperbrowser.ai/docs/openapi.json
note: split by refine-openapis from the provider's own published document, verified by fetch (openapi/_original/*.fetch.json);
stamped by stamp-openapi-provenance.py (roadmap#793)