Secret Manager: Node.js Client

release levelnpm versioncodecov

Secrets client for Node.js

A comprehensive list of changes in each version may be found inthe CHANGELOG.

Read more about the client libraries for Cloud APIs, including the olderGoogle APIs Client Libraries, inClient Libraries Explained.

Table of contents:

Quickstart

Before you begin

  1. Select or create a Cloud Platform project.
  2. Enable billing for your project.
  3. Enable the Secret Manager API.
  4. Set up authentication with a service account so you can access theAPI from your local workstation.

Installing the client library

npm install @google-cloud/secret-manager

Using the client library

// Import the Secret Manager client and instantiate it:const {SecretManagerServiceClient} = require('@google-cloud/secret-manager');const client = newSecretManagerServiceClient();/** * TODO(developer): Uncomment these variables before running the sample. */// parent = 'projects/my-project', // Project for which to manage secrets.// secretId = 'foo', // Secret ID.// payload = 'hello world!' // String source data.async function createAndAccessSecret() {  // Create the secret with automation replication.  const [secret] = await client.createSecret({    parent: parent,    secret: {      name: secretId,      replication: {        automatic: {},      },    },    secretId,  });  console.info(`Created secret ${secret.name}`);  // Add a version with a payload onto the secret.  const [version] = await client.addSecretVersion({    parent: secret.name,    payload: {      data: Buffer.from(payload, 'utf8'),    },  });  console.info(`Added secret version ${version.name}`);  // Access the secret.  const [accessResponse] = await client.accessSecretVersion({    name: version.name,  });  const responsePayload = accessResponse.payload.data.toString('utf8');  console.info(`Payload: ${responsePayload}`);}createAndAccessSecret();

Samples

Samples are in thesamples/ directory. Each sample'sREADME.md has instructions for running its sample.

SampleSource CodeTry it
Access Secret Versionsource codeOpen in Cloud Shell
Add Secret Versionsource codeOpen in Cloud Shell
Create Secretsource codeOpen in Cloud Shell
Delete Secretsource codeOpen in Cloud Shell
Destroy Secret Versionsource codeOpen in Cloud Shell
Disable Secret Versionsource codeOpen in Cloud Shell
Enable Secret Versionsource codeOpen in Cloud Shell
Get Secretsource codeOpen in Cloud Shell
Get Secret Versionsource codeOpen in Cloud Shell
Iam Grant Accesssource codeOpen in Cloud Shell
Iam Revoke Accesssource codeOpen in Cloud Shell
List Secret Versionssource codeOpen in Cloud Shell
List Secretssource codeOpen in Cloud Shell
Quickstartsource codeOpen in Cloud Shell
Update Secretsource codeOpen in Cloud Shell

TheSecret Manager Node.js Client API Reference documentationalso contains samples.

Supported Node.js Versions

Our client libraries follow theNode.js release schedule.Libraries are compatible with all currentactive andmaintenance versions ofNode.js.

Client libraries targeting some end-of-life versions of Node.js are available, andcan be installed via npmdist-tags.The dist-tags follow the naming conventionlegacy-(version).

Legacy Node.js versions are supported as a best effort:

  • Legacy versions will not be tested in continuous integration.
  • Some security patches may not be able to be backported.
  • Dependencies will not be kept up-to-date, and features will not be backported.

Legacy tags available

  • legacy-8: install client libraries from this dist-tag for versionscompatible with Node.js 8.

Versioning

This library followsSemantic Versioning.

This library is considered to beGeneral Availability (GA). This means itis stable; the code surface will not change in backwards-incompatible waysunless absolutely necessary (e.g. because of critical security issues) or withan extensive deprecation period. Issues and requests againstGA librariesare addressed with the highest priority.

More Information:Google Cloud Platform Launch Stages

Contributing

Contributions welcome! See theContributing Guide.

Please note that thisREADME.md, thesamples/README.md,and a variety of configuration files in this repository (including.nycrc andtsconfig.json)are generated from a central template. To edit one of these files, make an editto its templates indirectory.

License

Apache Version 2.0

SeeLICENSE

Except as otherwise noted, the content of this page is licensed under theCreative Commons Attribution 4.0 License, and code samples are licensed under theApache 2.0 License. For details, see theGoogle Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.

Last updated 2025-10-30 UTC.