System

List the enabled audit devices

get
Body
objectOptional
Responses
200

Successfully retrieved enabled audit devices.

application/json
Responseany
get
/sys/audit

Calculate hash via audit backend.

post
Path parameters
pathstringRequired

The name of the audit backend. Cannot be delimited. Example: 'mysql'

Body
inputstringOptional
Responses
200

Successfully calculated the hash of the input.

application/json
post
/sys/audit-hash/{path}

Enable a new audit device at the supplied path.

post
Path parameters
pathstringRequired

The name of the backend. Cannot be delimited. Example: 'mysql'

Body
descriptionstringOptional

User-friendly description for this audit backend.

localbooleanOptional

Mark the mount as a local mount, which is not replicated and is unaffected by replication.

Default: false
optionsobject · kvpairsOptional

Configuration options for the audit backend.

typestringOptional

The type of the backend. Example: "mysql"

Responses
post
/sys/audit/{path}

Disable the audit device at the given path.

delete
Path parameters
pathstringRequired

The name of the backend. Cannot be delimited. Example: 'mysql'

Responses
delete
/sys/audit/{path}

Read the configuration of the auth engine at the given path.

get
Path parameters
pathstringRequired

The path to mount to. Cannot be delimited. Example: 'user'

Responses
200

Successfully read the auth configuration.

application/json
get
/sys/auth/{path}

Enables a new auth method.

post

After enabling, the auth method can be accessed and configured via the auth path specified as part of the URL. For example, enabling the "userpass" auth method at "user" will make it accessible at /auth/user.

Path parameters
pathstringRequired

The path to mount to. Cannot be delimited. Example: 'user'

Body
configobject · mapOptional

Configuration for this mount, such as plugin_name.

descriptionstringOptional

User-friendly description for this credential backend.

external_entropy_accessbooleanOptional

Whether to give the mount access to Vault's external entropy.

Default: false
localbooleanOptional

Mark the mount as a local mount, which is not replicated and is unaffected by replication.

Default: false
optionsobject · kvpairsOptional

The options to pass into the backend. Should be a json object with string keys and values.

plugin_namestringOptional

Name of the auth plugin to use based from the name in the plugin catalog.

plugin_versionstringOptional

The semantic version of the plugin to use.

seal_wrapbooleanOptional

Whether to turn on seal wrapping for the mount.

Default: false
typestringOptional

The type of the backend. Example: "userpass"

Responses
post
/sys/auth/{path}

Disable the auth method at the given auth path.

delete
Path parameters
pathstringRequired

The path to mount to. Cannot be delimited. Example: 'user'

Responses
delete
/sys/auth/{path}

Reads the given auth path's configuration.

get

This endpoint requires sudo capability on the final path, but the same functionality can be achieved without sudo via sys/mounts/auth/[auth-path]/tune.

Path parameters
pathstringRequired

Tune the configuration parameters for an auth path.

Responses
200

Successfully read tuning information.

application/json
get
/sys/auth/{path}/tune

Tune configuration parameters for a given auth path.

post

This endpoint requires sudo capability on the final path, but the same functionality can be achieved without sudo via sys/mounts/auth/[auth-path]/tune.

Path parameters
pathstringRequired

Tune the configuration parameters for an auth path.

Body
allowed_response_headersstring[]Optional

A list of headers to whitelist and allow a plugin to set on responses.

audit_non_hmac_request_keysstring[]Optional

The list of keys in the request data object that will not be HMAC'ed by audit devices.

audit_non_hmac_response_keysstring[]Optional

The list of keys in the response data object that will not be HMAC'ed by audit devices.

default_lease_ttlstringOptional

The default lease TTL for this mount.

descriptionstringOptional

User-friendly description for this credential backend.

listing_visibilitystringOptional

Determines the visibility of the mount in the UI-specific listing endpoint. Accepted value are 'unauth' and 'hidden', with the empty default ('') behaving like 'hidden'.

max_lease_ttlstringOptional

The max lease TTL for this mount.

optionsobject · kvpairsOptional

The options to pass into the backend. Should be a json object with string keys and values.

passthrough_request_headersstring[]Optional

A list of headers to whitelist and pass from the request to the plugin.

plugin_versionstringOptional

The semantic version of the plugin to use.

token_typestringOptional

The type of token to issue (service or batch).

user_lockout_configobject · mapOptional

The user lockout configuration to pass into the backend. Should be a json object with string keys and values.

Responses
post
/sys/auth/{path}/tune

Returns the capabilities of the calling token on the specified paths.

post
Body
pathstring[]OptionalDeprecated

Use 'paths' instead.

pathsstring[]Optional

Paths on which capabilities are being queried.

tokenstringOptional

Token for which capabilities are being queried.

Responses
200

Successfully retrieved capabilities for the given paths.

application/json
Responseany
post
/sys/capabilities

Returns the capabilities of the token identified by the accessor on the specified paths.

post
Body
accessorstringOptional

Accessor of the token for which capabilities are being queried.

pathstring[]OptionalDeprecated

Use 'paths' instead.

pathsstring[]Optional

Paths on which capabilities are being queried.

Responses
200

Successfully retrieved capabilities for the given paths.

application/json
Responseany
post
/sys/capabilities-accessor

Returns the capabilities of the calling token on the given paths.

post
Body
pathstring[]OptionalDeprecated

Use 'paths' instead.

pathsstring[]Optional

Paths on which capabilities are being queried.

tokenstringOptional

Token for which capabilities are being queried.

Responses
200

Successfully retrieved capabilities for the specified paths.

application/json
Responseany
post
/sys/capabilities-self

List the request headers that are configured to be audited.

get
Responses
200

Successfully listed the configured audited request headers.

application/json
get
/sys/config/auditing/request-headers

List the information for the given request header.

get
Path parameters
headerstringRequired

The name of the request header to audit.

Example: X-Request-ID
Responses
200

Successfully retrieved the request header auditing information.

application/json
Responseany
get
/sys/config/auditing/request-headers/{header}

Enable auditing of a header.

post
Path parameters
headerstringRequired

The name of the request header to audit.

Example: X-Request-ID
Body
hmacbooleanOptional
Responses
post
/sys/config/auditing/request-headers/{header}

No content

Disable auditing of the given request header.

delete
Path parameters
headerstringRequired

The name of the request header to audit.

Example: X-Request-ID
Responses
delete
/sys/config/auditing/request-headers/{header}

No content

Read the current control group configuration.

get
Responses
200

Successfully retrieved the control group configuration.

application/json
Responseany
get
/sys/config/control-group

Configure control group parameters.

post
Body
anyOptional
Responses
200

Control group configuration updated successfully.

application/json
Responseany
post
/sys/config/control-group

Delete the control group configuration.

delete
Responses
delete
/sys/config/control-group

No content

Return the current CORS settings.

get
Responses
200

Current CORS settings returned successfully.

application/json
get
/sys/config/cors

Configure the CORS settings.

post
Body
allowed_headersstring[]Optional

A comma-separated string or array of strings indicating headers that are allowed on cross-origin requests.

allowed_originsstring[]Optional

A comma-separated string or array of strings indicating origins that may make cross-origin requests.

enablebooleanOptional

Enables or disables CORS headers on requests.

Responses
post
/sys/config/cors

No content

Remove any CORS settings.

delete
Responses
delete
/sys/config/cors

No content

Read the group policy application configuration.

get
Responses
200

Group policy application configuration retrieved successfully.

application/json
Responseany
get
/sys/config/group-policy-application

Configure the group policy application settings.

post
Body
anyOptional
Responses
200

Group policy application configuration updated successfully.

application/json
Responseany
post
/sys/config/group-policy-application
200

Group policy application configuration updated successfully.

No content

Reload the given subsystem

post
Path parameters
subsystemstringRequired

The name of the subsystem to reload.

Example: plugin-catalog
Body
anyOptional
Responses
post
/sys/config/reload/{subsystem}

No content

Return a sanitized version of the Vault server configuration.

get

The sanitized output strips configuration values in the storage, HA storage, and seals stanzas, which may contain sensitive values such as API tokens. It also removes any token or secret fields in other stanzas, such as the circonus_api_token from telemetry.

Responses
200

Sanitized configuration retrieved successfully.

application/json
Responseany
get
/sys/config/state/sanitized

Return a list of configured UI headers.

get
Query parameters
liststring · enumRequired

Must be set to true

Possible values:
Body
liststring · enumRequired

Must be set to true

Possible values:
Responses
200

Returns a list of configured UI headers.

application/json
get
/sys/config/ui/headers

Return the given UI header's configuration.

get
Path parameters
headerstringRequired

The name of the header.

Responses
200

Returns the configuration of the specified UI header.

application/json
get
/sys/config/ui/headers/{header}

Configure the values to be returned for the UI header.

post
Path parameters
headerstringRequired

The name of the header.

Body
multivaluebooleanOptional

Returns multiple values if true

valuesstring[]Optional

The values to set the header.

Responses
200

Header value successfully configured.

No content

post
/sys/config/ui/headers/{header}

No content

Remove a UI header.

delete
Path parameters
headerstringRequired

The name of the header.

Responses
delete
/sys/config/ui/headers/{header}

No content

Authorizes a control group by assigning permissions

post
Body
group_idstringRequired

The control group ID to authorize.

Responses
200

Authorization successful.

No content

post
/sys/control-group/authorize

No content

Submit a request for control group authorization

post
Body
request_idstringRequired

Unique identifier for the control group request.

Responses
200

Request processed successfully.

application/json
post
/sys/control-group/request

Decode an encoded token using a one-time password (OTP)

post

This endpoint decodes an encoded token using the provided one-time password (OTP). It can be used in unauthenticated contexts.

Body
encoded_tokenstringOptional

Specifies the encoded token (result from generate-root).

otpstringOptional

Specifies the otp code for decode.

Responses
200

Successfully decoded the token.

application/json
post
/sys/decode-token

List available and enabled experimental features in Vault.

get
Body
objectOptional
Responses
200

Successfully returned the list of experimental features.

application/json
get
/sys/experiments

Read the current root token generation progress.

get

Returns the configuration and progress details of the ongoing root token generation process.

Responses
200

Successfully retrieved the root generation progress.

application/json
get
/sys/generate-root

Initialize a new root token generation attempt.

post

Starts a new root generation attempt. Only one attempt can be active at a time. Either otp or pgp_key must be provided.

Body
pgp_keystringOptional

Specifies a base64-encoded PGP public key.

Responses
200

Successfully initialized the root generation attempt.

application/json
post
/sys/generate-root

Cancel an ongoing root token generation attempt.

delete

Cancels any in-progress root token generation attempt, allowing a new attempt to be started.

Responses
delete
/sys/generate-root

No content

Read the progress of the current root generation attempt.

get

Returns configuration and current progress details for an active root token generation attempt.

Responses
200

Successfully retrieved root generation progress.

application/json
get
/sys/generate-root/attempt

Initialize a new root token generation attempt.

post

Starts a new root generation attempt. Only one attempt can be active at a time. Either otp or pgp_key must be provided.

Body
pgp_keystringOptional

Specifies a base64-encoded PGP public key.

Responses
200

Successfully initialized the root generation attempt.

application/json
post
/sys/generate-root/attempt

Cancel an ongoing root token generation attempt.

delete

Cancels any in-progress root token generation attempt to allow a new one to begin.

Responses
delete
/sys/generate-root/attempt

No content

Submit a key share to progress the root token generation attempt.

post

Submits a single unseal key share for the active root generation attempt. If the required threshold of key shares is reached, Vault completes the root token generation and issues the new token. The attempt nonce must be provided with each call.

Body
keystringOptional

Specifies a single unseal key share.

noncestringOptional

Specifies the nonce of the attempt.

Responses
200

Successfully submitted the key share. Progress updated.

application/json
post
/sys/generate-root/update

Retrieve the HA status of a Vault cluster.

get

Retrieves detailed information regarding the HA cluster setup, including whether the node is active, standby, and information about the leader.

Responses
200

Successfully retrieved the HA status.

application/json
get
/sys/ha-status

Retrieve the health status of the Vault server.

get

Returns different HTTP status codes depending on Vault's current state: - 200: Vault is initialized, unsealed, and active. - 429: Vault is unsealed and in standby mode. - 472: Vault is in data recovery mode, acting as replication secondary and active. - 501: Vault is not initialized. - 503: Vault is sealed and unavailable.

Responses
200

Initialized, unsealed, and active.

No content

get
/sys/health

No content

Retrieve host instance information for the Vault server.

get

Collects and returns host-level system information including hardware details, CPU utilization, disk usage, and memory statistics. Useful for monitoring the resource consumption of the Vault instance.

Responses
200

Successfully retrieved host information.

application/json
get
/sys/host-info

List in-flight requests being processed by Vault.

get

Returns a map of ongoing API requests ("in-flight requests") to assist with debugging and load monitoring. Each entry provides information such as client details, request path, and duration.

Responses
200

Successfully retrieved in-flight request information.

application/json
Responseany
get
/sys/in-flight-req

No content

Returns the initialization status of Vault.

get

Checks whether Vault has already been initialized. This endpoint returns the initialization status without making any modifications to the Vault state.

Responses
200

Successfully retrieved initialization status.

application/json
Responseany
get
/sys/init

No content

Initialize a new Vault.

post

Initializes the Vault server. Initialization is a one-time operation. After successful initialization, Vault will generate a set of unseal keys and an initial root token. If using HSM, recovery and stored shares options can be configured during this process.

Body
pgp_keysstring[]Optional

Specifies an array of PGP public keys used to encrypt the output unseal keys. Ordering is preserved. The keys must be base64-encoded from their original binary representation. The size of this array must be the same as secret_shares.

recovery_pgp_keysstring[]Optional

Specifies an array of PGP public keys used to encrypt the output recovery keys. Ordering is preserved. The keys must be base64-encoded from their original binary representation. The size of this array must be the same as recovery_shares.

recovery_sharesintegerOptional

Specifies the number of shares to split the recovery key into.

recovery_thresholdintegerOptional

Specifies the number of shares required to reconstruct the recovery key. This must be less than or equal to recovery_shares.

root_token_pgp_keystringOptional

Specifies a PGP public key used to encrypt the initial root token. The key must be base64-encoded from its original binary representation.

secret_sharesintegerOptional

Specifies the number of shares to split the unseal key into.

secret_thresholdintegerOptional

Specifies the number of shares required to reconstruct the unseal key. This must be less than or equal secret_shares. If using Vault HSM with auto-unsealing, this value must be the same as secret_shares.

stored_sharesintegerOptional

Specifies the number of shares that should be encrypted by the HSM and stored for auto-unsealing. Currently must be the same as secret_shares.

Responses
200

Successfully initialized Vault.

application/json
Responseany
post
/sys/init

No content

Report the historical client count metrics.

get

Retrieves historical counts of unique clients that interacted with Vault, covering the current namespace and all child namespaces.

Responses
200

Successfully retrieved client activity counts.

application/json
Responseany
get
/sys/internal/counters/activity

No content

Export the historical client count data.

get

Exports detailed raw historical client activity data for analysis and reporting outside of Vault.

Responses
200

Successfully exported client activity data.

application/json
Responseany
get
/sys/internal/counters/activity/export

No content

Report the client count for the current month.

get

Returns the number of unique clients that have interacted with Vault during the current month for this namespace and all child namespaces.

Responses
200

Successfully retrieved monthly client counts.

application/json
Responseany
get
/sys/internal/counters/activity/monthly

No content

Read the client count tracking configuration.

get

Returns the current configuration settings for client count collection, including status, retention period, and default reporting period.

Responses
200

Successfully retrieved client count configuration.

application/json
Responseany
get
/sys/internal/counters/config

No content

Configure the client count collection settings.

post

Enables or disables the collection of client counts and configures the retention period and default reporting period for client activity data.

Body
default_report_monthsintegerOptional

Number of months to report if no start date specified.

Default: 12
enabledstringOptional

Enable or disable collection of client count: enable, disable, or default.

Default: default
retention_monthsintegerOptional

Number of months of client data to retain. Setting to 0 will clear all existing data.

Default: 24
Responses
200

Successfully updated client count tracking configuration.

application/json
Responseany
post
/sys/internal/counters/config

No content

Report the number of active identity entities in the Vault cluster.

get

Retrieves the current number of active identity entities managed by the Vault server. Note: Backward compatibility is not guaranteed for this endpoint.

Responses
200

Successfully retrieved entity count.

application/json
get
/sys/internal/counters/entities
Deprecated

Deprecated - Count of requests seen by the Vault cluster.

get

This endpoint is currently unsupported and deprecated. Previously, it provided a count of requests handled by the Vault cluster. Note: Backward compatibility is not guaranteed.

Responses
200

Deprecated API call successful (no useful output).

No content

get
/sys/internal/counters/requests

No content

Report the number of active tokens in the Vault cluster.

get

Retrieves the current number of active authentication tokens managed by Vault. Note: Backward compatibility is not guaranteed for this endpoint.

Responses
200

Successfully retrieved token count.

application/json
get
/sys/internal/counters/tokens

Exposes the route entry and mount entry tables present in the router.

get

Retrieves the entries in the router for the specified subtree (uuid, accessor, storage, root). The tag path parameter must be one of the inspectable subtrees. This endpoint provides information about the structure and entries in the router trees.

Path parameters
tagstringRequired

Name of the subtree being observed (e.g., uuid, accessor, storage, root).

Responses
200

Successfully retrieved the entries in the router for the specified tag.

application/json
Responseany
get
/sys/internal/inspect/router/{tag}

No content

Generate OpenAPI document for mounted paths

get
Query parameters
generic_mount_pathsbooleanOptional

Use generic mount paths

Default: false
Responses
200

Successfully generated OpenAPI document

application/json
Responseany
get
/sys/internal/specs/openapi

Generate OpenAPI document with request parameters

post
Body
contextstringOptional

Context string appended to every operationId

Responses
200

Successfully generated OpenAPI document

application/json
Responseany
post
/sys/internal/specs/openapi

Lists enabled feature flags

get
Responses
200

Successfully listed enabled feature flags

application/json
get
/sys/internal/ui/feature-flags

Lists all enabled and visible auth and secrets mounts

get
Responses
200

Successfully listed visible mounts

application/json
get
/sys/internal/ui/mounts

Lists visible child namespaces

get
Responses
200

Successfully listed namespaces

application/json
get
/sys/internal/ui/namespaces

Returns the resultant ACL for a client token

get
Responses
200

Successfully returned ACL policy

application/json
get
/sys/internal/ui/resultant-acl

Reports backend encryption key status

get
Responses
200

Successfully retrieved key status

application/json
Responseany
get
/sys/key-status

Returns HA status and the current leader of Vault

get
Responses
200

Successfully returned leader status

application/json
get
/sys/leader

Lists active leases

get
Responses
200

Successfully listed leases

application/json
get
/sys/leases

Returns the count of active leases

get
Responses
200

Successfully retrieved lease count

application/json
get
/sys/leases/count

Retrieves metadata for a specific lease

post
Body
lease_idstringOptional

The lease identifier to renew. This is included with a lease.

Responses
200

Successfully retrieved lease metadata

application/json
post
/sys/leases/lookup

Lists all lease paths

get
Query parameters
liststring · enumRequired

Must be set to 'true' to trigger a list response.

Possible values:
Responses
200

Successfully listed lease paths

application/json
get
/sys/leases/lookup/

Lists leases under the specified prefix

get
Path parameters
prefixstringRequired

The path to list leases under. Example: "aws/creds/deploy"

Query parameters
liststring · enumRequired

Must be set to 'true'

Possible values:
Responses
200

Successfully listed leases for the prefix

application/json
get
/sys/leases/lookup/{prefix}

Renews a lease by extending its TTL.

post
Body
incrementinteger · secondsOptional

The desired increment in seconds to the lease

lease_idstringOptional

The lease identifier to renew. This is included with a lease.

url_lease_idstringOptional

The lease identifier to renew. This is included with a lease.

Responses
post
/sys/leases/renew

No content

Renews a lease using a lease ID in the path.

post
Path parameters
url_lease_idstringRequired

The lease ID to renew. Example: "database/creds/my-role/Y7sGbfd9"

Body
incrementinteger · secondsOptional

The desired increment in seconds to the lease

lease_idstringOptional

The lease identifier to renew. This is included with a lease.

Responses
post
/sys/leases/renew/{url_lease_id}

No content

Immediately revokes a lease.

post
Body
lease_idstringOptional

The lease identifier to renew. This is included with a lease.

syncbooleanOptional

Whether or not to perform the revocation synchronously

Default: true
url_lease_idstringOptional

The lease identifier to renew. This is included with a lease.

Responses
post
/sys/leases/revoke

No content

Revokes all secrets or tokens generated under a given prefix immediately

post

Unlike /sys/leases/revoke-prefix, this path ignores backend errors encountered during revocation. This is potentially very dangerous and should only be used in specific emergency situations where errors in the backend or the connected backend service prevent normal revocation.

By ignoring these errors, Vault abdicates responsibility for ensuring that the issued credentials or secrets are properly revoked and/or cleaned up. Access to this endpoint should be tightly controlled.

Path parameters
prefixstringRequired

The path to revoke keys under. Example: "prod/aws/ops"

Responses
post
/sys/leases/revoke-force/{prefix}
204

OK

No content

Revokes all secrets (via a lease ID prefix) or tokens (via the tokens' path property) generated under a given prefix immediately.

post
Path parameters
prefixstringRequired

The path to revoke keys under. Example: "prod/aws/ops"

Body
syncbooleanOptional

Whether or not to perform the revocation synchronously

Default: true
Responses
post
/sys/leases/revoke-prefix/{prefix}
204

OK

No content

Revokes a lease immediately.

post
Path parameters
url_lease_idstringRequired

The lease identifier to renew. This is included with a lease.

Body
lease_idstringOptional

The lease identifier to renew. This is included with a lease.

syncbooleanOptional

Whether or not to perform the revocation synchronously

Default: true
Responses
post
/sys/leases/revoke/{url_lease_id}
204

OK

No content

Trigger a background lease tidy operation.

post
Body
anyOptional
Responses
post
/sys/leases/tidy

No content

Retrieve the status of the currently installed license.

get
Responses
200

Successfully retrieved license status.

application/json
Responseany
get
/sys/license/status

List the locked user count metrics for the current namespace and all child namespaces.

get
Responses
200

Successfully retrieved locked user metrics.

application/json
Responseany
get
/sys/locked-users

Unlock a locked user by mount accessor and alias identifier.

post
Path parameters
alias_identifierstringRequired

Identifier of the alias (e.g., username or RoleID).

mount_accessorstringRequired

Identifier of the mount entry associated with the user.

Responses
200

User successfully unlocked.

application/json
Responseany
post
/sys/locked-users/{mount_accessor}/unlock/{alias_identifier}

Read the verbosity level for all existing loggers.

get
Responses
200

Current verbosity levels retrieved.

application/json
Responseany
get
/sys/loggers

Modify verbosity levels for all loggers.

post
Body
levelstringOptional

Log verbosity level. Supported values (in order of detail) are "trace", "debug", "info", "warn", and "error".

Responses
post
/sys/loggers

No content

Revert all loggers to the configured log level.

delete
Responses
delete
/sys/loggers

No content

Read verbosity level of a specific logger.

get
Path parameters
namestringRequired

Name of the logger to modify.

Responses
200

Logger verbosity level retrieved.

application/json
Responseany
get
/sys/loggers/{name}

Modify the log level of a specific logger.

post
Path parameters
namestringRequired

Name of the logger to modify.

Body
levelstringOptional

Log verbosity level. Supported values (in order of detail) are "trace", "debug", "info", "warn", and "error".

Responses
post
/sys/loggers/{name}

No content

Revert a specific logger to the configured log level.

delete
Path parameters
namestringRequired

Name of the logger to modify.

Responses
delete
/sys/loggers/{name}

No content

Manage lists of managed keys by type.

get
Path parameters
typestringRequired
Query parameters
liststring · enumRequired

Must be set to "true" to list keys.

Possible values:
Responses
200

Managed keys listed.

application/json
Responseany
get
/sys/managed-keys/{type}

Get a specific managed key by type and name.

get
Path parameters
typestringRequired
namestringRequired
Responses
200

Managed key details.

application/json
Responseany
get
/sys/managed-keys/{type}/{name}

Update a specific managed key by type and name.

post
Path parameters
typestringRequired
namestringRequired
Responses
200

Managed key written.

application/json
Responseany
post
/sys/managed-keys/{type}/{name}

No content

Delete a specific managed key by type and name.

delete
Path parameters
typestringRequired
namestringRequired
Responses
delete
/sys/managed-keys/{type}/{name}

No content

Test signing functionality for a managed key.

post
Path parameters
typestringRequired

The type of the managed key (e.g., "transit", "pkcs11").

namestringRequired

The name of the managed key to use for the test signing operation.

Body
anyOptional
Responses
200

Test signing successful.

application/json
Responseany
post
/sys/managed-keys/{type}/{name}/test/sign

Export system metrics in Prometheus format.

get
Query parameters
formatstring · enumOptional

The output format for the metrics. Currently, only prometheus is supported.

Possible values:
Body
anyOptional
Responses
200

Metrics exported successfully.

text/plain
Responseany
get
/sys/metrics

List configured Multi-Factor Authentication (MFA) methods.

get
Query parameters
liststring · enumRequired

A required parameter that must be set to true to retrieve the list of MFA methods.

Possible values:
Body
anyOptional
Responses
200

Successfully retrieved the list of configured MFA methods.

application/json
Responseany
get
/sys/mfa/method

Read the configuration of a specific Okta MFA method.

get
Path parameters
namestringRequired

The unique name of the Okta MFA method.

Responses
200

Successfully retrieved the Okta MFA configuration.

application/json
Responseany
get
/sys/mfa/method/okta/{name}

Create or update an Okta MFA method configuration.

post
Path parameters
namestringRequired

The unique name of the Okta MFA method.

Body
anyOptional
Responses
200

Successfully created or updated the Okta MFA method.

application/json
Responseany
post
/sys/mfa/method/okta/{name}

Delete the specified Okta MFA method configuration.

delete
Path parameters
namestringRequired

The unique name of the Okta MFA method.

Responses
delete
/sys/mfa/method/okta/{name}

No content

Retrieve a PingID MFA method configuration.

get
Path parameters
namestringRequired

The name of the PingID MFA method configuration.

Responses
200

Successfully retrieved the PingID configuration.

application/json
Responseany
get
/sys/mfa/method/pingid/{name}

Create or update a PingID MFA method configuration.

post
Path parameters
namestringRequired

The name of the PingID MFA method configuration.

Body
anyOptional
Responses
200

PingID method created or updated successfully.

application/json
Responseany
post
/sys/mfa/method/pingid/{name}

Delete a PingID MFA method configuration by name.

delete
Path parameters
namestringRequired

The name of the PingID MFA method configuration.

Responses
delete
/sys/mfa/method/pingid/{name}

No content

Read a TOTP MFA method configuration.

get
Path parameters
namestringRequired

The name of the TOTP MFA method configuration.

Responses
200

Successfully retrieved the TOTP method configuration.

application/json
Responseany
get
/sys/mfa/method/totp/{name}

Create or update a TOTP MFA method configuration.

post
Path parameters
namestringRequired

The name of the TOTP MFA method configuration.

Body
anyOptional
Responses
200

TOTP method created or updated successfully.

application/json
Responseany
post
/sys/mfa/method/totp/{name}

Delete a TOTP MFA method configuration by name.

delete
Path parameters
namestringRequired

The name of the TOTP MFA method configuration.

Responses
delete
/sys/mfa/method/totp/{name}

No content

Admin-level destroy operation for a TOTP MFA method configuration.

post
Path parameters
namestringRequired

The name of the TOTP MFA method configuration to destroy.

Responses
200

The TOTP method was successfully destroyed.

application/json
Responseany
post
/sys/mfa/method/totp/{name}/admin-destroy

Admin-level operation to generate a new TOTP key for a user.

post
Path parameters
namestringRequired

The name of the TOTP MFA method configuration.

Body
anyOptional
Responses
200

TOTP key successfully generated.

application/json
Responseany
post
/sys/mfa/method/totp/{name}/admin-generate

Generate a TOTP key and OTP URL for a specific TOTP MFA method configuration.

get
Path parameters
namestringRequired

Name of the TOTP MFA method configuration to generate a key for.

Responses
200

Successfully retrieved the TOTP key and OTP URL.

application/json
Responseany
get
/sys/mfa/method/totp/{name}/generate

Validates the login for the given MFA methods.

post

Validates MFA credentials submitted by the user. Upon successful validation, it returns an authentication response that includes a client token. This endpoint is typically called after initial credentials are provided and MFA is required.

Body
mfa_payloadobject · mapRequired

A map from MFA method ID to a slice of passcodes or an empty slice if the method does not use passcodes

mfa_request_idstringRequired

ID for this MFA request

Responses
200

Successful MFA validation and authentication.

application/json
Responseany
post
/sys/mfa/validate

Retrieve system logs with specified log format and log level.

get

Fetch system logs based on the selected output format and log level.

Query parameters
log_formatstring · enumOptional

Output format of logs. Supported values are "standard" and "json". The default is "standard".

Default: standardPossible values:
log_levelstring · enumOptional

Log level to view system logs at. Currently supported values are "trace", "debug", "info", "warn", "error".

Possible values:
Responses
200

OK

application/json
get
/sys/monitor
200

OK

Retrieve a list of currently mounted backends.

get
Responses
200

OK

application/json
get
/sys/mounts

Read the configuration of the secret engine at the given path.

get
Path parameters
pathstringRequired

The path to mount to. Example: "aws/east"

Responses
200

OK

application/json
get
/sys/mounts/{path}
200

OK

Enable a new secrets engine at the given path.

post
Path parameters
pathstringRequired

The path to mount to. Example: "aws/east"

Body
configobject · mapOptional

Configuration for this mount, such as default_lease_ttl and max_lease_ttl.

descriptionstringOptional

User-friendly description for this mount.

external_entropy_accessbooleanOptional

Whether to give the mount access to Vault's external entropy.

Default: false
localbooleanOptional

Mark the mount as a local mount, which is not replicated and is unaffected by replication.

Default: false
optionsobject · kvpairsOptional

The options to pass into the backend. Should be a json object with string keys and values.

plugin_namestringOptional

Name of the plugin to mount based from the name registered in the plugin catalog.

plugin_versionstringOptional

The semantic version of the plugin to use.

seal_wrapbooleanOptional

Whether to turn on seal wrapping for the mount.

Default: false
typestringOptional

The type of the backend. Example: "passthrough"

Responses
post
/sys/mounts/{path}
204

OK

No content

Disable the mount point specified at the given path.

delete
Path parameters
pathstringRequired

The path to mount to. Example: "aws/east"

Responses
200

OK

No content

delete
/sys/mounts/{path}
200

OK

No content

Read the tuning configuration of a mounted backend.

get
Path parameters
pathstringRequired

The path to mount to. Example: "aws/east"

Responses
200

OK

application/json
get
/sys/mounts/{path}/tune

Update the tuning configuration parameters for a mounted backend.

post
Path parameters
pathstringRequired

The path to mount to. Example: "aws/east"

Body
default_lease_ttlstringOptional
max_lease_ttlstringOptional
descriptionstringOptional
audit_non_hmac_request_keysstring[]Optional
Responses
200

OK

application/json
post
/sys/mounts/{path}/tune

List namespaces

get
Query parameters
liststring · enumRequired

Must be set to true

Possible values:
Responses
200

OK

application/json
get
/sys/namespaces/
200

OK

Lock the API for all namespaces to prevent changes.

post
Body
reasonstringOptional
Responses
200

OK

application/json
post
/sys/namespaces/api-lock/lock

Unlock the API for all namespaces.

post
Body
reasonstringOptional
Responses
200

OK

application/json
post
/sys/namespaces/api-lock/unlock

Unlock the API at a specific namespace path.

post
Path parameters
pathstringRequired
Body
Responses
200

OK

application/json
post
/sys/namespaces/api-lock/unlock/{path}

Read namespace information

get
Path parameters
pathstringRequired

The path of the namespace

Responses
200

OK

application/json
get
/sys/namespaces/{path}
200

OK

Create a new namespace

post
Path parameters
pathstringRequired

The path of the namespace

Body
custom_metadataobject · mapOptional

A map of arbitrary string to string valued user-provided metadata meant to describe the namespace

Responses
200

OK

application/json
post
/sys/namespaces/{path}
200

OK

Delete a namespace

delete
Path parameters
pathstringRequired

The path of the namespace

Responses
200

OK

No content

delete
/sys/namespaces/{path}
200

OK

No content

List all the plugins registered with Vault.

get
Responses
200

OK

application/json
get
/sys/plugins/catalog

Return the configuration data for the plugin with the given name.

get
Path parameters
namestringRequired

The name of the plugin

Responses
200

OK

application/json
get
/sys/plugins/catalog/{name}
200

OK

Register a new plugin, or updates an existing one with the supplied name.

post
Path parameters
namestringRequired

The name of the plugin

Body
argsstring[]Optional

The args passed to plugin command.

commandstringOptional

The command used to start the plugin. The executable defined in this command must exist in vault's plugin directory.

envstring[]Optional

The environment variables passed to plugin command. Each entry is of the form "key=value".

sha256stringOptional

The SHA256 sum of the executable used in the command field. This should be HEX encoded.

typestringOptional

The type of the plugin, may be auth, secret, or database

versionstringOptional

The semantic version of the plugin to use.

Responses
200

OK

No content

post
/sys/plugins/catalog/{name}
200

OK

No content

Remove the plugin with the given name.

delete
Path parameters
namestringRequired

The name of the plugin

Responses
200

OK

No content

delete
/sys/plugins/catalog/{name}
200

OK

No content

List the plugins in the catalog.

get
Path parameters
typestringRequired

The type of the plugin, may be auth, secret, or database

Query parameters
liststring · enumRequired

Must be set to true

Possible values:
Responses
200

OK

application/json
get
/sys/plugins/catalog/{type}
200

OK

Return the configuration data for the plugin with the given name.

get
Path parameters
namestringRequired

The name of the plugin

typestringRequired

The type of the plugin, may be auth, secret, or database

Responses
200

OK

application/json
get
/sys/plugins/catalog/{type}/{name}
200

OK

Register a new plugin, or updates an existing one with the supplied name.

post
Path parameters
namestringRequired

The name of the plugin

typestringRequired

The type of the plugin, may be auth, secret, or database

Body
argsstring[]Optional

The args passed to plugin command.

commandstringOptional

The command used to start the plugin. The executable defined in this command must exist in vault's plugin directory.

envstring[]Optional

The environment variables passed to plugin command. Each entry is of the form "key=value".

sha256stringOptional

The SHA256 sum of the executable used in the command field. This should be HEX encoded.

versionstringOptional

The semantic version of the plugin to use.

Responses
200

OK

No content

post
/sys/plugins/catalog/{type}/{name}
200

OK

No content

Remove the plugin with the given name.

delete
Path parameters
namestringRequired

The name of the plugin

typestringRequired

The type of the plugin, may be auth, secret, or database

Responses
200

OK

No content

delete
/sys/plugins/catalog/{type}/{name}
200

OK

No content

Reload mounted plugin backends.

post

Either the plugin name (plugin) or the desired plugin backend mounts (mounts) must be provided, but not both. In the case that the plugin name is provided, all mounted paths that use that plugin backend will be reloaded. If (scope) is provided and is (global), the plugin(s) are reloaded globally.

Body
mountsstring[]Optional

The mount paths of the plugin backends to reload.

pluginstringOptional

The name of the plugin to reload, as registered in the plugin catalog.

scopestringOptional
Responses
200

OK

application/json
post
/sys/plugins/reload/backend

Check the status of any pending plugin reloads for secret backends.

get
Responses
200

OK

application/json
get
/sys/plugins/reload/backend/status

Retrieve a list of all configured ACL policies.

get
Query parameters
liststring · enumRequired

Must be set to true to list ACL policies.

Example: truePossible values:
Responses
200

OK

application/json
get
/sys/policies/acl

Retrieve information about the named ACL policy.

get
Path parameters
namestringRequired

The name of the policy. Example: "ops"

Responses
200

OK

application/json
get
/sys/policies/acl/{name}
200

OK

Add a new or update an existing ACL policy.

post
Path parameters
namestringRequired

The name of the policy. Example: "ops"

Body
policystringOptional

The rules of the policy.

Responses
post
/sys/policies/acl/{name}
204

OK

No content

Delete the ACL policy with the given name.

delete
Path parameters
namestringRequired

The name of the policy. Example: "ops"

Responses
delete
/sys/policies/acl/{name}
204

OK

No content

List all externally managed group policies (EGPs).

get
Query parameters
liststring · enumRequired

Must be set to true to retrieve EGPs.

Example: truePossible values:
Responses
200

OK

application/json
get
/sys/policies/egp

Read an EGP policy by name.

get
Path parameters
namestringRequired

The name of the EGP policy.

Responses
200

OK

application/json
get
/sys/policies/egp/{name}

Create or update an EGP policy by name.

post
Path parameters
namestringRequired

The name of the EGP policy.

Body
policystringRequired
Responses
200

Policy created or updated successfully

No content

post
/sys/policies/egp/{name}

No content

Delete an EGP policy by name.

delete
Path parameters
namestringRequired

The name of the EGP policy.

Responses
delete
/sys/policies/egp/{name}

No content

List the existing password policies.

get
Query parameters
liststring · enumRequired

Must be set to true

Possible values:
Responses
200

OK

application/json
get
/sys/policies/password
200

OK

Retrieve an existing password policy.

get
Path parameters
namestringRequired

The name of the password policy.

Responses
get
/sys/policies/password/{name}
204

OK

Add a new or update an existing password policy.

post
Path parameters
namestringRequired

The name of the password policy.

Body
policystringOptional

The password policy

Responses
post
/sys/policies/password/{name}
204

OK

No content

Delete a password policy.

delete
Path parameters
namestringRequired

The name of the password policy.

Responses
delete
/sys/policies/password/{name}
204

OK

No content

Generate a password from an existing password policy.

get
Path parameters
namestringRequired

The name of the password policy.

Responses
200

OK

application/json
get
/sys/policies/password/{name}/generate
200

OK

List all role-based group policies (RGPs).

get
Query parameters
liststring · enumRequired

Must be set to true to list RGPs.

Example: truePossible values:
Responses
200

OK

application/json
Responseany
get
/sys/policies/rgp

Read a specific RGP policy by name.

get
Path parameters
namestringRequired

The name of the RGP policy.

Responses
200

OK

application/json
Responseany
get
/sys/policies/rgp/{name}

Create or update an RGP policy by name.

post
Path parameters
namestringRequired

The name of the RGP policy.

Body
anyOptional
Responses
200

Policy written successfully

No content

post
/sys/policies/rgp/{name}

No content

Delete a specific RGP policy by name.

delete
Path parameters
namestringRequired

The name of the RGP policy.

Responses
delete
/sys/policies/rgp/{name}

No content

List all access control policies.

get
Query parameters
liststringOptional

Return a list if true

Example: true
Responses
200

OK

application/json
get
/sys/policy

Retrieve the policy body for the named policy.

get
Path parameters
namestringRequired

The name of the policy. Example: "ops"

Responses
200

OK

application/json
get
/sys/policy/{name}
200

OK

Add a new or update an existing policy.

post
Path parameters
namestringRequired

The name of the policy. Example: "ops"

Body
policystringOptional

The rules of the policy.

rulesstringOptionalDeprecated

The rules of the policy.

Responses
post
/sys/policy/{name}
204

OK

No content

Delete the policy with the given name.

delete
Path parameters
namestringRequired

The name of the policy. Example: "ops"

Responses
delete
/sys/policy/{name}
204

OK

No content

Returns an HTML page listing the available profiles.

get

Returns an HTML page listing the available profiles. This should be mainly accessed via browsers or applications that can render pages.

Responses
200

OK

No content

get
/sys/pprof
200

OK

No content

Returns a sampling of all past memory allocations.

get

Returns a sampling of all past memory allocations.

Responses
200

OK

No content

get
/sys/pprof/allocs
200

OK

No content

Returns stack traces that led to blocking on synchronization primitives

get

Returns stack traces that led to blocking on synchronization primitives

Responses
200

OK

No content

get
/sys/pprof/block
200

OK

No content

Returns the running program's command line.

get

Returns the running program's command line, with arguments separated by NUL bytes.

Responses
200

OK

No content

get
/sys/pprof/cmdline
200

OK

No content

Returns stack traces of all current goroutines.

get

Returns stack traces of all current goroutines.

Responses
200

OK

No content

get
/sys/pprof/goroutine
200

OK

No content

Returns a sampling of memory allocations of live object.

get

Returns a sampling of memory allocations of live object.

Responses
200

OK

No content

get
/sys/pprof/heap
200

OK

No content

Returns stack traces of holders of contended mutexes

get

Returns stack traces of holders of contended mutexes

Responses
200

OK

No content

get
/sys/pprof/mutex
200

OK

No content

Returns a pprof-formatted cpu profile payload.

get

Returns a pprof-formatted cpu profile payload. Profiling lasts for duration specified in seconds GET parameter, or for 30 seconds if not specified.

Responses
200

OK

No content

get
/sys/pprof/profile
200

OK

No content

Returns the program counters listed in the request.

get

Returns the program counters listed in the request.

Responses
200

OK

No content

get
/sys/pprof/symbol
200

OK

No content

Returns stack traces that led to the creation of new OS threads

get

Returns stack traces that led to the creation of new OS threads

Responses
200

OK

No content

get
/sys/pprof/threadcreate
200

OK

No content

Returns the execution trace in binary form.

get

Returns the execution trace in binary form. Tracing lasts for duration specified in seconds GET parameter, or for 1 second if not specified.

Responses
200

OK

No content

get
/sys/pprof/trace
200

OK

No content

Read the current quota configuration.

get
Responses
200

OK

application/json
get
/sys/quotas/config

Create or update the quota configuration.

post
Body
enable_rate_limit_audit_loggingbooleanOptional

If set, starts audit logging of requests that get rejected due to rate limit quota rule violations.

enable_rate_limit_response_headersbooleanOptional

If set, additional rate limit quota HTTP headers will be added to responses.

rate_limit_exempt_pathsstring[]Optional

Specifies the list of exempt paths from all rate limit quotas. If empty no paths will be exempt.

Responses
post
/sys/quotas/config

No content

List all configured lease count quotas.

get
Query parameters
liststring · enumRequired

Must be set to true

Possible values:
Responses
200

A list of lease count quotas

application/json
Responseany
get
/sys/quotas/lease-count

Read the specified lease count quota configuration.

get
Path parameters
namestringRequired
Responses
200

Lease count quota configuration

application/json
Responseany
get
/sys/quotas/lease-count/{name}

Create or update a lease count quota.

post
Path parameters
namestringRequired
Body
anyOptional
Responses
200

Quota created or updated successfully

application/json
Responseany
post
/sys/quotas/lease-count/{name}
200

Quota created or updated successfully

Delete a lease count quota.

delete
Path parameters
namestringRequired
Responses
delete
/sys/quotas/lease-count/{name}

No content

List rate limit quota names

get
Query parameters
liststring · enumRequired

Must be set to true

Possible values:
Responses
200

A list of rate limit quota names

application/json
get
/sys/quotas/rate-limit

Read a specific rate limit quota configuration

get
Path parameters
namestringRequired

Name of the quota rule.

Responses
200

Rate limit quota configuration

application/json
get
/sys/quotas/rate-limit/{name}

Create or update a rate limit quota

post
Path parameters
namestringRequired

Name of the quota rule.

Body
block_intervalinteger · secondsOptional

If set, when a client reaches a rate limit threshold, the client will be prohibited from any further requests until after the 'block_interval' has elapsed.

intervalinteger · secondsOptional

The duration to enforce rate limiting for (default '1s').

pathstringOptional

Path of the mount or namespace to apply the quota. A blank path configures a global quota. For example namespace1/ adds a quota to a full namespace, namespace1/auth/userpass adds a quota to userpass in namespace1.

ratenumber · floatOptional

The maximum number of requests in a given interval to be allowed by the quota rule. The 'rate' must be positive.

rolestringOptional

Login role to apply this quota to. Note that when set, path must be configured to a valid auth method with a concept of roles.

typestringOptional

Type of the quota rule.

Responses
post
/sys/quotas/rate-limit/{name}

No content

Delete a rate limit quota

delete
Path parameters
namestringRequired

Name of the quota rule.

Responses
delete
/sys/quotas/rate-limit/{name}

No content

Return the backup copy of PGP-encrypted unseal keys.

get
Responses
200

OK

application/json
get
/sys/rekey/backup
200

OK

Delete the backup copy of PGP-encrypted unseal keys.

delete
Responses
delete
/sys/rekey/backup
204

OK

No content

Reads the configuration and progress of the current rekey attempt.

get
Responses
200

OK

application/json
get
/sys/rekey/init
200

OK

Initializes a new rekey attempt.

post

Only a single rekey attempt can take place at a time, and changing the parameters of a rekey requires canceling and starting a new rekey, which will also provide a new nonce.

Body
backupbooleanOptional

Specifies if using PGP-encrypted keys, whether Vault should also store a plaintext backup of the PGP-encrypted keys.

pgp_keysstring[]Optional

Specifies an array of PGP public keys used to encrypt the output unseal keys. Ordering is preserved. The keys must be base64-encoded from their original binary representation. The size of this array must be the same as secret_shares.

require_verificationbooleanOptional

Turns on verification functionality

secret_sharesintegerOptional

Specifies the number of shares to split the unseal key into.

secret_thresholdintegerOptional

Specifies the number of shares required to reconstruct the unseal key. This must be less than or equal secret_shares. If using Vault HSM with auto-unsealing, this value must be the same as secret_shares.

Responses
200

OK

application/json
post
/sys/rekey/init
200

OK

Cancels any in-progress rekey.

delete

This clears the rekey settings as well as any progress made. This must be called to change the parameters of the rekey. Note: verification is still a part of a rekey. If rekeying is canceled during the verification flow, the current unseal keys remain valid.

Responses
200

OK

No content

delete
/sys/rekey/init
200

OK

No content

Read the backup of the recovery keys

get
Responses
200

Successfully retrieved the recovery key backup

application/json
get
/sys/rekey/recovery-key-backup

Delete the recovery key backup

delete
Responses
delete
/sys/rekey/recovery-key-backup

No content

Enter a single unseal key share to progress the rekey of the Vault.

post
Body
keystringOptional

Specifies a single unseal key share.

noncestringOptional

Specifies the nonce of the rekey attempt.

Responses
200

OK

application/json
post
/sys/rekey/update
200

OK

Read the configuration and progress of the current rekey verification attempt.

get
Responses
200

OK

application/json
get
/sys/rekey/verify
200

OK

Enter a single new key share to progress the rekey verification operation.

post
Body
keystringOptional

Specifies a single unseal share key from the new set of shares.

noncestringOptional

Specifies the nonce of the rekey verification operation.

Responses
200

OK

application/json
post
/sys/rekey/verify
200

OK

Cancel any in-progress rekey verification operation.

delete

This clears any progress made and resets the nonce. Unlike a DELETE against sys/rekey/init, this only resets the current verification operation, not the entire rekey atttempt.

Responses
200

OK

application/json
delete
/sys/rekey/verify
200

OK

Initiate a mount migration

post
Body
fromstringOptional

The previous mount point.

tostringOptional

The new mount point.

Responses
200

OK

application/json
post
/sys/remount
200

OK

Check status of a mount migration

get
Path parameters
migration_idstringRequired

The ID of the migration operation

Responses
200

OK

application/json
get
/sys/remount/status/{migration_id}
200

OK

Renews a lease, requesting to extend the lease.

post
Body
incrementinteger · secondsOptional

The desired increment in seconds to the lease

lease_idstringOptional

The lease identifier to renew. This is included with a lease.

url_lease_idstringOptional

The lease identifier to renew. This is included with a lease.

Responses
post
/sys/renew
204

OK

No content

Renews a lease, requesting to extend the lease.

post
Path parameters
url_lease_idstringRequired

The lease identifier to renew. This is included with a lease.

Body
incrementinteger · secondsOptional

The desired increment in seconds to the lease

lease_idstringOptional

The lease identifier to renew. This is included with a lease.

Responses
post
/sys/renew/{url_lease_id}
204

OK

No content

Demotes the DR primary node

post
Responses
200

DR primary successfully demoted

application/json
Responseany
post
/sys/replication/dr/primary/demote

Disables the DR primary replication

post
Responses
200

DR replication successfully disabled

application/json
Responseany
post
/sys/replication/dr/primary/disable

Enables the DR primary replication

post
Body
anyOptional
Responses
200

DR replication successfully enabled

application/json
Responseany
post
/sys/replication/dr/primary/enable

Revokes a DR secondary cluster

post
Body
anyOptional
Responses
200

DR secondary successfully revoked

application/json
Responseany
post
/sys/replication/dr/primary/revoke-secondary

Creates a token for a DR secondary to join the primary

post
Body
anyOptional
Responses
200

Token successfully created

application/json
Responseany
post
/sys/replication/dr/primary/secondary-token

Reload a specific DR secondary subsystem configuration.

post
Path parameters
subsystemstringRequired
Responses
200

Configuration reloaded successfully.

application/json
Responseany
post
/sys/replication/dr/secondary/config/reload/{subsystem}
200

Configuration reloaded successfully.

Disable DR secondary replication.

post
Responses
200

DR secondary replication disabled.

application/json
Responseany
post
/sys/replication/dr/secondary/disable
200

DR secondary replication disabled.

Enable DR secondary replication.

post
Body
anyOptional
Responses
200

DR secondary enabled.

application/json
Responseany
post
/sys/replication/dr/secondary/enable
200

DR secondary enabled.

Generate a new DR secondary public key.

post
Responses
200

Public key generated.

application/json
Responseany
post
/sys/replication/dr/secondary/generate-public-key
200

Public key generated.

Check license status on the DR secondary.

get
Responses
200

License status retrieved.

application/json
Responseany
get
/sys/replication/dr/secondary/license/status
200

License status retrieved.

Delete the DR secondary operation token.

post
Responses
200

Operation token deleted.

application/json
Responseany
post
/sys/replication/dr/secondary/operation-token/delete
200

Operation token deleted.

Promote the DR secondary to primary.

post
Responses
200

Secondary promoted to primary.

application/json
Responseany
post
/sys/replication/dr/secondary/promote
200

Secondary promoted to primary.

Recover a DR secondary.

post
Responses
200

Secondary recovery started.

application/json
Responseany
post
/sys/replication/dr/secondary/recover
200

Secondary recovery started.

Trigger reindexing on the DR secondary.

post
Responses
200

Reindexing triggered.

application/json
Responseany
post
/sys/replication/dr/secondary/reindex
200

Reindexing triggered.

Update the DR primary cluster configuration.

post
Body
anyOptional
Responses
200

Primary configuration updated.

application/json
Responseany
post
/sys/replication/dr/secondary/update-primary
200

Primary configuration updated.

Read DR replication status.

get
Responses
200

DR status retrieved.

application/json
Responseany
get
/sys/replication/dr/status
200

DR status retrieved.

Demote the performance primary cluster.

post
Responses
200

Demotion successful.

application/json
Responseany
post
/sys/replication/performance/primary/demote
200

Demotion successful.

Disable performance primary replication.

post
Responses
200

Replication disabled.

application/json
Responseany
post
/sys/replication/performance/primary/disable
200

Replication disabled.

Read a dynamic filter by ID.

get
Path parameters
idstringRequired
Responses
200

Filter details retrieved.

application/json
Responseany
get
/sys/replication/performance/primary/dynamic-filter/{id}
200

Filter details retrieved.

Enable performance primary replication.

post
Body
anyOptional
Responses
200

Replication enabled.

application/json
Responseany
post
/sys/replication/performance/primary/enable
200

Replication enabled.

Get a paths filter by ID.

get
Path parameters
idstringRequired
Responses
200

Filter details.

application/json
Responseany
get
/sys/replication/performance/primary/paths-filter/{id}
200

Filter details.

Create or update a paths filter.

post
Path parameters
idstringRequired
Body
anyOptional
Responses
200

Filter updated successfully.

application/json
Responseany
post
/sys/replication/performance/primary/paths-filter/{id}
200

Filter updated successfully.

Delete a paths filter by ID.

delete
Path parameters
idstringRequired
Responses
delete
/sys/replication/performance/primary/paths-filter/{id}
204

Filter deleted successfully.

No content

Revoke a secondary from the performance primary.

post
Responses
200

Secondary revoked successfully.

application/json
Responseany
post
/sys/replication/performance/primary/revoke-secondary
200

Secondary revoked successfully.

Generate a secondary token.

post
Body
anyOptional
Responses
200

Token generated.

application/json
Responseany
post
/sys/replication/performance/primary/secondary-token
200

Token generated.

Disable a performance secondary.

post
Responses
200

Secondary disabled.

application/json
Responseany
post
/sys/replication/performance/secondary/disable
200

Secondary disabled.

Get a secondary dynamic filter by ID.

get
Path parameters
idstringRequired
Responses
200

Filter information retrieved.

application/json
Responseany
get
/sys/replication/performance/secondary/dynamic-filter/{id}
200

Filter information retrieved.

Enable performance secondary replication.

post
Body
anyOptional
Responses
200

Secondary enabled.

application/json
Responseany
post
/sys/replication/performance/secondary/enable
200

Secondary enabled.

Generate public key for performance secondary.

post
Responses
200

Public key generated.

application/json
Responseany
post
/sys/replication/performance/secondary/generate-public-key
200

Public key generated.

Promote performance secondary to primary.

post
Responses
200

Secondary promoted to primary.

application/json
Responseany
post
/sys/replication/performance/secondary/promote
200

Secondary promoted to primary.

Update primary information for the secondary.

post
Body
anyOptional
Responses
200

Primary updated successfully.

application/json
Responseany
post
/sys/replication/performance/secondary/update-primary
200

Primary updated successfully.

Get the status of performance replication.

get
Responses
200

Replication status returned.

application/json
Responseany
get
/sys/replication/performance/status
200

Replication status returned.

Demote the current primary cluster.

post
Responses
200

Primary successfully demoted.

application/json
Responseany
post
/sys/replication/primary/demote

Disable the replication feature on the primary.

post
Responses
200

Replication disabled on primary.

application/json
Responseany
post
/sys/replication/primary/disable

Enable the primary cluster for replication.

post
Body
anyOptional
Responses
200

Primary replication enabled.

application/json
Responseany
post
/sys/replication/primary/enable

Revoke the replication relationship with a secondary.

post
Responses
200

Secondary successfully revoked.

application/json
Responseany
post
/sys/replication/primary/revoke-secondary

Generate a token to be used by a secondary to join the primary.

post
Body
anyOptional
Responses
200

Token successfully generated.

application/json
Responseany
post
/sys/replication/primary/secondary-token

Trigger internal recovery of the replication state.

post
Responses
200

Recovery initiated.

application/json
Responseany
post
/sys/replication/recover

Trigger a reindex of all replication state data.

post
Responses
200

Reindexing triggered.

application/json
Responseany
post
/sys/replication/reindex

Disable replication on a secondary cluster.

post
Responses
200

Secondary replication disabled.

application/json
Responseany
post
/sys/replication/secondary/disable

Enable replication on a secondary cluster.

post
Body
anyOptional
Responses
200

Secondary replication enabled.

application/json
Responseany
post
/sys/replication/secondary/enable

Promote a performance or DR secondary to become the primary.

post
Responses
200

Secondary successfully promoted.

application/json
Responseany
post
/sys/replication/secondary/promote

Provide a new connection configuration to a primary from a secondary.

post
Body
anyOptional
Responses
200

Primary address updated successfully.

application/json
Responseany
post
/sys/replication/secondary/update-primary

Get the current status of replication for this Vault node.

get
Responses
200

Current replication status returned.

application/json
Responseany
get
/sys/replication/status

Revokes a lease immediately.

post
Body
lease_idstringOptional

The lease identifier to renew. This is included with a lease.

syncbooleanOptional

Whether or not to perform the revocation synchronously

Default: true
url_lease_idstringOptional

The lease identifier to renew. This is included with a lease.

Responses
post
/sys/revoke
204

OK

No content

Revokes all secrets or tokens generated under a given prefix immediately

post

Unlike /sys/leases/revoke-prefix, this path ignores backend errors encountered during revocation. This is potentially very dangerous and should only be used in specific emergency situations where errors in the backend or the connected backend service prevent normal revocation.

By ignoring these errors, Vault abdicates responsibility for ensuring that the issued credentials or secrets are properly revoked and/or cleaned up. Access to this endpoint should be tightly controlled.

Path parameters
prefixstringRequired

The path to revoke keys under. Example: "prod/aws/ops"

Responses
post
/sys/revoke-force/{prefix}
204

OK

No content

Revokes all secrets (via a lease ID prefix) or tokens (via the tokens' path property) generated under a given prefix immediately.

post
Path parameters
prefixstringRequired

The path to revoke keys under. Example: "prod/aws/ops"

Body
syncbooleanOptional

Whether or not to perform the revocation synchronously

Default: true
Responses
post
/sys/revoke-prefix/{prefix}
204

OK

No content

Revokes a lease immediately.

post
Path parameters
url_lease_idstringRequired

The lease identifier to renew. This is included with a lease.

Body
lease_idstringOptional

The lease identifier to renew. This is included with a lease.

syncbooleanOptional

Whether or not to perform the revocation synchronously

Default: true
Responses
post
/sys/revoke/{url_lease_id}
204

OK

No content

Rotate the backend encryption key.

post

Rotates the backend encryption key used to persist Vault data. This operation is a no-op if key rotation is disabled.

Responses
post
/sys/rotate

No content

Read encryption key rotation configuration.

get
Responses
200

Current encryption key rotation configuration.

application/json
get
/sys/rotate/config

Configure encryption key rotation settings.

post
Body
enabledbooleanOptional

Whether automatic rotation is enabled.

intervalinteger · secondsOptional

How long after installation of an active key term that the key will be automatically rotated.

max_operationsinteger · int64Optional

The number of encryption operations performed before the barrier key is automatically rotated.

Responses
post
/sys/rotate/config

No content

Seal the Vault.

post
Responses
post
/sys/seal
204

OK

No content

Check the seal status of a Vault.

get
Responses
200Success
application/json
get
/sys/seal-status
200Success

Check sealwrap rewrap status

get

Returns information about keys or values that require rewrap due to changes in the underlying seal configuration.

Responses
200

Sealwrap rewrap status retrieved successfully.

application/json
Responseany
get
/sys/sealwrap/rewrap

Perform sealwrap rewrap

post

Triggers rewrap for keys encrypted with an old seal configuration. This may take time depending on the size of the data.

Body
anyOptional
Responses
200

Rewrap operation completed successfully.

application/json
Responseany
post
/sys/sealwrap/rewrap

Cause the node to give up active status.

post

This endpoint forces the node to give up active status. If the node does not have active status, this endpoint does nothing. Note that the node will sleep for ten seconds before attempting to grab the active lock again, but if no standby nodes grab the active lock in the interim, the same node may become the active node again.

Responses
post
/sys/step-down
204

empty body

No content

List all configured automatic snapshot jobs

get
Query parameters
liststring · enumRequired

Must be set to true

Possible values:
Responses
200

Successfully listed configured snapshot jobs.

application/json
Responseany
get
/sys/storage/raft/snapshot-auto/config/

Read configuration for a specific snapshot job

get
Path parameters
namestringRequired

The name of the snapshot job configuration.

Responses
200

Snapshot job configuration retrieved.

application/json
Responseany
get
/sys/storage/raft/snapshot-auto/config/{name}

Create or update a snapshot job configuration

post
Path parameters
namestringRequired

The name of the snapshot job configuration.

Body
anyOptional
Responses
200

Snapshot configuration saved successfully.

application/json
Responseany
post
/sys/storage/raft/snapshot-auto/config/{name}

Delete the specified snapshot job configuration

delete
Path parameters
namestringRequired

The name of the snapshot job configuration.

Responses
delete
/sys/storage/raft/snapshot-auto/config/{name}

No content

Read status of a named snapshot job

get
Path parameters
namestringRequired

The name of the snapshot job

Responses
200

Status of the snapshot job retrieved successfully.

application/json
Responseany
get
/sys/storage/raft/snapshot-auto/status/{name}

Generate a hash sum for input data using a configured default algorithm

post

Accepts raw input data and returns its hash digest using Vault's configured default hash algorithm.

Body
algorithmstringOptional

Algorithm to use (POST body parameter). Valid values are: * sha2-224 * sha2-256 * sha2-384 * sha2-512 Defaults to "sha2-256".

Default: sha2-256
formatstringOptional

Encoding format to use. Can be "hex" or "base64". Defaults to "hex".

Default: hex
inputstringOptional

The base64-encoded input data

urlalgorithmstringOptional

Algorithm to use (POST URL parameter)

Responses
200

Hash generated successfully.

application/json
post
/sys/tools/hash

Generate a hash sum for input data using a specific algorithm

post

Accepts raw input data and returns its hash digest using the algorithm specified in the URL.

Path parameters
urlalgorithmstringRequired

The hash algorithm to use (e.g., sha2-256, sha2-512)

Body
algorithmstringOptional

Algorithm to use (POST body parameter). Valid values are: * sha2-224 * sha2-256 * sha2-384 * sha2-512 Defaults to "sha2-256".

Default: sha2-256
formatstringOptional

Encoding format to use. Can be "hex" or "base64". Defaults to "hex".

Default: hex
inputstringOptional

The base64-encoded input data

Responses
200

Hash generated successfully using the specified algorithm.

application/json
post
/sys/tools/hash/{urlalgorithm}

Generate random bytes using the default platform source

post
Body
bytesintegerOptional

The number of bytes to generate (POST body parameter). Defaults to 32 (256 bits).

Default: 32
formatstringOptional

Encoding format to use. Can be "hex" or "base64". Defaults to "base64".

Default: base64
sourcestringOptional

Which system to source random data from, ether "platform", "seal", or "all".

Default: platform
urlbytesstringOptional

The number of bytes to generate (POST URL parameter)

Responses
200

Random bytes generated successfully.

application/json
post
/sys/tools/random

Generate random bytes using a specified source

post
Path parameters
sourcestring · enumRequired

Source to generate randomness from

Default: platformPossible values:
Body
bytesintegerOptional

The number of bytes to generate (POST body parameter). Defaults to 32 (256 bits).

Default: 32
formatstringOptional

Encoding format to use. Can be "hex" or "base64". Defaults to "base64".

Default: base64
urlbytesstringOptional

The number of bytes to generate (POST URL parameter)

Responses
200

Random bytes generated successfully from specified source.

application/json
post
/sys/tools/random/{source}

Generate a specific number of random bytes

post
Path parameters
urlbytesstringRequired

Number of bytes to generate

Body
bytesintegerOptional

The number of bytes to generate (POST body parameter). Defaults to 32 (256 bits).

Default: 32
formatstringOptional

Encoding format to use. Can be "hex" or "base64". Defaults to "base64".

Default: base64
sourcestringOptional

Which system to source random data from, ether "platform", "seal", or "all".

Default: platform
Responses
200

Random bytes generated successfully.

application/json
post
/sys/tools/random/{urlbytes}

Generate a specific number of random bytes from a given source

post
Path parameters
sourcestring · enumRequired

Source to generate randomness from

Possible values:
urlbytesstringRequired

Number of bytes to generate

Body
bytesintegerOptional

The number of bytes to generate (POST body parameter). Defaults to 32 (256 bits).

Default: 32
formatstringOptional

Encoding format to use. Can be "hex" or "base64". Defaults to "base64".

Default: base64
Responses
200

Random bytes generated successfully.

application/json
post
/sys/tools/random/{source}/{urlbytes}

Unseal the Vault.

post
Body
keystringOptional

Specifies a single unseal key share. This is required unless reset is true.

resetbooleanOptional

Specifies if previously-provided unseal keys are discarded and the unseal process is reset.

Responses
200Success
application/json
post
/sys/unseal
200Success

Returns map of historical version change entries

get
Query parameters
liststring · enumRequired

Must be set to true

Possible values:
Responses
200

OK

application/json
get
/sys/version-history
200

OK

Look up wrapping properties for the requester's token.

get
Responses
200

OK

application/json
get
/sys/wrapping/lookup
200

OK

Look up wrapping properties for the given token.

post
Body
tokenstringOptional
Responses
200

OK

application/json
post
/sys/wrapping/lookup
200

OK

Rotates a response-wrapped token

post

Accepts a response-wrapped token and returns a new wrapped token.

Authorizations
Body
tokenstringOptional
Responses
200

Successfully rewrapped token

application/json
Responseany
post
/sys/wrapping/rewrap

Unwraps a response-wrapped token

post

Unwraps a token and returns the original payload.

Authorizations
Body
tokenstringOptional
Responses
200

Token unwrapped successfully

application/json
Responseany
post
/sys/wrapping/unwrap

Response-wraps an arbitrary JSON object

post

Accepts a JSON object and returns it wrapped in a token.

Authorizations
Body
anyOptional
Responses
200

Object wrapped successfully

application/json
Responseany
post
/sys/wrapping/wrap

Last updated

Was this helpful?