| --- |
| layout: api |
| page_title: /sys/internal/specs/openapi - HTTP API |
| description: >- |
| The `/sys/internal/specs/openapi` endpoint is used to generate an OpenAPI |
| document of the mounted backends. |
| --- |
| |
| # `/sys/internal/specs/openapi` |
| |
| The `/sys/internal/specs/openapi` endpoint is used to generate an OpenAPI document of the mounted backends. |
| The response conforms to the [OpenAPI V3 specification](https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.2.md), |
| with path names matching the mount names used by the Vault server (i.e. customizations with `-path` will be reflected). |
| The set of included paths is based on the permissions of the request token. |
| |
| The response may include Vault-specific [extensions](https://github.com/oai/openapi-specification/blob/master/versions/3.0.2.md#specification-extensions). Three are currently defined: |
| |
| - `x-vault-sudo` - Endpoint requires [sudo](/vault/docs/concepts/policies#sudo) privileges. |
| - `x-vault-unauthenticated` - Endpoint is unauthenticated. |
| - `x-vault-create-supported` - Endpoint allows creation of new items, in addition to updating existing items. |
| |
| Basic documentation will be generated for all paths, but a newer path definition structure now allows for |
| more detailed documentation to be added. At this time the `/sys` endpoints have been updated to use the new |
| structure, and other endpoints will be modified incrementally. |
| |
| ## Get OpenAPI document |
| |
| This endpoint returns a single OpenAPI document describing all paths visible to the requester. |
| |
| | Method | Path | |
| | :----- | :---------------------------- | |
| | `GET` | `/sys/internal/specs/openapi` | |
| |
| ### Parameters |
| |
| - `generic_mount_paths` `(bool: false)` – Used to specify whether to use generic mount paths. If set, the mount paths will be replaced with a dynamic parameter: `{mountPath}` |
| |
| |
| ### Sample request |
| |
| ```shell-session |
| $ curl http://127.0.0.1:8200/v1/sys/internal/specs/openapi?generic_mount_paths=false |
| ``` |
| |
| ### Sample response |
| |
| ```json |
| { |
| "openapi": "3.0.2", |
| "info": { |
| "title": "HashiCorp Vault API", |
| "description": "HTTP API that gives you full access to Vault. All API routes are prefixed with `/v1/`.", |
| "version": "1.0.0", |
| "license": { |
| "name": "Mozilla Public License 2.0", |
| "url": "https://www.mozilla.org/en-US/MPL/2.0" |
| } |
| }, |
| "paths": { |
| "/auth/token/create": { |
| "description": "The token create path is used to create new tokens.", |
| "post": { |
| "summary": "The token create path is used to create new tokens.", |
| "tags": [ |
| "auth" |
| ], |
| "responses": { |
| "200": { |
| "description": "OK" |
| } |
| } |
| } |
| }, |
| ... |
| ``` |