Files
sshecret/packages/sshecret-frontend/openapi.json

1 line
27 KiB
JSON

{"openapi": "3.1.0", "info": {"title": "FastAPI", "version": "0.1.0"}, "paths": {"/health": {"get": {"summary": "Get Health", "description": "Provide simple health check.", "operationId": "get_health_health_get", "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {}}}}}}}, "/api/v1/token": {"post": {"summary": "Login For Access Token", "description": "Login user and generate token.", "operationId": "login_for_access_token_api_v1_token_post", "requestBody": {"content": {"application/x-www-form-urlencoded": {"schema": {"$ref": "#/components/schemas/Body_login_for_access_token_api_v1_token_post"}}}, "required": true}, "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Token"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/api/v1/refresh": {"post": {"summary": "Refresh Token", "description": "Refresh access token.", "operationId": "refresh_token_api_v1_refresh_post", "requestBody": {"content": {"application/x-www-form-urlencoded": {"schema": {"$ref": "#/components/schemas/RefreshTokenForm"}}}, "required": true}, "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Token"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/api/v1/clients/": {"get": {"summary": "Get Clients", "description": "Get clients.", "operationId": "get_clients_api_v1_clients__get", "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"items": {"$ref": "#/components/schemas/Client"}, "type": "array", "title": "Response Get Clients Api V1 Clients Get"}}}}}, "security": [{"OAuth2PasswordBearer": []}]}, "post": {"summary": "Create Client", "description": "Create a new client.", "operationId": "create_client_api_v1_clients__post", "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ClientCreate"}}}, "required": true}, "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Client"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}, "security": [{"OAuth2PasswordBearer": []}]}}, "/api/v1/clients/terse/": {"get": {"summary": "Get Clients Terse", "description": "Get a list of client ids and names.", "operationId": "get_clients_terse_api_v1_clients_terse__get", "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"items": {"$ref": "#/components/schemas/ClientReference"}, "type": "array", "title": "Response Get Clients Terse Api V1 Clients Terse Get"}}}}}, "security": [{"OAuth2PasswordBearer": []}]}}, "/api/v1/query/clients/": {"get": {"summary": "Query Clients", "description": "Query clients.", "operationId": "query_clients_api_v1_query_clients__get", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "limit", "in": "query", "required": false, "schema": {"type": "integer", "maximum": 100, "exclusiveMinimum": 0, "default": 100, "title": "Limit"}}, {"name": "offset", "in": "query", "required": false, "schema": {"type": "integer", "minimum": 0, "default": 0, "title": "Offset"}}, {"name": "id", "in": "query", "required": false, "schema": {"anyOf": [{"type": "string", "format": "uuid"}, {"type": "null"}], "title": "Id"}}, {"name": "name", "in": "query", "required": false, "schema": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Name"}}, {"name": "name__like", "in": "query", "required": false, "schema": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Name Like"}}, {"name": "name__contains", "in": "query", "required": false, "schema": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Name Contains"}}, {"name": "order_by", "in": "query", "required": false, "schema": {"type": "string", "default": "created_at", "title": "Order By"}}, {"name": "order_reverse", "in": "query", "required": false, "schema": {"type": "boolean", "default": true, "title": "Order Reverse"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ClientQueryResult"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/api/v1/clients/{id}": {"get": {"summary": "Get Client", "description": "Get a client.", "operationId": "get_client_api_v1_clients__id__get", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "id", "in": "path", "required": true, "schema": {"type": "string", "title": "Id"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Client"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}, "put": {"summary": "Update Client", "description": "Update a client.", "operationId": "update_client_api_v1_clients__id__put", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "id", "in": "path", "required": true, "schema": {"type": "string", "title": "Id"}}], "requestBody": {"required": true, "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ClientCreate"}}}}, "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Client"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}, "delete": {"summary": "Delete Client", "description": "Delete a client.", "operationId": "delete_client_api_v1_clients__id__delete", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "id", "in": "path", "required": true, "schema": {"type": "string", "title": "Id"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/api/v1/clients/{id}/secrets/{secret_name}": {"delete": {"summary": "Delete Secret From Client", "description": "Delete a secret from a client.", "operationId": "delete_secret_from_client_api_v1_clients__id__secrets__secret_name__delete", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "id", "in": "path", "required": true, "schema": {"type": "string", "title": "Id"}}, {"name": "secret_name", "in": "path", "required": true, "schema": {"type": "string", "title": "Secret Name"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}, "put": {"summary": "Add Secret To Client", "description": "Add secret to a client.", "operationId": "add_secret_to_client_api_v1_clients__id__secrets__secret_name__put", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "id", "in": "path", "required": true, "schema": {"type": "string", "title": "Id"}}, {"name": "secret_name", "in": "path", "required": true, "schema": {"type": "string", "title": "Secret Name"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/api/v1/clients/{id}/policies": {"put": {"summary": "Update Client Policies", "description": "Update the client access policies.", "operationId": "update_client_policies_api_v1_clients__id__policies_put", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "id", "in": "path", "required": true, "schema": {"type": "string", "title": "Id"}}], "requestBody": {"required": true, "content": {"application/json": {"schema": {"$ref": "#/components/schemas/UpdatePoliciesRequest"}}}}, "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Client"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/api/v1/clients/{id}/public-key": {"put": {"summary": "Update Client Public Key", "description": "Update client public key.\n\nUpdating the public key will invalidate the current secrets, so these well\nbe resolved first, and re-encrypted using the new key.", "operationId": "update_client_public_key_api_v1_clients__id__public_key_put", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "id", "in": "path", "required": true, "schema": {"type": "string", "title": "Id"}}], "requestBody": {"required": true, "content": {"application/json": {"schema": {"$ref": "#/components/schemas/UpdateKeyModel"}}}}, "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/UpdateKeyResponse"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/api/v1/secrets/": {"get": {"summary": "Get Secret Names", "description": "Get Secret Names.", "operationId": "get_secret_names_api_v1_secrets__get", "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"items": {"$ref": "#/components/schemas/SecretListView"}, "type": "array", "title": "Response Get Secret Names Api V1 Secrets Get"}}}}}, "security": [{"OAuth2PasswordBearer": []}]}, "post": {"summary": "Add Secret", "description": "Create a secret.", "operationId": "add_secret_api_v1_secrets__post", "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/SecretCreate"}}}, "required": true}, "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}, "security": [{"OAuth2PasswordBearer": []}]}}, "/api/v1/secrets/{name}": {"get": {"summary": "Get Secret", "description": "Get a secret.", "operationId": "get_secret_api_v1_secrets__name__get", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "name", "in": "path", "required": true, "schema": {"type": "string", "title": "Name"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/SecretView"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}, "put": {"summary": "Update Secret", "operationId": "update_secret_api_v1_secrets__name__put", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "name", "in": "path", "required": true, "schema": {"type": "string", "title": "Name"}}], "requestBody": {"required": true, "content": {"application/json": {"schema": {"$ref": "#/components/schemas/SecretUpdate"}}}}, "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}, "delete": {"summary": "Delete Secret", "description": "Delete secret.", "operationId": "delete_secret_api_v1_secrets__name__delete", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "name", "in": "path", "required": true, "schema": {"type": "string", "title": "Name"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/api/v1/secrets/groups/": {"get": {"summary": "Get Secret Groups", "description": "Get secret groups.", "operationId": "get_secret_groups_api_v1_secrets_groups__get", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "filter_regex", "in": "query", "required": false, "schema": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Filter Regex"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ClientSecretGroupList"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}, "post": {"summary": "Add Secret Group", "description": "Create a secret grouping.", "operationId": "add_secret_group_api_v1_secrets_groups__post", "security": [{"OAuth2PasswordBearer": []}], "requestBody": {"required": true, "content": {"application/json": {"schema": {"$ref": "#/components/schemas/SecretGroupCreate"}}}}, "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ClientSecretGroup"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/api/v1/secrets/groups/{group_name}/": {"get": {"summary": "Get Secret Group", "description": "Get a specific secret group.", "operationId": "get_secret_group_api_v1_secrets_groups__group_name___get", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "group_name", "in": "path", "required": true, "schema": {"type": "string", "title": "Group Name"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ClientSecretGroup"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}, "delete": {"summary": "Delete Secret Group", "description": "Remove a group.\n\nEntries within the group will be moved to the root.\nThis also includes nested entries further down from the group.", "operationId": "delete_secret_group_api_v1_secrets_groups__group_name___delete", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "group_name", "in": "path", "required": true, "schema": {"type": "string", "title": "Group Name"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/api/v1/secrets/groups/{group_name}/{secret_name}": {"post": {"summary": "Move Secret To Group", "description": "Move a secret to a group.", "operationId": "move_secret_to_group_api_v1_secrets_groups__group_name___secret_name__post", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "group_name", "in": "path", "required": true, "schema": {"type": "string", "title": "Group Name"}}, {"name": "secret_name", "in": "path", "required": true, "schema": {"type": "string", "title": "Secret Name"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}, "delete": {"summary": "Remove Secret From Group", "description": "Remove a secret from a group.\n\nSecret will be moved to the root group.", "operationId": "remove_secret_from_group_api_v1_secrets_groups__group_name___secret_name__delete", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "group_name", "in": "path", "required": true, "schema": {"type": "string", "title": "Group Name"}}, {"name": "secret_name", "in": "path", "required": true, "schema": {"type": "string", "title": "Secret Name"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/api/v1/secrets/group/{group_name}/parent/{parent_name}": {"post": {"summary": "Move Group", "description": "Move a group.", "operationId": "move_group_api_v1_secrets_group__group_name__parent__parent_name__post", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "group_name", "in": "path", "required": true, "schema": {"type": "string", "title": "Group Name"}}, {"name": "parent_name", "in": "path", "required": true, "schema": {"type": "string", "title": "Parent Name"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/api/v1/secrets/group/{group_name}/parent/": {"delete": {"summary": "Move Group To Root", "description": "Move a group to the root.", "operationId": "move_group_to_root_api_v1_secrets_group__group_name__parent__delete", "security": [{"OAuth2PasswordBearer": []}], "parameters": [{"name": "group_name", "in": "path", "required": true, "schema": {"type": "string", "title": "Group Name"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}}, "components": {"schemas": {"AutoGenerateOpts": {"properties": {"auto_generate": {"type": "boolean", "const": true, "title": "Auto Generate"}, "length": {"type": "integer", "title": "Length", "default": 32}}, "type": "object", "required": ["auto_generate"], "title": "AutoGenerateOpts", "description": "Option to auto-generate a password."}, "Body_login_for_access_token_api_v1_token_post": {"properties": {"grant_type": {"anyOf": [{"type": "string", "pattern": "^password$"}, {"type": "null"}], "title": "Grant Type"}, "username": {"type": "string", "title": "Username"}, "password": {"type": "string", "format": "password", "title": "Password"}, "scope": {"type": "string", "title": "Scope", "default": ""}, "client_id": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Client Id"}, "client_secret": {"anyOf": [{"type": "string"}, {"type": "null"}], "format": "password", "title": "Client Secret"}}, "type": "object", "required": ["username", "password"], "title": "Body_login_for_access_token_api_v1_token_post"}, "Client": {"properties": {"id": {"type": "string", "format": "uuid", "title": "Id"}, "name": {"type": "string", "title": "Name"}, "description": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Description"}, "public_key": {"type": "string", "title": "Public Key"}, "version": {"type": "integer", "title": "Version"}, "is_active": {"type": "boolean", "title": "Is Active"}, "is_deleted": {"type": "boolean", "title": "Is Deleted"}, "secrets": {"items": {"type": "string"}, "type": "array", "title": "Secrets"}, "policies": {"items": {"anyOf": [{"type": "string", "format": "ipvanynetwork"}, {"type": "string", "format": "ipvanyaddress"}]}, "type": "array", "title": "Policies"}, "created_at": {"type": "string", "format": "date-time", "title": "Created At"}, "updated_at": {"anyOf": [{"type": "string", "format": "date-time"}, {"type": "null"}], "title": "Updated At"}, "deleted_at": {"anyOf": [{"type": "string", "format": "date-time"}, {"type": "null"}], "title": "Deleted At"}}, "type": "object", "required": ["id", "name", "description", "public_key", "version", "is_active", "is_deleted", "secrets", "policies", "created_at", "updated_at", "deleted_at"], "title": "Client", "description": "Implementation of the backend class ClientView."}, "ClientCreate": {"properties": {"name": {"type": "string", "title": "Name"}, "description": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Description"}, "public_key": {"type": "string", "title": "Public Key"}, "sources": {"items": {"anyOf": [{"type": "string", "format": "ipvanyaddress"}, {"type": "string", "format": "ipvanynetwork"}]}, "type": "array", "title": "Sources"}}, "type": "object", "required": ["name", "public_key"], "title": "ClientCreate", "description": "Model to create a client."}, "ClientQueryResult": {"properties": {"clients": {"items": {"$ref": "#/components/schemas/Client"}, "type": "array", "title": "Clients"}, "total_results": {"type": "integer", "title": "Total Results"}, "remaining_results": {"type": "integer", "title": "Remaining Results"}}, "type": "object", "required": ["clients", "total_results", "remaining_results"], "title": "ClientQueryResult", "description": "Implementation of the backend ClientQueryResult class."}, "ClientReference": {"properties": {"id": {"type": "string", "title": "Id"}, "name": {"type": "string", "title": "Name"}}, "type": "object", "required": ["id", "name"], "title": "ClientReference", "description": "Implementation of the backend class ClientReference."}, "ClientSecretGroup": {"properties": {"group_name": {"type": "string", "title": "Group Name"}, "path": {"type": "string", "title": "Path"}, "description": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Description"}, "parent_group": {"anyOf": [{"$ref": "#/components/schemas/ClientSecretGroup"}, {"type": "null"}]}, "children": {"items": {"$ref": "#/components/schemas/ClientSecretGroup"}, "type": "array", "title": "Children"}, "entries": {"items": {"$ref": "#/components/schemas/SecretClientMapping"}, "type": "array", "title": "Entries"}}, "type": "object", "required": ["group_name", "path"], "title": "ClientSecretGroup", "description": "Client secrets grouped."}, "ClientSecretGroupList": {"properties": {"ungrouped": {"items": {"$ref": "#/components/schemas/SecretClientMapping"}, "type": "array", "title": "Ungrouped"}, "groups": {"items": {"$ref": "#/components/schemas/ClientSecretGroup"}, "type": "array", "title": "Groups"}}, "type": "object", "title": "ClientSecretGroupList", "description": "Secret group list."}, "HTTPValidationError": {"properties": {"detail": {"items": {"$ref": "#/components/schemas/ValidationError"}, "type": "array", "title": "Detail"}}, "type": "object", "title": "HTTPValidationError"}, "RefreshTokenForm": {"properties": {"grant_type": {"type": "string", "const": "refresh_token", "title": "Grant Type"}, "refresh_token": {"type": "string", "title": "Refresh Token"}}, "type": "object", "required": ["grant_type", "refresh_token"], "title": "RefreshTokenForm", "description": "The refresh token form data."}, "SecretClientMapping": {"properties": {"name": {"type": "string", "title": "Name"}, "unmanaged": {"type": "boolean", "title": "Unmanaged", "default": false}, "clients": {"items": {"$ref": "#/components/schemas/ClientReference"}, "type": "array", "title": "Clients"}}, "type": "object", "required": ["name"], "title": "SecretClientMapping", "description": "Secret name with list of clients."}, "SecretCreate": {"properties": {"value": {"anyOf": [{"type": "string"}, {"$ref": "#/components/schemas/AutoGenerateOpts"}], "title": "Value", "description": "Secret as string value or auto-generated with optional length", "examples": ["MySecretString", {"auto_generate": true, "length": 32}]}, "name": {"type": "string", "title": "Name"}, "clients": {"anyOf": [{"items": {"type": "string"}, "type": "array"}, {"type": "null"}], "title": "Clients", "description": "Assign the secret to a list of clients."}, "group": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Group"}}, "type": "object", "required": ["value", "name"], "title": "SecretCreate", "description": "Model to create a secret.", "examples": [{"clients": ["client-1", "client-2"], "name": "MySecret", "value": {"auto_generate": true, "length": 32}}, {"group": "MySecretGroup", "name": "MySecret", "value": "mysecretstring"}]}, "SecretGroupCreate": {"properties": {"name": {"type": "string", "title": "Name"}, "description": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Description"}, "parent_group": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Parent Group"}}, "type": "object", "required": ["name"], "title": "SecretGroupCreate", "description": "Create model for creating secret groups."}, "SecretListView": {"properties": {"name": {"type": "string", "title": "Name"}, "unmanaged": {"type": "boolean", "title": "Unmanaged", "default": false}, "clients": {"items": {"type": "string"}, "type": "array", "title": "Clients"}}, "type": "object", "required": ["name"], "title": "SecretListView", "description": "Model containing a list of all available secrets."}, "SecretUpdate": {"properties": {"value": {"anyOf": [{"type": "string"}, {"$ref": "#/components/schemas/AutoGenerateOpts"}], "title": "Value", "description": "Secret as string value or auto-generated with optional length", "examples": ["MySecretString", {"auto_generate": true, "length": 32}]}}, "type": "object", "required": ["value"], "title": "SecretUpdate", "description": "Model to update a secret."}, "SecretView": {"properties": {"name": {"type": "string", "title": "Name"}, "secret": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Secret"}, "group": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Group"}, "clients": {"items": {"$ref": "#/components/schemas/ClientReference"}, "type": "array", "title": "Clients"}}, "type": "object", "required": ["name", "secret"], "title": "SecretView", "description": "Model containing a secret, including its clear-text value."}, "Token": {"properties": {"access_token": {"type": "string", "title": "Access Token"}, "refresh_token": {"type": "string", "title": "Refresh Token"}, "token_type": {"type": "string", "title": "Token Type"}}, "type": "object", "required": ["access_token", "refresh_token", "token_type"], "title": "Token"}, "UpdateKeyModel": {"properties": {"public_key": {"type": "string", "title": "Public Key"}}, "type": "object", "required": ["public_key"], "title": "UpdateKeyModel", "description": "Model for updating client public key."}, "UpdateKeyResponse": {"properties": {"public_key": {"type": "string", "title": "Public Key"}, "updated_secrets": {"items": {"type": "string"}, "type": "array", "title": "Updated Secrets"}, "detail": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Detail"}}, "type": "object", "required": ["public_key"], "title": "UpdateKeyResponse", "description": "Response model after updating the public key."}, "UpdatePoliciesRequest": {"properties": {"sources": {"items": {"anyOf": [{"type": "string", "format": "ipvanyaddress"}, {"type": "string", "format": "ipvanynetwork"}]}, "type": "array", "title": "Sources"}}, "type": "object", "required": ["sources"], "title": "UpdatePoliciesRequest", "description": "Update policy request."}, "ValidationError": {"properties": {"loc": {"items": {"anyOf": [{"type": "string"}, {"type": "integer"}]}, "type": "array", "title": "Location"}, "msg": {"type": "string", "title": "Message"}, "type": {"type": "string", "title": "Error Type"}}, "type": "object", "required": ["loc", "msg", "type"], "title": "ValidationError"}}, "securitySchemes": {"OAuth2PasswordBearer": {"type": "oauth2", "flows": {"password": {"refreshUrl": "/api/v1/refresh", "scopes": {}, "tokenUrl": "/api/v1/token"}}}}}}