76 lines
2.6 KiB
Plaintext
76 lines
2.6 KiB
Plaintext
---
|
||
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](/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"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
...
|
||
```
|