{"id":18899,"library":"vault-api","title":"Vault-API","description":"vault-api is an Axios-like Node.js library for interacting with Hashicorp Vault. Currently at version 1.1.2 (last updated December 2021), it supports KV v1 and v2 secrets engines. It provides a simple, promise-based API similar to Axios for reading and writing secrets. The library is TypeScript-compatible with included type definitions. No major updates since 2021.","status":"maintenance","version":"1.1.2","language":"javascript","source_language":"en","source_url":"https://github.com/SaiHemanthBR/vault-api","tags":["javascript","vault","secrets","manage","hashicorp","hashicorp-vault","vault-api","secrets-management","vaultproject","typescript"],"install":[{"cmd":"npm install vault-api","lang":"bash","label":"npm"},{"cmd":"yarn add vault-api","lang":"bash","label":"yarn"},{"cmd":"pnpm add vault-api","lang":"bash","label":"pnpm"}],"dependencies":[],"imports":[{"note":"ESM import is preferred. CommonJS require also works but may have compatibility issues in strict ESM environments.","wrong":"const vault = require('vault-api')","symbol":"default (vault function)","correct":"import vault from 'vault-api'"},{"note":"Both default and named imports are valid and refer to the same function.","wrong":"import { vault } from 'vault-api'","symbol":"vault (named import)","correct":"import { vault } from 'vault-api'"},{"note":"TypeScript types are bundled. Use `import type` for type-only imports.","symbol":"Vault types","correct":"import type { VaultConfig } from 'vault-api'"}],"quickstart":{"code":"import vault from 'vault-api';\n\n// Write a secret\nvault({\n  method: 'write',\n  path: 'secret/apiKey',\n  data: {\n    webApp: '5cfdf55e-cfa9-5da8-b2b2-64f30a462a09'\n  }\n}).then(() => console.log('Written successfully'))\n.catch(err => console.error(err));\n\n// Read a secret\nvault({\n  method: 'read',\n  path: 'secret/apiKey'\n}).then(response => {\n  console.log(response.data);\n}).catch(err => console.error(err));","lang":"typescript","description":"Basic read/write operations using vault-api with Axios-like configuration object."},"warnings":[{"fix":"Ensure you either authenticate before using vault() or set VAULT_TOKEN environment variable.","message":"The library does not handle Vault authentication (token, approle, etc.) automatically. You must authenticate via Vault's auth endpoints first or set environment variables.","severity":"gotcha","affected_versions":">=1.0.0"},{"fix":"Use another library (like node-vault) for non-KV engines.","message":"The library only supports KV v1 and v2 engines. Other Vault secret engines (e.g., database, transit, PKI) are not supported.","severity":"gotcha","affected_versions":">=1.0.0"},{"fix":"Refer to the library's wiki for proper configuration.","message":"The 'config' parameter in convenience methods (added in 1.1.0) is optional but if misused can cause silent failures.","severity":"gotcha","affected_versions":">=1.1.0"}],"env_vars":null,"last_verified":"2026-04-25T00:00:00.000Z","next_check":"2026-07-24T00:00:00.000Z","problems":[{"fix":"Run `npm install vault-api` and ensure your import path is correct.","cause":"Package not installed or path incorrect.","error":"Cannot find module 'vault-api'"},{"fix":"Use `import vault from 'vault-api'` (default import) or `const { vault } = require('vault-api')`.","cause":"Importing incorrectly, e.g., using default import when named import expected.","error":"TypeError: vault is not a function"},{"fix":"Verify the Vault server is running and the secret engine is enabled at that path.","cause":"The Vault server does not have the requested path or secret engine mounted.","error":"Response { status: 404, data: { errors: ['no handler for route'] } }"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}