{
  "openapi": "3.0.0",
  "info": {
    "version": "3.14",
    "title": "Openstack Keystone API (Ussuri)"
  },
  "servers": [
    {
      "url": "http://{host}:{port}",
      "description": "Identity service (keystone) administrative endpoint",
      "variables": {
        "host": {
          "default": "localhost"
        },
        "port": {
          "default": "5000"
        }
      }
    }
  ],
  "paths": {
    "/v3/auth/tokens": {
      "get": {
        "operationId": "validateAndShowInformationForToken",
        "summary": "Validate and show information for token",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#validate-and-show-information-for-token"
        },
        "parameters": [
          {
            "name": "nocatalog",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "(Since v3.1) The authentication response excludes the service catalog. By default, the response includes the service catalog."
            }
          },
          {
            "name": "allow_expired",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "(Since v3.8) Allow fetching a token that has expired. By default expired tokens return a 404 exception."
            }
          },
          {
            "name": "X-Subject-Token",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The authentication token. An authentication response returns the token ID in this header rather than in the response body."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          },
          "400": {
            "description": "Some content in the request was invalid."
          },
          "401": {
            "description": "User must authenticate before making a request."
          },
          "403": {
            "description": "Policy does not allow current user to do this operation."
          },
          "404": {
            "description": "The requested resource could not be found."
          }
        },
        "tags": [
          "Authentication and token management"
        ]
      },
      "head": {
        "operationId": "checkToken",
        "summary": "Check token",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#check-token"
        },
        "parameters": [
          {
            "name": "allow_expired",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "(Since v3.8) Allow fetching a token that has expired. By default expired tokens return a 404 exception."
            }
          },
          {
            "name": "X-Subject-Token",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The authentication token. An authentication response returns the token ID in this header rather than in the response body."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          },
          "400": {
            "description": "Some content in the request was invalid."
          },
          "401": {
            "description": "User must authenticate before making a request."
          },
          "403": {
            "description": "Policy does not allow current user to do this operation."
          },
          "404": {
            "description": "The requested resource could not be found."
          }
        },
        "tags": [
          "Authentication and token management"
        ]
      },
      "delete": {
        "operationId": "revokeToken",
        "summary": "Revoke token",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#revoke-token"
        },
        "parameters": [
          {
            "name": "X-Subject-Token",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The authentication token. An authentication response returns the token ID in this header rather than in the response body."
            }
          }
        ],
        "responses": {
          "204": {
            "description": "The server has fulfilled the request."
          },
          "400": {
            "description": "Some content in the request was invalid."
          },
          "401": {
            "description": "User must authenticate before making a request."
          },
          "403": {
            "description": "Policy does not allow current user to do this operation."
          },
          "404": {
            "description": "The requested resource could not be found."
          }
        },
        "tags": [
          "Authentication and token management"
        ]
      }
    },
    "/v3/auth/catalog": {
      "get": {
        "operationId": "getServiceCatalog",
        "summary": "Get service catalog",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#get-service-catalog"
        },
        "responses": {
          "200": {
            "description": "Request was successful."
          },
          "400": {
            "description": "Some content in the request was invalid."
          },
          "401": {
            "description": "User must authenticate before making a request."
          },
          "403": {
            "description": "Policy does not allow current user to do this operation."
          },
          "404": {
            "description": "The requested resource could not be found."
          },
          "405": {
            "description": "Method is not valid for this endpoint."
          },
          "409": {
            "description": "This operation conflicted with another operation on this resource."
          },
          "413": {
            "description": "The request is larger than the server is willing or able to process."
          },
          "415": {
            "description": "The request entity has a media type which the server or resource does\n                                    not support."
          },
          "503": {
            "description": "Service is not available. This is mostly caused by service configuration\n                                    errors which prevents the service from successful start up."
          }
        },
        "tags": [
          "Authentication and token management"
        ]
      }
    },
    "/v3/auth/projects": {
      "get": {
        "operationId": "getAvailableProjectScopes",
        "summary": "Get available project scopes",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#get-available-project-scopes"
        },
        "responses": {
          "200": {
            "description": "Request was successful."
          },
          "400": {
            "description": "Some content in the request was invalid."
          },
          "401": {
            "description": "User must authenticate before making a request."
          },
          "403": {
            "description": "Policy does not allow current user to do this operation."
          },
          "404": {
            "description": "The requested resource could not be found."
          },
          "405": {
            "description": "Method is not valid for this endpoint."
          },
          "409": {
            "description": "This operation conflicted with another operation on this resource."
          },
          "413": {
            "description": "The request is larger than the server is willing or able to process."
          },
          "415": {
            "description": "The request entity has a media type which the server or resource does\n                                    not support."
          },
          "503": {
            "description": "Service is not available. This is mostly caused by service configuration\n                                    errors which prevents the service from successful start up."
          }
        },
        "tags": [
          "Authentication and token management"
        ]
      }
    },
    "/v3/auth/domains": {
      "get": {
        "operationId": "getAvailableDomainScopes",
        "summary": "Get available domain scopes",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#get-available-domain-scopes"
        },
        "responses": {
          "200": {
            "description": "Request was successful."
          },
          "400": {
            "description": "Some content in the request was invalid."
          },
          "401": {
            "description": "User must authenticate before making a request."
          },
          "403": {
            "description": "Policy does not allow current user to do this operation."
          },
          "404": {
            "description": "The requested resource could not be found."
          },
          "405": {
            "description": "Method is not valid for this endpoint."
          },
          "409": {
            "description": "This operation conflicted with another operation on this resource."
          },
          "413": {
            "description": "The request is larger than the server is willing or able to process."
          },
          "415": {
            "description": "The request entity has a media type which the server or resource does\n                                    not support."
          },
          "503": {
            "description": "Service is not available. This is mostly caused by service configuration\n                                    errors which prevents the service from successful start up."
          }
        },
        "tags": [
          "Authentication and token management"
        ]
      }
    },
    "/v3/auth/system": {
      "get": {
        "operationId": "getAvailableSystemScopes",
        "summary": "Get available system scopes",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#get-available-system-scopes"
        },
        "responses": {
          "200": {
            "description": "Request was successful."
          },
          "400": {
            "description": "Some content in the request was invalid."
          },
          "401": {
            "description": "User must authenticate before making a request."
          }
        },
        "tags": [
          "Authentication and token management"
        ]
      }
    },
    "/v3/users/{user_id}/application_credentials": {
      "post": {
        "operationId": "createApplicationCredential",
        "summary": "Create application credential",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#create-application-credential"
        },
        "parameters": [
          {
            "name": "user_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the user who owns the application credential."
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "application_credential": {
                    "type": "object",
                    "properties": {
                      "name": {
                        "type": "string"
                      },
                      "secret": {
                        "type": "string"
                      },
                      "description": {
                        "type": "string"
                      },
                      "expires_at": {
                        "type": "string"
                      },
                      "roles": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "name": {
                              "type": "string"
                            }
                          }
                        }
                      },
                      "access_rules": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "path": {
                              "type": "string"
                            },
                            "method": {
                              "type": "string"
                            },
                            "service": {
                              "type": "string"
                            }
                          }
                        }
                      },
                      "unrestricted": {
                        "type": "boolean"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Resource was created and is ready to use."
          },
          "400": {
            "description": "Some content in the request was invalid."
          },
          "401": {
            "description": "User must authenticate before making a request."
          },
          "403": {
            "description": "Policy does not allow current user to do this operation."
          },
          "404": {
            "description": "The requested resource could not be found."
          },
          "409": {
            "description": "This operation conflicted with another operation on this resource."
          }
        },
        "tags": [
          "Application Credentials"
        ]
      },
      "get": {
        "operationId": "listApplicationCredentials",
        "summary": "List application credentials",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#list-application-credentials"
        },
        "parameters": [
          {
            "name": "name",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "The name of the application credential. Must be unique to a user."
            }
          },
          {
            "name": "user_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the user who owns the application credential."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          },
          "401": {
            "description": "User must authenticate before making a request."
          },
          "403": {
            "description": "Policy does not allow current user to do this operation."
          },
          "404": {
            "description": "The requested resource could not be found."
          }
        },
        "tags": [
          "Application Credentials"
        ]
      }
    },
    "/v3/users/{user_id}/application_credentials/{application_credential_id}": {
      "get": {
        "operationId": "showApplicationCredentialDetails",
        "summary": "Show application credential details",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#show-application-credential-details"
        },
        "parameters": [
          {
            "name": "user_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the user who owns the application credential."
            }
          },
          {
            "name": "application_credential_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the application credential."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          },
          "401": {
            "description": "User must authenticate before making a request."
          },
          "403": {
            "description": "Policy does not allow current user to do this operation."
          },
          "404": {
            "description": "The requested resource could not be found."
          }
        },
        "tags": [
          "Application Credentials"
        ]
      },
      "delete": {
        "operationId": "deleteApplicationCredential",
        "summary": "Delete application credential",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#delete-application-credential"
        },
        "parameters": [
          {
            "name": "user_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the user who owns the application credential."
            }
          },
          {
            "name": "application_credential_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the application credential."
            }
          }
        ],
        "responses": {
          "204": {
            "description": "The server has fulfilled the request."
          },
          "401": {
            "description": "User must authenticate before making a request."
          },
          "403": {
            "description": "Policy does not allow current user to do this operation."
          },
          "404": {
            "description": "The requested resource could not be found."
          }
        },
        "tags": [
          "Application Credentials"
        ]
      }
    },
    "/v3/users/{user_id}/access_rules": {
      "get": {
        "operationId": "listAccessRules",
        "summary": "List access rules",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#list-access-rules"
        },
        "parameters": [
          {
            "name": "user_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the user who owns the access rule."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          },
          "401": {
            "description": "User must authenticate before making a request."
          },
          "403": {
            "description": "Policy does not allow current user to do this operation."
          },
          "404": {
            "description": "The requested resource could not be found."
          }
        },
        "tags": [
          "Application Credentials"
        ]
      }
    },
    "/v3/users/{user_id}/access_rules/{access_rule_id}": {
      "get": {
        "operationId": "showAccessRuleDetails",
        "summary": "Show access rule details",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#show-access-rule-details"
        },
        "parameters": [
          {
            "name": "user_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the user who owns the access rule."
            }
          },
          {
            "name": "access_rule_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the access rule."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          },
          "401": {
            "description": "User must authenticate before making a request."
          },
          "403": {
            "description": "Policy does not allow current user to do this operation."
          },
          "404": {
            "description": "The requested resource could not be found."
          }
        },
        "tags": [
          "Application Credentials"
        ]
      },
      "delete": {
        "operationId": "deleteAccessRule",
        "summary": "Delete access rule",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#delete-access-rule"
        },
        "parameters": [
          {
            "name": "user_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the user who owns the access rule."
            }
          },
          {
            "name": "access_rule_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The ID of the access rule."
            }
          }
        ],
        "responses": {
          "204": {
            "description": "The server has fulfilled the request."
          },
          "401": {
            "description": "User must authenticate before making a request."
          },
          "403": {
            "description": "Policy does not allow current user to do this operation."
          },
          "404": {
            "description": "The requested resource could not be found."
          }
        },
        "tags": [
          "Application Credentials"
        ]
      }
    },
    "/v3/credentials": {
      "post": {
        "operationId": "createCredential",
        "summary": "Create credential",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#create-credential"
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "credential": {
                    "type": "object",
                    "properties": {
                      "blob": {
                        "type": "string"
                      },
                      "project_id": {
                        "type": "string"
                      },
                      "type": {
                        "type": "string"
                      },
                      "user_id": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Resource was created and is ready to use."
          },
          "400": {
            "description": "Some content in the request was invalid."
          },
          "401": {
            "description": "User must authenticate before making a request."
          },
          "403": {
            "description": "Policy does not allow current user to do this operation."
          },
          "404": {
            "description": "The requested resource could not be found."
          },
          "405": {
            "description": "Method is not valid for this endpoint."
          },
          "409": {
            "description": "This operation conflicted with another operation on this resource."
          },
          "413": {
            "description": "The request is larger than the server is willing or able to process."
          },
          "415": {
            "description": "The request entity has a media type which the server or resource does\n                                    not support."
          },
          "503": {
            "description": "Service is not available. This is mostly caused by service configuration\n                                    errors which prevents the service from successful start up."
          }
        },
        "tags": [
          "Credentials"
        ]
      },
      "get": {
        "operationId": "listCredentials",
        "summary": "List credentials",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#list-credentials"
        },
        "parameters": [
          {
            "name": "user_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filters the response by a user ID."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          },
          "400": {
            "description": "Some content in the request was invalid."
          },
          "401": {
            "description": "User must authenticate before making a request."
          },
          "403": {
            "description": "Policy does not allow current user to do this operation."
          },
          "404": {
            "description": "The requested resource could not be found."
          },
          "405": {
            "description": "Method is not valid for this endpoint."
          },
          "413": {
            "description": "The request is larger than the server is willing or able to process."
          },
          "503": {
            "description": "Service is not available. This is mostly caused by service configuration\n                                    errors which prevents the service from successful start up."
          }
        },
        "tags": [
          "Credentials"
        ]
      }
    },
    "/v3/credentials/{credential_id}": {
      "get": {
        "operationId": "showCredentialDetails",
        "summary": "Show credential details",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#show-credential-details"
        },
        "parameters": [
          {
            "name": "credential_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The UUID for the credential."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          },
          "400": {
            "description": "Some content in the request was invalid."
          },
          "401": {
            "description": "User must authenticate before making a request."
          },
          "403": {
            "description": "Policy does not allow current user to do this operation."
          },
          "404": {
            "description": "The requested resource could not be found."
          },
          "405": {
            "description": "Method is not valid for this endpoint."
          },
          "413": {
            "description": "The request is larger than the server is willing or able to process."
          },
          "503": {
            "description": "Service is not available. This is mostly caused by service configuration\n                                    errors which prevents the service from successful start up."
          }
        },
        "tags": [
          "Credentials"
        ]
      },
      "patch": {
        "operationId": "updateCredential",
        "summary": "Update credential",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#update-credential"
        },
        "parameters": [
          {
            "name": "credential_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The UUID for the credential."
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "credential": {
                    "type": "object",
                    "properties": {
                      "blob": {
                        "type": "string"
                      },
                      "project_id": {
                        "type": "string"
                      },
                      "type": {
                        "type": "string"
                      },
                      "user_id": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request was successful."
          },
          "400": {
            "description": "Some content in the request was invalid."
          },
          "401": {
            "description": "User must authenticate before making a request."
          },
          "403": {
            "description": "Policy does not allow current user to do this operation."
          },
          "404": {
            "description": "The requested resource could not be found."
          },
          "405": {
            "description": "Method is not valid for this endpoint."
          },
          "409": {
            "description": "This operation conflicted with another operation on this resource."
          },
          "413": {
            "description": "The request is larger than the server is willing or able to process."
          },
          "415": {
            "description": "The request entity has a media type which the server or resource does\n                                    not support."
          },
          "503": {
            "description": "Service is not available. This is mostly caused by service configuration\n                                    errors which prevents the service from successful start up."
          }
        },
        "tags": [
          "Credentials"
        ]
      },
      "delete": {
        "operationId": "deleteCredential",
        "summary": "Delete credential",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#delete-credential"
        },
        "parameters": [
          {
            "name": "credential_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The UUID for the credential."
            }
          }
        ],
        "responses": {
          "204": {
            "description": "The server has fulfilled the request."
          },
          "400": {
            "description": "Some content in the request was invalid."
          },
          "401": {
            "description": "User must authenticate before making a request."
          },
          "403": {
            "description": "Policy does not allow current user to do this operation."
          },
          "404": {
            "description": "The requested resource could not be found."
          },
          "405": {
            "description": "Method is not valid for this endpoint."
          },
          "409": {
            "description": "This operation conflicted with another operation on this resource."
          },
          "413": {
            "description": "The request is larger than the server is willing or able to process."
          },
          "415": {
            "description": "The request entity has a media type which the server or resource does\n                                    not support."
          },
          "503": {
            "description": "Service is not available. This is mostly caused by service configuration\n                                    errors which prevents the service from successful start up."
          }
        },
        "tags": [
          "Credentials"
        ]
      }
    },
    "/v3/domains": {
      "get": {
        "operationId": "listDomains",
        "summary": "List domains",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#list-domains"
        },
        "parameters": [
          {
            "name": "name",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filters the response by a domain name."
            }
          },
          {
            "name": "enabled",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "If set to true, then only domains that are enabled will be returned, if set to false only that are disabled will be returned. Any value other than 0, including no value, will be interpreted as true."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          },
          "400": {
            "description": "Some content in the request was invalid."
          },
          "401": {
            "description": "User must authenticate before making a request."
          },
          "403": {
            "description": "Policy does not allow current user to do this operation."
          },
          "404": {
            "description": "The requested resource could not be found."
          },
          "405": {
            "description": "Method is not valid for this endpoint."
          },
          "413": {
            "description": "The request is larger than the server is willing or able to process."
          },
          "503": {
            "description": "Service is not available. This is mostly caused by service configuration\n                                    errors which prevents the service from successful start up."
          }
        },
        "tags": [
          "Domains"
        ]
      },
      "post": {
        "operationId": "createDomain",
        "summary": "Create domain",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#create-domain"
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "domain": {
                    "type": "object",
                    "properties": {
                      "description": {
                        "type": "string"
                      },
                      "enabled": {
                        "type": "boolean"
                      },
                      "name": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Resource was created and is ready to use."
          },
          "400": {
            "description": "Some content in the request was invalid."
          },
          "401": {
            "description": "User must authenticate before making a request."
          },
          "403": {
            "description": "Policy does not allow current user to do this operation."
          },
          "404": {
            "description": "The requested resource could not be found."
          },
          "405": {
            "description": "Method is not valid for this endpoint."
          },
          "409": {
            "description": "This operation conflicted with another operation on this resource."
          },
          "413": {
            "description": "The request is larger than the server is willing or able to process."
          },
          "415": {
            "description": "The request entity has a media type which the server or resource does\n                                    not support."
          },
          "503": {
            "description": "Service is not available. This is mostly caused by service configuration\n                                    errors which prevents the service from successful start up."
          }
        },
        "tags": [
          "Domains"
        ]
      }
    },
    "/v3/domains/{domain_id}": {
      "get": {
        "operationId": "showDomainDetails",
        "summary": "Show domain details",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#show-domain-details"
        },
        "parameters": [
          {
            "name": "domain_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The domain ID."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          },
          "400": {
            "description": "Some content in the request was invalid."
          },
          "401": {
            "description": "User must authenticate before making a request."
          },
          "403": {
            "description": "Policy does not allow current user to do this operation."
          },
          "404": {
            "description": "The requested resource could not be found."
          },
          "405": {
            "description": "Method is not valid for this endpoint."
          },
          "413": {
            "description": "The request is larger than the server is willing or able to process."
          },
          "503": {
            "description": "Service is not available. This is mostly caused by service configuration\n                                    errors which prevents the service from successful start up."
          }
        },
        "tags": [
          "Domains"
        ]
      },
      "patch": {
        "operationId": "updateDomain",
        "summary": "Update domain",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#update-domain"
        },
        "parameters": [
          {
            "name": "domain_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The domain ID."
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "domain": {
                    "type": "object",
                    "properties": {
                      "description": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request was successful."
          },
          "400": {
            "description": "Some content in the request was invalid."
          },
          "401": {
            "description": "User must authenticate before making a request."
          },
          "403": {
            "description": "Policy does not allow current user to do this operation."
          },
          "404": {
            "description": "The requested resource could not be found."
          },
          "405": {
            "description": "Method is not valid for this endpoint."
          },
          "409": {
            "description": "This operation conflicted with another operation on this resource."
          },
          "413": {
            "description": "The request is larger than the server is willing or able to process."
          },
          "415": {
            "description": "The request entity has a media type which the server or resource does\n                                    not support."
          },
          "503": {
            "description": "Service is not available. This is mostly caused by service configuration\n                                    errors which prevents the service from successful start up."
          }
        },
        "tags": [
          "Domains"
        ]
      },
      "delete": {
        "operationId": "deleteDomain",
        "summary": "Delete domain",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#delete-domain"
        },
        "parameters": [
          {
            "name": "domain_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The domain ID."
            }
          }
        ],
        "responses": {
          "204": {
            "description": "The server has fulfilled the request."
          },
          "400": {
            "description": "Some content in the request was invalid."
          },
          "401": {
            "description": "User must authenticate before making a request."
          },
          "403": {
            "description": "Policy does not allow current user to do this operation."
          },
          "404": {
            "description": "The requested resource could not be found."
          },
          "405": {
            "description": "Method is not valid for this endpoint."
          },
          "409": {
            "description": "This operation conflicted with another operation on this resource."
          },
          "413": {
            "description": "The request is larger than the server is willing or able to process."
          },
          "415": {
            "description": "The request entity has a media type which the server or resource does\n                                    not support."
          },
          "503": {
            "description": "Service is not available. This is mostly caused by service configuration\n                                    errors which prevents the service from successful start up."
          }
        },
        "tags": [
          "Domains"
        ]
      }
    },
    "/v3/domains/config/default": {
      "get": {
        "operationId": "showDefaultConfigurationSettings",
        "summary": "Show default configuration settings",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#show-default-configuration-settings"
        },
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "Domain configuration"
        ]
      }
    },
    "/v3/domains/config/{group}/default": {
      "get": {
        "operationId": "showDefaultConfigurationForAGroup",
        "summary": "Show default configuration for a group",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#show-default-configuration-for-a-group"
        },
        "parameters": [
          {
            "name": "group",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The group ID."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          },
          "400": {
            "description": "Some content in the request was invalid."
          },
          "401": {
            "description": "User must authenticate before making a request."
          },
          "403": {
            "description": "Policy does not allow current user to do this operation."
          },
          "404": {
            "description": "The requested resource could not be found."
          },
          "405": {
            "description": "Method is not valid for this endpoint."
          },
          "413": {
            "description": "The request is larger than the server is willing or able to process."
          },
          "503": {
            "description": "Service is not available. This is mostly caused by service configuration\n                                    errors which prevents the service from successful start up."
          }
        },
        "tags": [
          "Domain configuration"
        ]
      }
    },
    "/v3/domains/config/{group}/{option}/default": {
      "get": {
        "operationId": "showDefaultOptionForAGroup",
        "summary": "Show default option for a group",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#show-default-option-for-a-group"
        },
        "parameters": [
          {
            "name": "group",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The group ID."
            }
          },
          {
            "name": "option",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The option name. For the ldap group, a valid value is url or user_tree_dn. For the identity group, a valid value is driver."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          },
          "400": {
            "description": "Some content in the request was invalid."
          },
          "401": {
            "description": "User must authenticate before making a request."
          },
          "403": {
            "description": "Policy does not allow current user to do this operation."
          },
          "404": {
            "description": "The requested resource could not be found."
          },
          "405": {
            "description": "Method is not valid for this endpoint."
          },
          "413": {
            "description": "The request is larger than the server is willing or able to process."
          },
          "503": {
            "description": "Service is not available. This is mostly caused by service configuration\n                                    errors which prevents the service from successful start up."
          }
        },
        "tags": [
          "Domain configuration"
        ]
      }
    },
    "/v3/domains/{domain_id}/config/{group}/{option}": {
      "get": {
        "operationId": "showDomainGroupOptionConfiguration",
        "summary": "Show domain group option configuration",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#show-domain-group-option-configuration"
        },
        "parameters": [
          {
            "name": "domain_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The domain ID."
            }
          },
          {
            "name": "group",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The group ID."
            }
          },
          {
            "name": "option",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The option name. For the ldap group, a valid value is url or user_tree_dn. For the identity group, a valid value is driver."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          },
          "400": {
            "description": "Some content in the request was invalid."
          },
          "401": {
            "description": "User must authenticate before making a request."
          },
          "403": {
            "description": "Policy does not allow current user to do this operation."
          },
          "404": {
            "description": "The requested resource could not be found."
          },
          "405": {
            "description": "Method is not valid for this endpoint."
          },
          "413": {
            "description": "The request is larger than the server is willing or able to process."
          },
          "503": {
            "description": "Service is not available. This is mostly caused by service configuration\n                                    errors which prevents the service from successful start up."
          }
        },
        "tags": [
          "Domain configuration"
        ]
      },
      "patch": {
        "operationId": "updateDomainGroupOptionConfiguration",
        "summary": "Update domain group option configuration",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#update-domain-group-option-configuration"
        },
        "parameters": [
          {
            "name": "domain_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The domain ID."
            }
          },
          {
            "name": "group",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The group ID."
            }
          },
          {
            "name": "option",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The option name. For the ldap group, a valid value is url or user_tree_dn. For the identity group, a valid value is driver."
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "url": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request was successful."
          },
          "400": {
            "description": "Some content in the request was invalid."
          },
          "401": {
            "description": "User must authenticate before making a request."
          },
          "403": {
            "description": "Policy does not allow current user to do this operation."
          },
          "404": {
            "description": "The requested resource could not be found."
          },
          "405": {
            "description": "Method is not valid for this endpoint."
          },
          "409": {
            "description": "This operation conflicted with another operation on this resource."
          },
          "413": {
            "description": "The request is larger than the server is willing or able to process."
          },
          "415": {
            "description": "The request entity has a media type which the server or resource does\n                                    not support."
          },
          "503": {
            "description": "Service is not available. This is mostly caused by service configuration\n                                    errors which prevents the service from successful start up."
          }
        },
        "tags": [
          "Domain configuration"
        ]
      },
      "delete": {
        "operationId": "deleteDomainGroupOptionConfiguration",
        "summary": "Delete domain group option configuration",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#delete-domain-group-option-configuration"
        },
        "parameters": [
          {
            "name": "domain_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The domain ID."
            }
          },
          {
            "name": "group",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The group ID."
            }
          },
          {
            "name": "option",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The option name. For the ldap group, a valid value is url or user_tree_dn. For the identity group, a valid value is driver."
            }
          }
        ],
        "responses": {
          "204": {
            "description": "The server has fulfilled the request."
          },
          "400": {
            "description": "Some content in the request was invalid."
          },
          "401": {
            "description": "User must authenticate before making a request."
          },
          "403": {
            "description": "Policy does not allow current user to do this operation."
          },
          "404": {
            "description": "The requested resource could not be found."
          },
          "405": {
            "description": "Method is not valid for this endpoint."
          },
          "409": {
            "description": "This operation conflicted with another operation on this resource."
          },
          "413": {
            "description": "The request is larger than the server is willing or able to process."
          },
          "415": {
            "description": "The request entity has a media type which the server or resource does\n                                    not support."
          },
          "503": {
            "description": "Service is not available. This is mostly caused by service configuration\n                                    errors which prevents the service from successful start up."
          }
        },
        "tags": [
          "Domain configuration"
        ]
      }
    },
    "/v3/domains/{domain_id}/config/{group}": {
      "get": {
        "operationId": "showDomainGroupConfiguration",
        "summary": "Show domain group configuration",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#show-domain-group-configuration"
        },
        "parameters": [
          {
            "name": "domain_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The domain ID."
            }
          },
          {
            "name": "group",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The group ID."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          },
          "400": {
            "description": "Some content in the request was invalid."
          },
          "401": {
            "description": "User must authenticate before making a request."
          },
          "403": {
            "description": "Policy does not allow current user to do this operation."
          },
          "404": {
            "description": "The requested resource could not be found."
          },
          "405": {
            "description": "Method is not valid for this endpoint."
          },
          "413": {
            "description": "The request is larger than the server is willing or able to process."
          },
          "503": {
            "description": "Service is not available. This is mostly caused by service configuration\n                                    errors which prevents the service from successful start up."
          }
        },
        "tags": [
          "Domain configuration"
        ]
      },
      "patch": {
        "operationId": "updateDomainGroupConfiguration",
        "summary": "Update domain group configuration",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#update-domain-group-configuration"
        },
        "parameters": [
          {
            "name": "domain_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The domain ID."
            }
          },
          {
            "name": "group",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The group ID."
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "config": {
                    "type": "object",
                    "properties": {
                      "ldap": {
                        "type": "object",
                        "properties": {
                          "url": {
                            "type": "string"
                          },
                          "user_tree_dn": {
                            "type": "string"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request was successful."
          },
          "400": {
            "description": "Some content in the request was invalid."
          },
          "401": {
            "description": "User must authenticate before making a request."
          },
          "403": {
            "description": "Policy does not allow current user to do this operation."
          },
          "404": {
            "description": "The requested resource could not be found."
          },
          "405": {
            "description": "Method is not valid for this endpoint."
          },
          "409": {
            "description": "This operation conflicted with another operation on this resource."
          },
          "413": {
            "description": "The request is larger than the server is willing or able to process."
          },
          "415": {
            "description": "The request entity has a media type which the server or resource does\n                                    not support."
          },
          "503": {
            "description": "Service is not available. This is mostly caused by service configuration\n                                    errors which prevents the service from successful start up."
          }
        },
        "tags": [
          "Domain configuration"
        ]
      },
      "delete": {
        "operationId": "deleteDomainGroupConfiguration",
        "summary": "Delete domain group configuration",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#delete-domain-group-configuration"
        },
        "parameters": [
          {
            "name": "domain_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The domain ID."
            }
          },
          {
            "name": "group",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The group ID."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          },
          "400": {
            "description": "Some content in the request was invalid."
          },
          "401": {
            "description": "User must authenticate before making a request."
          },
          "403": {
            "description": "Policy does not allow current user to do this operation."
          },
          "404": {
            "description": "The requested resource could not be found."
          },
          "405": {
            "description": "Method is not valid for this endpoint."
          },
          "409": {
            "description": "This operation conflicted with another operation on this resource."
          },
          "413": {
            "description": "The request is larger than the server is willing or able to process."
          },
          "415": {
            "description": "The request entity has a media type which the server or resource does\n                                    not support."
          },
          "503": {
            "description": "Service is not available. This is mostly caused by service configuration\n                                    errors which prevents the service from successful start up."
          }
        },
        "tags": [
          "Domain configuration"
        ]
      }
    },
    "/v3/domains/{domain_id}/config": {
      "put": {
        "operationId": "createDomainConfiguration",
        "summary": "Create domain configuration",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#create-domain-configuration"
        },
        "parameters": [
          {
            "name": "domain_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The domain ID."
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "config": {
                    "type": "object",
                    "properties": {
                      "identity": {
                        "type": "object",
                        "properties": {
                          "driver": {
                            "type": "string"
                          }
                        }
                      },
                      "ldap": {
                        "type": "object",
                        "properties": {
                          "url": {
                            "type": "string"
                          },
                          "user_tree_dn": {
                            "type": "string"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request was successful."
          },
          "201": {
            "description": "Resource was created and is ready to use."
          },
          "400": {
            "description": "Some content in the request was invalid."
          },
          "401": {
            "description": "User must authenticate before making a request."
          },
          "403": {
            "description": "Policy does not allow current user to do this operation."
          },
          "404": {
            "description": "The requested resource could not be found."
          },
          "405": {
            "description": "Method is not valid for this endpoint."
          },
          "413": {
            "description": "The request is larger than the server is willing or able to process."
          },
          "503": {
            "description": "Service is not available. This is mostly caused by service configuration\n                                    errors which prevents the service from successful start up."
          }
        },
        "tags": [
          "Domain configuration"
        ]
      },
      "get": {
        "operationId": "showDomainConfiguration",
        "summary": "Show domain configuration",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#show-domain-configuration"
        },
        "parameters": [
          {
            "name": "domain_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The domain ID."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          },
          "400": {
            "description": "Some content in the request was invalid."
          },
          "401": {
            "description": "User must authenticate before making a request."
          },
          "403": {
            "description": "Policy does not allow current user to do this operation."
          },
          "404": {
            "description": "The requested resource could not be found."
          },
          "405": {
            "description": "Method is not valid for this endpoint."
          },
          "413": {
            "description": "The request is larger than the server is willing or able to process."
          },
          "503": {
            "description": "Service is not available. This is mostly caused by service configuration\n                                    errors which prevents the service from successful start up."
          }
        },
        "tags": [
          "Domain configuration"
        ]
      },
      "patch": {
        "operationId": "updateDomainConfiguration",
        "summary": "Update domain configuration",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#update-domain-configuration"
        },
        "parameters": [
          {
            "name": "domain_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The domain ID."
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "config": {
                    "type": "object",
                    "properties": {
                      "ldap": {
                        "type": "object",
                        "properties": {
                          "url": {
                            "type": "string"
                          },
                          "user_tree_dn": {
                            "type": "string"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request was successful."
          },
          "400": {
            "description": "Some content in the request was invalid."
          },
          "401": {
            "description": "User must authenticate before making a request."
          },
          "403": {
            "description": "Policy does not allow current user to do this operation."
          },
          "404": {
            "description": "The requested resource could not be found."
          },
          "405": {
            "description": "Method is not valid for this endpoint."
          },
          "409": {
            "description": "This operation conflicted with another operation on this resource."
          },
          "413": {
            "description": "The request is larger than the server is willing or able to process."
          },
          "415": {
            "description": "The request entity has a media type which the server or resource does\n                                    not support."
          },
          "503": {
            "description": "Service is not available. This is mostly caused by service configuration\n                                    errors which prevents the service from successful start up."
          }
        },
        "tags": [
          "Domain configuration"
        ]
      },
      "delete": {
        "operationId": "deleteDomainConfiguration",
        "summary": "Delete domain configuration",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#delete-domain-configuration"
        },
        "parameters": [
          {
            "name": "domain_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The domain ID."
            }
          }
        ],
        "responses": {
          "204": {
            "description": "The server has fulfilled the request."
          },
          "400": {
            "description": "Some content in the request was invalid."
          },
          "401": {
            "description": "User must authenticate before making a request."
          },
          "403": {
            "description": "Policy does not allow current user to do this operation."
          },
          "404": {
            "description": "The requested resource could not be found."
          },
          "405": {
            "description": "Method is not valid for this endpoint."
          },
          "409": {
            "description": "This operation conflicted with another operation on this resource."
          },
          "413": {
            "description": "The request is larger than the server is willing or able to process."
          },
          "415": {
            "description": "The request entity has a media type which the server or resource does\n                                    not support."
          },
          "503": {
            "description": "Service is not available. This is mostly caused by service configuration\n                                    errors which prevents the service from successful start up."
          }
        },
        "tags": [
          "Domain configuration"
        ]
      }
    },
    "/v3/groups": {
      "get": {
        "operationId": "listGroups",
        "summary": "List groups",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#list-groups"
        },
        "parameters": [
          {
            "name": "name",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filters the response by a group name."
            }
          },
          {
            "name": "domain_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filters the response by a domain ID."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          },
          "400": {
            "description": "Some content in the request was invalid."
          },
          "401": {
            "description": "User must authenticate before making a request."
          },
          "403": {
            "description": "Policy does not allow current user to do this operation."
          }
        },
        "tags": [
          "Groups"
        ]
      },
      "post": {
        "operationId": "createGroup",
        "summary": "Create group",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#create-group"
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "group": {
                    "type": "object",
                    "properties": {
                      "description": {
                        "type": "string"
                      },
                      "domain_id": {
                        "type": "string"
                      },
                      "name": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Resource was created and is ready to use."
          },
          "400": {
            "description": "Some content in the request was invalid."
          },
          "401": {
            "description": "User must authenticate before making a request."
          },
          "403": {
            "description": "Policy does not allow current user to do this operation."
          },
          "409": {
            "description": "This operation conflicted with another operation on this resource."
          }
        },
        "tags": [
          "Groups"
        ]
      }
    },
    "/v3/groups/{group_id}": {
      "get": {
        "operationId": "showGroupDetails",
        "summary": "Show group details",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#show-group-details"
        },
        "parameters": [
          {
            "name": "group_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The group ID."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          },
          "400": {
            "description": "Some content in the request was invalid."
          },
          "401": {
            "description": "User must authenticate before making a request."
          },
          "403": {
            "description": "Policy does not allow current user to do this operation."
          },
          "404": {
            "description": "The requested resource could not be found."
          }
        },
        "tags": [
          "Groups"
        ]
      },
      "patch": {
        "operationId": "updateGroup",
        "summary": "Update group",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#update-group"
        },
        "parameters": [
          {
            "name": "group_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The group ID."
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "group": {
                    "type": "object",
                    "properties": {
                      "description": {
                        "type": "string"
                      },
                      "name": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request was successful."
          },
          "400": {
            "description": "Some content in the request was invalid."
          },
          "401": {
            "description": "User must authenticate before making a request."
          },
          "403": {
            "description": "Policy does not allow current user to do this operation."
          },
          "404": {
            "description": "The requested resource could not be found."
          },
          "409": {
            "description": "This operation conflicted with another operation on this resource."
          },
          "501": {
            "description": "The server either does not recognize the request method, or it lacks the\n                                    ability to fulfill the request."
          }
        },
        "tags": [
          "Groups"
        ]
      },
      "delete": {
        "operationId": "deleteGroup",
        "summary": "Delete group",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#delete-group"
        },
        "parameters": [
          {
            "name": "group_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The group ID."
            }
          }
        ],
        "responses": {
          "204": {
            "description": "The server has fulfilled the request."
          },
          "400": {
            "description": "Some content in the request was invalid."
          },
          "401": {
            "description": "User must authenticate before making a request."
          },
          "403": {
            "description": "Policy does not allow current user to do this operation."
          },
          "404": {
            "description": "The requested resource could not be found."
          }
        },
        "tags": [
          "Groups"
        ]
      }
    },
    "/v3/groups/{group_id}/users": {
      "get": {
        "operationId": "listUsersInGroup",
        "summary": "List users in group",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#list-users-in-group"
        },
        "parameters": [
          {
            "name": "password_expires_at",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter results based on which user passwords have expired. The query should include an operator and a timestamp with a colon (:) separating the two, for example:"
            }
          },
          {
            "name": "group_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The group ID."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          },
          "400": {
            "description": "Some content in the request was invalid."
          },
          "401": {
            "description": "User must authenticate before making a request."
          },
          "403": {
            "description": "Policy does not allow current user to do this operation."
          },
          "404": {
            "description": "The requested resource could not be found."
          }
        },
        "tags": [
          "Groups"
        ]
      }
    },
    "/v3/groups/{group_id}/users/{user_id}": {
      "put": {
        "operationId": "addUserToGroup",
        "summary": "Add user to group",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#add-user-to-group"
        },
        "parameters": [
          {
            "name": "user_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The user ID."
            }
          },
          {
            "name": "group_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The group ID."
            }
          }
        ],
        "responses": {
          "204": {
            "description": "The server has fulfilled the request."
          },
          "400": {
            "description": "Some content in the request was invalid."
          },
          "401": {
            "description": "User must authenticate before making a request."
          },
          "403": {
            "description": "Policy does not allow current user to do this operation."
          },
          "404": {
            "description": "The requested resource could not be found."
          }
        },
        "tags": [
          "Groups"
        ]
      },
      "head": {
        "operationId": "checkWhetherUserBelongsToGroup",
        "summary": "Check whether user belongs to group",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#check-whether-user-belongs-to-group"
        },
        "parameters": [
          {
            "name": "user_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The user ID."
            }
          },
          {
            "name": "group_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The group ID."
            }
          }
        ],
        "responses": {
          "204": {
            "description": "The server has fulfilled the request."
          },
          "400": {
            "description": "Some content in the request was invalid."
          },
          "401": {
            "description": "User must authenticate before making a request."
          },
          "403": {
            "description": "Policy does not allow current user to do this operation."
          },
          "404": {
            "description": "The requested resource could not be found."
          }
        },
        "tags": [
          "Groups"
        ]
      },
      "delete": {
        "operationId": "removeUserFromGroup",
        "summary": "Remove user from group",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#remove-user-from-group"
        },
        "parameters": [
          {
            "name": "user_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The user ID."
            }
          },
          {
            "name": "group_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The group ID."
            }
          }
        ],
        "responses": {
          "204": {
            "description": "The server has fulfilled the request."
          },
          "400": {
            "description": "Some content in the request was invalid."
          },
          "401": {
            "description": "User must authenticate before making a request."
          },
          "403": {
            "description": "Policy does not allow current user to do this operation."
          },
          "404": {
            "description": "The requested resource could not be found."
          }
        },
        "tags": [
          "Groups"
        ]
      }
    },
    "/v3/OS-INHERIT/domains/{domain_id}/users/{user_id}/roles/{role_id}/inherited_to_projects": {
      "put": {
        "operationId": "assignRoleToUserOnProjectsOwnedByDomain",
        "summary": "Assign role to user on projects owned by domain",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#assign-role-to-user-on-projects-owned-by-domain"
        },
        "parameters": [
          {
            "name": "domain_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The domain ID."
            }
          },
          {
            "name": "role_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The role ID."
            }
          },
          {
            "name": "user_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The user ID."
            }
          }
        ],
        "responses": {
          "204": {
            "description": "The server has fulfilled the request."
          }
        },
        "tags": [
          "OS-INHERIT"
        ]
      },
      "head": {
        "operationId": "checkIfUserHasAnInheritedProjectRoleOnDomain",
        "summary": "Check if user has an inherited project role on domain",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#check-if-user-has-an-inherited-project-role-on-domain"
        },
        "parameters": [
          {
            "name": "domain_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The domain ID."
            }
          },
          {
            "name": "role_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The role ID."
            }
          },
          {
            "name": "user_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The user ID."
            }
          }
        ],
        "responses": {
          "204": {
            "description": "The server has fulfilled the request."
          }
        },
        "tags": [
          "OS-INHERIT"
        ]
      },
      "delete": {
        "operationId": "revokeAnInheritedProjectRoleFromUserOnDomain",
        "summary": "Revoke an inherited project role from user on domain",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#revoke-an-inherited-project-role-from-user-on-domain"
        },
        "parameters": [
          {
            "name": "domain_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The domain ID."
            }
          },
          {
            "name": "role_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The role ID."
            }
          },
          {
            "name": "user_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The user ID."
            }
          }
        ],
        "responses": {
          "204": {
            "description": "The server has fulfilled the request."
          }
        },
        "tags": [
          "OS-INHERIT"
        ]
      }
    },
    "/v3/OS-INHERIT/domains/{domain_id}/groups/{group_id}/roles/{role_id}/inherited_to_projects": {
      "put": {
        "operationId": "assignRoleToGroupOnProjectsOwnedByADomain",
        "summary": "Assign role to group on projects owned by a domain",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#assign-role-to-group-on-projects-owned-by-a-domain"
        },
        "parameters": [
          {
            "name": "domain_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The domain ID."
            }
          },
          {
            "name": "group_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The role ID."
            }
          },
          {
            "name": "role_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The user ID."
            }
          }
        ],
        "responses": {
          "204": {
            "description": "The server has fulfilled the request."
          }
        },
        "tags": [
          "OS-INHERIT"
        ]
      },
      "head": {
        "operationId": "checkIfGroupHasAnInheritedProjectRoleOnDomain",
        "summary": "Check if group has an inherited project role on domain",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#check-if-group-has-an-inherited-project-role-on-domain"
        },
        "parameters": [
          {
            "name": "domain_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The domain ID."
            }
          },
          {
            "name": "group_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The group ID."
            }
          },
          {
            "name": "role_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The role ID."
            }
          }
        ],
        "responses": {
          "204": {
            "description": "The server has fulfilled the request."
          }
        },
        "tags": [
          "OS-INHERIT"
        ]
      },
      "delete": {
        "operationId": "revokeAnInheritedProjectRoleFromGroupOnDomain",
        "summary": "Revoke an inherited project role from group on domain",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#revoke-an-inherited-project-role-from-group-on-domain"
        },
        "parameters": [
          {
            "name": "domain_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The domain ID."
            }
          },
          {
            "name": "group_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The group ID."
            }
          },
          {
            "name": "role_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The role ID."
            }
          }
        ],
        "responses": {
          "204": {
            "description": "The server has fulfilled the request."
          }
        },
        "tags": [
          "OS-INHERIT"
        ]
      }
    },
    "/v3/OS-INHERIT/domains/{domain_id}/users/{user_id}/roles/inherited_to_projects": {
      "get": {
        "operationId": "listUser’sInheritedProjectRolesOnADomain",
        "summary": "List user’s inherited project roles on a domain",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#list-user-s-inherited-project-roles-on-a-domain"
        },
        "parameters": [
          {
            "name": "domain_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The domain ID."
            }
          },
          {
            "name": "user_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The user ID."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "OS-INHERIT"
        ]
      }
    },
    "/v3/OS-INHERIT/domains/{domain_id}/groups/{group_id}/roles/inherited_to_projects": {
      "get": {
        "operationId": "listGroup’sInheritedProjectRolesOnDomain",
        "summary": "List group’s inherited project roles on domain",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#list-group-s-inherited-project-roles-on-domain"
        },
        "parameters": [
          {
            "name": "domain_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The domain ID."
            }
          },
          {
            "name": "group_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The group ID."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          }
        },
        "tags": [
          "OS-INHERIT"
        ]
      }
    },
    "/v3/OS-INHERIT/projects/{project_id}/users/{user_id}/roles/{role_id}/inherited_to_projects": {
      "put": {
        "operationId": "assignRoleToUserOnProjectsInASubtree",
        "summary": "Assign role to user on projects in a subtree",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#assign-role-to-user-on-projects-in-a-subtree"
        },
        "parameters": [
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The project ID."
            }
          },
          {
            "name": "role_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The role ID."
            }
          },
          {
            "name": "user_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The user ID."
            }
          }
        ],
        "responses": {
          "204": {
            "description": "The server has fulfilled the request."
          }
        },
        "tags": [
          "OS-INHERIT"
        ]
      },
      "head": {
        "operationId": "checkIfUserHasAnInheritedProjectRoleOnProject",
        "summary": "Check if user has an inherited project role on project",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#check-if-user-has-an-inherited-project-role-on-project"
        },
        "parameters": [
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The project ID."
            }
          },
          {
            "name": "role_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The role ID."
            }
          },
          {
            "name": "user_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The user ID."
            }
          }
        ],
        "responses": {
          "204": {
            "description": "The server has fulfilled the request."
          }
        },
        "tags": [
          "OS-INHERIT"
        ]
      },
      "delete": {
        "operationId": "revokeAnInheritedProjectRoleFromUserOnProject",
        "summary": "Revoke an inherited project role from user on project",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#revoke-an-inherited-project-role-from-user-on-project"
        },
        "parameters": [
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The project ID."
            }
          },
          {
            "name": "role_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The role ID."
            }
          },
          {
            "name": "user_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The user ID."
            }
          }
        ],
        "responses": {
          "204": {
            "description": "The server has fulfilled the request."
          }
        },
        "tags": [
          "OS-INHERIT"
        ]
      }
    },
    "/v3/OS-INHERIT/projects/{project_id}/groups/{group_id}/roles/{role_id}/inherited_to_projects": {
      "put": {
        "operationId": "assignRoleToGroupOnProjectsInASubtree",
        "summary": "Assign role to group on projects in a subtree",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#assign-role-to-group-on-projects-in-a-subtree"
        },
        "parameters": [
          {
            "name": "group_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The group ID."
            }
          },
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The project ID."
            }
          },
          {
            "name": "role_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The role ID."
            }
          }
        ],
        "responses": {
          "204": {
            "description": "The server has fulfilled the request."
          }
        },
        "tags": [
          "OS-INHERIT"
        ]
      },
      "head": {
        "operationId": "checkIfGroupHasAnInheritedProjectRoleOnProject",
        "summary": "Check if group has an inherited project role on project",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#check-if-group-has-an-inherited-project-role-on-project"
        },
        "parameters": [
          {
            "name": "group_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The group ID."
            }
          },
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The project ID."
            }
          },
          {
            "name": "role_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The role ID."
            }
          }
        ],
        "responses": {
          "204": {
            "description": "The server has fulfilled the request."
          }
        },
        "tags": [
          "OS-INHERIT"
        ]
      },
      "delete": {
        "operationId": "revokeAnInheritedProjectRoleFromGroupOnProject",
        "summary": "Revoke an inherited project role from group on project",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#revoke-an-inherited-project-role-from-group-on-project"
        },
        "parameters": [
          {
            "name": "group_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The group ID."
            }
          },
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The project ID."
            }
          },
          {
            "name": "role_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The role ID."
            }
          }
        ],
        "responses": {
          "204": {
            "description": "The server has fulfilled the request."
          }
        },
        "tags": [
          "OS-INHERIT"
        ]
      }
    },
    "/v3/role_assignments": {
      "get": {
        "operationId": "listRoleAssignments",
        "summary": "List role assignments",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#list-role-assignments"
        },
        "parameters": [
          {
            "name": "effective",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Returns the effective assignments, including any assignments gained by virtue of group membership."
            },
            "allowEmptyValue": true
          },
          {
            "name": "include_names",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "If set to true, then the names of any entities returned will be include as well as their IDs. Any value other than 0 (including no value) will be interpreted as true."
            }
          },
          {
            "name": "include_subtree",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "If set to true, then relevant assignments in the project hierarchy below the project specified in the scope.project_id query parameter are also included in the response. Any value other than 0 (including no value) for include_subtree will be interpreted as true."
            }
          },
          {
            "name": "group.id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filters the response by a group ID."
            }
          },
          {
            "name": "role.id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filters the response by a role ID."
            }
          },
          {
            "name": "scope.domain.id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filters the response by a domain ID."
            }
          },
          {
            "name": "scope.OS-INHERIT:inherited_to",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filters based on role assignments that are inherited. The only value of inherited_to that is currently supported is projects."
            }
          },
          {
            "name": "scope.project.id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filters the response by a project ID."
            }
          },
          {
            "name": "user.id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filters the response by a user ID."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          },
          "400": {
            "description": "Some content in the request was invalid."
          },
          "401": {
            "description": "User must authenticate before making a request."
          },
          "403": {
            "description": "Policy does not allow current user to do this operation."
          },
          "404": {
            "description": "The requested resource could not be found."
          },
          "405": {
            "description": "Method is not valid for this endpoint."
          },
          "413": {
            "description": "The request is larger than the server is willing or able to process."
          },
          "503": {
            "description": "Service is not available. This is mostly caused by service configuration\n                                    errors which prevents the service from successful start up."
          }
        },
        "tags": [
          "OS-INHERIT"
        ]
      }
    },
    "/v3/auth/tokens/OS-PKI/revoked": {
      "get": {
        "operationId": "listRevokedTokens",
        "summary": "List revoked tokens",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#list-revoked-tokens"
        },
        "responses": {
          "410": {
            "description": "The access request to the target resource is no longer available."
          }
        },
        "tags": [
          "OS-PKI (DEPRECATED)"
        ]
      }
    },
    "/v3/policies": {
      "post": {
        "operationId": "createPolicy",
        "summary": "Create policy",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#create-policy"
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "policy": {
                    "type": "object",
                    "properties": {
                      "blob": {
                        "type": "string"
                      },
                      "type": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Resource was created and is ready to use."
          },
          "400": {
            "description": "Some content in the request was invalid."
          },
          "401": {
            "description": "User must authenticate before making a request."
          },
          "403": {
            "description": "Policy does not allow current user to do this operation."
          },
          "404": {
            "description": "The requested resource could not be found."
          },
          "405": {
            "description": "Method is not valid for this endpoint."
          },
          "409": {
            "description": "This operation conflicted with another operation on this resource."
          },
          "413": {
            "description": "The request is larger than the server is willing or able to process."
          },
          "415": {
            "description": "The request entity has a media type which the server or resource does\n                                    not support."
          },
          "503": {
            "description": "Service is not available. This is mostly caused by service configuration\n                                    errors which prevents the service from successful start up."
          }
        },
        "tags": [
          "Policies"
        ]
      },
      "get": {
        "operationId": "listPolicies",
        "summary": "List policies",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#list-policies"
        },
        "parameters": [
          {
            "name": "type",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filters the response by a MIME media type for the serialized policy blob. For example, application/json."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          },
          "400": {
            "description": "Some content in the request was invalid."
          },
          "401": {
            "description": "User must authenticate before making a request."
          },
          "403": {
            "description": "Policy does not allow current user to do this operation."
          },
          "404": {
            "description": "The requested resource could not be found."
          },
          "405": {
            "description": "Method is not valid for this endpoint."
          },
          "413": {
            "description": "The request is larger than the server is willing or able to process."
          },
          "503": {
            "description": "Service is not available. This is mostly caused by service configuration\n                                    errors which prevents the service from successful start up."
          }
        },
        "tags": [
          "Policies"
        ]
      }
    },
    "/v3/policies/{policy_id}": {
      "get": {
        "operationId": "showPolicyDetails",
        "summary": "Show policy details",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#show-policy-details"
        },
        "parameters": [
          {
            "name": "policy_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The policy ID."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          },
          "400": {
            "description": "Some content in the request was invalid."
          },
          "401": {
            "description": "User must authenticate before making a request."
          },
          "403": {
            "description": "Policy does not allow current user to do this operation."
          },
          "404": {
            "description": "The requested resource could not be found."
          },
          "405": {
            "description": "Method is not valid for this endpoint."
          },
          "413": {
            "description": "The request is larger than the server is willing or able to process."
          },
          "503": {
            "description": "Service is not available. This is mostly caused by service configuration\n                                    errors which prevents the service from successful start up."
          }
        },
        "tags": [
          "Policies"
        ]
      },
      "patch": {
        "operationId": "updatePolicy",
        "summary": "Update policy",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#update-policy"
        },
        "parameters": [
          {
            "name": "policy_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The policy ID."
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "policy": {
                    "type": "object",
                    "properties": {
                      "blob": {
                        "type": "object",
                        "properties": {
                          "foobar_user": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          }
                        }
                      },
                      "type": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request was successful."
          },
          "400": {
            "description": "Some content in the request was invalid."
          },
          "401": {
            "description": "User must authenticate before making a request."
          },
          "403": {
            "description": "Policy does not allow current user to do this operation."
          },
          "404": {
            "description": "The requested resource could not be found."
          },
          "405": {
            "description": "Method is not valid for this endpoint."
          },
          "409": {
            "description": "This operation conflicted with another operation on this resource."
          },
          "413": {
            "description": "The request is larger than the server is willing or able to process."
          },
          "415": {
            "description": "The request entity has a media type which the server or resource does\n                                    not support."
          },
          "503": {
            "description": "Service is not available. This is mostly caused by service configuration\n                                    errors which prevents the service from successful start up."
          }
        },
        "tags": [
          "Policies"
        ]
      },
      "delete": {
        "operationId": "deletePolicy",
        "summary": "Delete policy",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#delete-policy"
        },
        "parameters": [
          {
            "name": "policy_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The policy ID."
            }
          }
        ],
        "responses": {
          "204": {
            "description": "The server has fulfilled the request."
          },
          "400": {
            "description": "Some content in the request was invalid."
          },
          "401": {
            "description": "User must authenticate before making a request."
          },
          "403": {
            "description": "Policy does not allow current user to do this operation."
          },
          "404": {
            "description": "The requested resource could not be found."
          },
          "405": {
            "description": "Method is not valid for this endpoint."
          },
          "409": {
            "description": "This operation conflicted with another operation on this resource."
          },
          "413": {
            "description": "The request is larger than the server is willing or able to process."
          },
          "415": {
            "description": "The request entity has a media type which the server or resource does\n                                    not support."
          },
          "503": {
            "description": "Service is not available. This is mostly caused by service configuration\n                                    errors which prevents the service from successful start up."
          }
        },
        "tags": [
          "Policies"
        ]
      }
    },
    "/v3/projects": {
      "get": {
        "operationId": "listProjects",
        "summary": "List projects",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#list-projects"
        },
        "parameters": [
          {
            "name": "domain_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filters the response by a domain ID."
            }
          },
          {
            "name": "enabled",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "If set to true, then only enabled projects will be returned. Any value other than 0 (including no value) will be interpreted as true."
            }
          },
          {
            "name": "is_domain",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "If this is specified as true, then only projects acting as a domain are included. Otherwise, only projects that are not acting as a domain are included."
            }
          },
          {
            "name": "name",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filters the response by a project name."
            }
          },
          {
            "name": "parent_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filters the response by a parent ID."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          },
          "400": {
            "description": "Some content in the request was invalid."
          },
          "401": {
            "description": "User must authenticate before making a request."
          },
          "403": {
            "description": "Policy does not allow current user to do this operation."
          }
        },
        "tags": [
          "Projects"
        ]
      },
      "post": {
        "operationId": "createProject",
        "summary": "Create project",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#create-project"
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "project": {
                    "type": "object",
                    "properties": {
                      "description": {
                        "type": "string"
                      },
                      "domain_id": {
                        "type": "string"
                      },
                      "enabled": {
                        "type": "boolean"
                      },
                      "is_domain": {
                        "type": "boolean"
                      },
                      "name": {
                        "type": "string"
                      },
                      "options": {
                        "type": "object"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Resource was created and is ready to use."
          },
          "400": {
            "description": "Some content in the request was invalid."
          },
          "401": {
            "description": "User must authenticate before making a request."
          },
          "403": {
            "description": "Policy does not allow current user to do this operation."
          },
          "409": {
            "description": "This operation conflicted with another operation on this resource."
          }
        },
        "tags": [
          "Projects"
        ]
      }
    },
    "/v3/projects/{project_id}": {
      "get": {
        "operationId": "showProjectDetails",
        "summary": "Show project details",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#show-project-details"
        },
        "parameters": [
          {
            "name": "parents_as_list",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "The parent hierarchy will be included as a list in the response. This list will contain the projects found by traversing up the hierarchy to the top-level project. The returned list will be filtered against the projects the user has an effective role assignment on."
            },
            "allowEmptyValue": true
          },
          {
            "name": "subtree_as_list",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "The child hierarchy will be included as a list in the response. This list will contain the projects found by traversing down the hierarchy. The returned list will be filtered against the projects the user has an effective role assignment on."
            },
            "allowEmptyValue": true
          },
          {
            "name": "parents_as_ids",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "The entire parent hierarchy will be included as nested dictionaries in the response. It will contain all projects ids found by traversing up the hierarchy to the top-level project."
            },
            "allowEmptyValue": true
          },
          {
            "name": "subtree_as_ids",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "The entire child hierarchy will be included as nested dictionaries in the response. It will contain all the projects ids found by traversing down the hierarchy."
            },
            "allowEmptyValue": true
          },
          {
            "name": "include_limits",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "It should be used together with parents_as_list or subtree_as_list filter to add the related project’s limits into the response body."
            },
            "allowEmptyValue": true
          },
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The project ID."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          },
          "400": {
            "description": "Some content in the request was invalid."
          },
          "401": {
            "description": "User must authenticate before making a request."
          },
          "403": {
            "description": "Policy does not allow current user to do this operation."
          },
          "404": {
            "description": "The requested resource could not be found."
          }
        },
        "tags": [
          "Projects"
        ]
      },
      "patch": {
        "operationId": "updateProject",
        "summary": "Update project",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#update-project"
        },
        "parameters": [
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The project ID."
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "project": {
                    "type": "object",
                    "properties": {
                      "description": {
                        "type": "string"
                      },
                      "name": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request was successful."
          },
          "400": {
            "description": "Some content in the request was invalid."
          },
          "401": {
            "description": "User must authenticate before making a request."
          },
          "403": {
            "description": "Policy does not allow current user to do this operation."
          },
          "404": {
            "description": "The requested resource could not be found."
          },
          "409": {
            "description": "This operation conflicted with another operation on this resource."
          }
        },
        "tags": [
          "Projects"
        ]
      },
      "delete": {
        "operationId": "deleteProject",
        "summary": "Delete project",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#delete-project"
        },
        "parameters": [
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The project ID."
            }
          }
        ],
        "responses": {
          "204": {
            "description": "The server has fulfilled the request."
          },
          "400": {
            "description": "Some content in the request was invalid."
          },
          "401": {
            "description": "User must authenticate before making a request."
          },
          "403": {
            "description": "Policy does not allow current user to do this operation."
          },
          "404": {
            "description": "The requested resource could not be found."
          }
        },
        "tags": [
          "Projects"
        ]
      }
    },
    "/v3/projects/{project_id}/tags": {
      "get": {
        "operationId": "listTagsForAProject",
        "summary": "List tags for a project",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#list-tags-for-a-project"
        },
        "parameters": [
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The project ID."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          },
          "400": {
            "description": "Some content in the request was invalid."
          },
          "401": {
            "description": "User must authenticate before making a request."
          },
          "403": {
            "description": "Policy does not allow current user to do this operation."
          },
          "404": {
            "description": "The requested resource could not be found."
          }
        },
        "tags": [
          "Project tags"
        ]
      },
      "put": {
        "operationId": "modifyTagListForAProject",
        "summary": "Modify tag list for a project",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#modify-tag-list-for-a-project"
        },
        "parameters": [
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The project ID."
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "tags": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request was successful."
          },
          "400": {
            "description": "Some content in the request was invalid."
          },
          "401": {
            "description": "User must authenticate before making a request."
          },
          "403": {
            "description": "Policy does not allow current user to do this operation."
          },
          "404": {
            "description": "The requested resource could not be found."
          }
        },
        "tags": [
          "Project tags"
        ]
      },
      "delete": {
        "operationId": "removeAllTagsFromAProject",
        "summary": "Remove all tags from a project",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#remove-all-tags-from-a-project"
        },
        "parameters": [
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The project ID."
            }
          }
        ],
        "responses": {
          "204": {
            "description": "The server has fulfilled the request."
          },
          "400": {
            "description": "Some content in the request was invalid."
          },
          "401": {
            "description": "User must authenticate before making a request."
          },
          "403": {
            "description": "Policy does not allow current user to do this operation."
          }
        },
        "tags": [
          "Project tags"
        ]
      }
    },
    "/v3/projects/{project_id}/tags/{tag}": {
      "get": {
        "operationId": "checkIfProjectContainsTag",
        "summary": "Check if project contains tag",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#check-if-project-contains-tag"
        },
        "parameters": [
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The project ID."
            }
          },
          {
            "name": "tag",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "A simple string associated with a project. Can be used for assigning values to projects and filtering based on those values."
            }
          }
        ],
        "responses": {
          "204": {
            "description": "The server has fulfilled the request."
          },
          "400": {
            "description": "Some content in the request was invalid."
          },
          "401": {
            "description": "User must authenticate before making a request."
          },
          "403": {
            "description": "Policy does not allow current user to do this operation."
          },
          "404": {
            "description": "The requested resource could not be found."
          }
        },
        "tags": [
          "Project tags"
        ]
      },
      "put": {
        "operationId": "addSingleTagToAProject",
        "summary": "Add single tag to a project",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#add-single-tag-to-a-project"
        },
        "parameters": [
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The project ID."
            }
          },
          {
            "name": "tag",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "A simple string associated with a project. Can be used for assigning values to projects and filtering based on those values."
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Resource was created and is ready to use."
          },
          "400": {
            "description": "Some content in the request was invalid."
          },
          "401": {
            "description": "User must authenticate before making a request."
          },
          "403": {
            "description": "Policy does not allow current user to do this operation."
          },
          "404": {
            "description": "The requested resource could not be found."
          }
        },
        "tags": [
          "Project tags"
        ]
      },
      "delete": {
        "operationId": "deleteSingleTagFromProject",
        "summary": "Delete single tag from project",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#delete-single-tag-from-project"
        },
        "parameters": [
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The project ID."
            }
          },
          {
            "name": "tag",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "A simple string associated with a project. Can be used for assigning values to projects and filtering based on those values."
            }
          }
        ],
        "responses": {
          "204": {
            "description": "The server has fulfilled the request."
          },
          "400": {
            "description": "Some content in the request was invalid."
          },
          "401": {
            "description": "User must authenticate before making a request."
          },
          "403": {
            "description": "Policy does not allow current user to do this operation."
          },
          "404": {
            "description": "The requested resource could not be found."
          }
        },
        "tags": [
          "Project tags"
        ]
      }
    },
    "/v3/regions/{region_id}": {
      "get": {
        "operationId": "showRegionDetails",
        "summary": "Show region details",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#show-region-details"
        },
        "parameters": [
          {
            "name": "region_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The region ID."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          },
          "400": {
            "description": "Some content in the request was invalid."
          },
          "401": {
            "description": "User must authenticate before making a request."
          },
          "403": {
            "description": "Policy does not allow current user to do this operation."
          },
          "404": {
            "description": "The requested resource could not be found."
          },
          "405": {
            "description": "Method is not valid for this endpoint."
          },
          "413": {
            "description": "The request is larger than the server is willing or able to process."
          },
          "503": {
            "description": "Service is not available. This is mostly caused by service configuration\n                                    errors which prevents the service from successful start up."
          }
        },
        "tags": [
          "Regions"
        ]
      },
      "patch": {
        "operationId": "updateRegion",
        "summary": "Update region",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#update-region"
        },
        "parameters": [
          {
            "name": "region_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The region ID."
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "region": {
                    "type": "object",
                    "properties": {
                      "description": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request was successful."
          },
          "400": {
            "description": "Some content in the request was invalid."
          },
          "401": {
            "description": "User must authenticate before making a request."
          },
          "403": {
            "description": "Policy does not allow current user to do this operation."
          },
          "404": {
            "description": "The requested resource could not be found."
          },
          "405": {
            "description": "Method is not valid for this endpoint."
          },
          "409": {
            "description": "This operation conflicted with another operation on this resource."
          },
          "413": {
            "description": "The request is larger than the server is willing or able to process."
          },
          "415": {
            "description": "The request entity has a media type which the server or resource does\n                                    not support."
          },
          "503": {
            "description": "Service is not available. This is mostly caused by service configuration\n                                    errors which prevents the service from successful start up."
          }
        },
        "tags": [
          "Regions"
        ]
      },
      "delete": {
        "operationId": "deleteRegion",
        "summary": "Delete region",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#delete-region"
        },
        "parameters": [
          {
            "name": "region_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The region ID."
            }
          }
        ],
        "responses": {
          "204": {
            "description": "The server has fulfilled the request."
          },
          "400": {
            "description": "Some content in the request was invalid."
          },
          "401": {
            "description": "User must authenticate before making a request."
          },
          "403": {
            "description": "Policy does not allow current user to do this operation."
          },
          "404": {
            "description": "The requested resource could not be found."
          },
          "405": {
            "description": "Method is not valid for this endpoint."
          },
          "409": {
            "description": "This operation conflicted with another operation on this resource."
          },
          "413": {
            "description": "The request is larger than the server is willing or able to process."
          },
          "415": {
            "description": "The request entity has a media type which the server or resource does\n                                    not support."
          },
          "503": {
            "description": "Service is not available. This is mostly caused by service configuration\n                                    errors which prevents the service from successful start up."
          }
        },
        "tags": [
          "Regions"
        ]
      }
    },
    "/v3/regions": {
      "get": {
        "operationId": "listRegions",
        "summary": "List regions",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#list-regions"
        },
        "parameters": [
          {
            "name": "parent_region_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filters the response by a parent region, by ID."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          },
          "400": {
            "description": "Some content in the request was invalid."
          },
          "401": {
            "description": "User must authenticate before making a request."
          },
          "403": {
            "description": "Policy does not allow current user to do this operation."
          },
          "404": {
            "description": "The requested resource could not be found."
          },
          "405": {
            "description": "Method is not valid for this endpoint."
          },
          "413": {
            "description": "The request is larger than the server is willing or able to process."
          },
          "503": {
            "description": "Service is not available. This is mostly caused by service configuration\n                                    errors which prevents the service from successful start up."
          }
        },
        "tags": [
          "Regions"
        ]
      },
      "post": {
        "operationId": "createRegion",
        "summary": "Create region",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#create-region"
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "region": {
                    "type": "object",
                    "properties": {
                      "description": {
                        "type": "string"
                      },
                      "id": {
                        "type": "string"
                      },
                      "parent_region_id": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Resource was created and is ready to use."
          },
          "400": {
            "description": "Some content in the request was invalid."
          },
          "401": {
            "description": "User must authenticate before making a request."
          },
          "403": {
            "description": "Policy does not allow current user to do this operation."
          },
          "404": {
            "description": "The requested resource could not be found."
          },
          "405": {
            "description": "Method is not valid for this endpoint."
          },
          "409": {
            "description": "This operation conflicted with another operation on this resource."
          },
          "413": {
            "description": "The request is larger than the server is willing or able to process."
          },
          "415": {
            "description": "The request entity has a media type which the server or resource does\n                                    not support."
          },
          "503": {
            "description": "Service is not available. This is mostly caused by service configuration\n                                    errors which prevents the service from successful start up."
          }
        },
        "tags": [
          "Regions"
        ]
      }
    },
    "/v3/roles": {
      "get": {
        "operationId": "listRoles",
        "summary": "List roles",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#list-roles"
        },
        "parameters": [
          {
            "name": "name",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filters the response by a role name."
            }
          },
          {
            "name": "domain_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filters the response by a domain ID."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          },
          "400": {
            "description": "Some content in the request was invalid."
          },
          "401": {
            "description": "User must authenticate before making a request."
          },
          "403": {
            "description": "Policy does not allow current user to do this operation."
          }
        },
        "tags": [
          "Roles"
        ]
      },
      "post": {
        "operationId": "createRole",
        "summary": "Create role",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#create-role"
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "role": {
                    "type": "object",
                    "properties": {
                      "description": {
                        "type": "string"
                      },
                      "domain_id": {
                        "type": "string"
                      },
                      "name": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Resource was created and is ready to use."
          },
          "400": {
            "description": "Some content in the request was invalid."
          },
          "401": {
            "description": "User must authenticate before making a request."
          },
          "403": {
            "description": "Policy does not allow current user to do this operation."
          },
          "409": {
            "description": "This operation conflicted with another operation on this resource."
          }
        },
        "tags": [
          "Roles"
        ]
      }
    },
    "/v3/roles/{role_id}": {
      "get": {
        "operationId": "showRoleDetails",
        "summary": "Show role details",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#show-role-details"
        },
        "parameters": [
          {
            "name": "role_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The role ID."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          },
          "400": {
            "description": "Some content in the request was invalid."
          },
          "401": {
            "description": "User must authenticate before making a request."
          },
          "403": {
            "description": "Policy does not allow current user to do this operation."
          },
          "404": {
            "description": "The requested resource could not be found."
          }
        },
        "tags": [
          "Roles"
        ]
      },
      "patch": {
        "operationId": "updateRole",
        "summary": "Update role",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#update-role"
        },
        "parameters": [
          {
            "name": "role_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The role ID."
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "role": {
                    "type": "object",
                    "properties": {
                      "description": {
                        "type": "string"
                      },
                      "name": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request was successful."
          },
          "400": {
            "description": "Some content in the request was invalid."
          },
          "401": {
            "description": "User must authenticate before making a request."
          },
          "403": {
            "description": "Policy does not allow current user to do this operation."
          },
          "404": {
            "description": "The requested resource could not be found."
          },
          "409": {
            "description": "This operation conflicted with another operation on this resource."
          }
        },
        "tags": [
          "Roles"
        ]
      },
      "delete": {
        "operationId": "deleteRole",
        "summary": "Delete role",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#delete-role"
        },
        "parameters": [
          {
            "name": "role_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The role ID."
            }
          }
        ],
        "responses": {
          "204": {
            "description": "The server has fulfilled the request."
          },
          "400": {
            "description": "Some content in the request was invalid."
          },
          "401": {
            "description": "User must authenticate before making a request."
          },
          "403": {
            "description": "Policy does not allow current user to do this operation."
          },
          "404": {
            "description": "The requested resource could not be found."
          }
        },
        "tags": [
          "Roles"
        ]
      }
    },
    "/v3/domains/{domain_id}/groups/{group_id}/roles": {
      "get": {
        "operationId": "listRoleAssignmentsForGroupOnDomain",
        "summary": "List role assignments for group on domain",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#list-role-assignments-for-group-on-domain"
        },
        "parameters": [
          {
            "name": "domain_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The domain ID."
            }
          },
          {
            "name": "group_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The group ID."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          },
          "400": {
            "description": "Some content in the request was invalid."
          },
          "401": {
            "description": "User must authenticate before making a request."
          },
          "403": {
            "description": "Policy does not allow current user to do this operation."
          }
        },
        "tags": [
          "Roles"
        ]
      }
    },
    "/v3/domains/{domain_id}/groups/{group_id}/roles/{role_id}": {
      "put": {
        "operationId": "assignRoleToGroupOnDomain",
        "summary": "Assign role to group on domain",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#assign-role-to-group-on-domain"
        },
        "parameters": [
          {
            "name": "domain_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The domain ID."
            }
          },
          {
            "name": "group_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The group ID."
            }
          },
          {
            "name": "role_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The role ID."
            }
          }
        ],
        "responses": {
          "204": {
            "description": "The server has fulfilled the request."
          },
          "400": {
            "description": "Some content in the request was invalid."
          },
          "401": {
            "description": "User must authenticate before making a request."
          },
          "403": {
            "description": "Policy does not allow current user to do this operation."
          },
          "404": {
            "description": "The requested resource could not be found."
          },
          "409": {
            "description": "This operation conflicted with another operation on this resource."
          }
        },
        "tags": [
          "Roles"
        ]
      },
      "head": {
        "operationId": "checkWhetherGroupHasRoleAssignmentOnDomain",
        "summary": "Check whether group has role assignment on domain",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#check-whether-group-has-role-assignment-on-domain"
        },
        "parameters": [
          {
            "name": "domain_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The domain ID."
            }
          },
          {
            "name": "group_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The group ID."
            }
          },
          {
            "name": "role_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The role ID."
            }
          }
        ],
        "responses": {
          "204": {
            "description": "The server has fulfilled the request."
          },
          "400": {
            "description": "Some content in the request was invalid."
          },
          "401": {
            "description": "User must authenticate before making a request."
          },
          "403": {
            "description": "Policy does not allow current user to do this operation."
          },
          "404": {
            "description": "The requested resource could not be found."
          }
        },
        "tags": [
          "Roles"
        ]
      },
      "delete": {
        "operationId": "unassignRoleFromGroupOnDomain",
        "summary": "Unassign role from group on domain",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#unassign-role-from-group-on-domain"
        },
        "parameters": [
          {
            "name": "domain_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The domain ID."
            }
          },
          {
            "name": "group_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The group ID."
            }
          },
          {
            "name": "role_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The role ID."
            }
          }
        ],
        "responses": {
          "204": {
            "description": "The server has fulfilled the request."
          },
          "400": {
            "description": "Some content in the request was invalid."
          },
          "401": {
            "description": "User must authenticate before making a request."
          },
          "403": {
            "description": "Policy does not allow current user to do this operation."
          },
          "404": {
            "description": "The requested resource could not be found."
          }
        },
        "tags": [
          "Roles"
        ]
      }
    },
    "/v3/domains/{domain_id}/users/{user_id}/roles": {
      "get": {
        "operationId": "listRoleAssignmentsForUserOnDomain",
        "summary": "List role assignments for user on domain",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#list-role-assignments-for-user-on-domain"
        },
        "parameters": [
          {
            "name": "domain_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The domain ID."
            }
          },
          {
            "name": "user_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The user ID."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          },
          "400": {
            "description": "Some content in the request was invalid."
          },
          "401": {
            "description": "User must authenticate before making a request."
          },
          "403": {
            "description": "Policy does not allow current user to do this operation."
          }
        },
        "tags": [
          "Roles"
        ]
      }
    },
    "/v3/domains/{domain_id}/users/{user_id}/roles/{role_id}": {
      "put": {
        "operationId": "assignRoleToUserOnDomain",
        "summary": "Assign role to user on domain",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#assign-role-to-user-on-domain"
        },
        "parameters": [
          {
            "name": "domain_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The domain ID."
            }
          },
          {
            "name": "user_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The user ID."
            }
          },
          {
            "name": "role_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The role ID."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          },
          "400": {
            "description": "Some content in the request was invalid."
          },
          "401": {
            "description": "User must authenticate before making a request."
          },
          "403": {
            "description": "Policy does not allow current user to do this operation."
          }
        },
        "tags": [
          "Roles"
        ]
      },
      "head": {
        "operationId": "checkWhetherUserHasRoleAssignmentOnDomain",
        "summary": "Check whether user has role assignment on domain",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#check-whether-user-has-role-assignment-on-domain"
        },
        "parameters": [
          {
            "name": "domain_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The domain ID."
            }
          },
          {
            "name": "user_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The user ID."
            }
          },
          {
            "name": "role_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The role ID."
            }
          }
        ],
        "responses": {
          "204": {
            "description": "The server has fulfilled the request."
          },
          "400": {
            "description": "Some content in the request was invalid."
          },
          "401": {
            "description": "User must authenticate before making a request."
          },
          "403": {
            "description": "Policy does not allow current user to do this operation."
          },
          "404": {
            "description": "The requested resource could not be found."
          }
        },
        "tags": [
          "Roles"
        ]
      },
      "delete": {
        "operationId": "unassignsRoleFromUserOnDomain",
        "summary": "Unassigns role from user on domain",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#unassigns-role-from-user-on-domain"
        },
        "parameters": [
          {
            "name": "domain_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The domain ID."
            }
          },
          {
            "name": "user_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The user ID."
            }
          },
          {
            "name": "role_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The role ID."
            }
          }
        ],
        "responses": {
          "204": {
            "description": "The server has fulfilled the request."
          },
          "400": {
            "description": "Some content in the request was invalid."
          },
          "401": {
            "description": "User must authenticate before making a request."
          },
          "403": {
            "description": "Policy does not allow current user to do this operation."
          },
          "404": {
            "description": "The requested resource could not be found."
          },
          "409": {
            "description": "This operation conflicted with another operation on this resource."
          }
        },
        "tags": [
          "Roles"
        ]
      }
    },
    "/v3/projects/{project_id}/groups/{group_id}/roles": {
      "get": {
        "operationId": "listRoleAssignmentsForGroupOnProject",
        "summary": "List role assignments for group on project",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#list-role-assignments-for-group-on-project"
        },
        "parameters": [
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The project ID."
            }
          },
          {
            "name": "group_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The group ID."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          },
          "400": {
            "description": "Some content in the request was invalid."
          },
          "401": {
            "description": "User must authenticate before making a request."
          },
          "403": {
            "description": "Policy does not allow current user to do this operation."
          }
        },
        "tags": [
          "Roles"
        ]
      }
    },
    "/v3/projects/{project_id}/groups/{group_id}/roles/{role_id}": {
      "put": {
        "operationId": "assignRoleToGroupOnProject",
        "summary": "Assign role to group on project",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#assign-role-to-group-on-project"
        },
        "parameters": [
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The project ID."
            }
          },
          {
            "name": "group_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The group ID."
            }
          },
          {
            "name": "role_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The role ID."
            }
          }
        ],
        "responses": {
          "204": {
            "description": "The server has fulfilled the request."
          },
          "400": {
            "description": "Some content in the request was invalid."
          },
          "401": {
            "description": "User must authenticate before making a request."
          },
          "403": {
            "description": "Policy does not allow current user to do this operation."
          },
          "404": {
            "description": "The requested resource could not be found."
          },
          "409": {
            "description": "This operation conflicted with another operation on this resource."
          }
        },
        "tags": [
          "Roles"
        ]
      },
      "head": {
        "operationId": "checkWhetherGroupHasRoleAssignmentOnProject",
        "summary": "Check whether group has role assignment on project",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#check-whether-group-has-role-assignment-on-project"
        },
        "parameters": [
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The project ID."
            }
          },
          {
            "name": "group_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The group ID."
            }
          },
          {
            "name": "role_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The role ID."
            }
          }
        ],
        "responses": {
          "204": {
            "description": "The server has fulfilled the request."
          },
          "400": {
            "description": "Some content in the request was invalid."
          },
          "401": {
            "description": "User must authenticate before making a request."
          },
          "403": {
            "description": "Policy does not allow current user to do this operation."
          },
          "404": {
            "description": "The requested resource could not be found."
          }
        },
        "tags": [
          "Roles"
        ]
      },
      "delete": {
        "operationId": "unassignRoleFromGroupOnProject",
        "summary": "Unassign role from group on project",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#unassign-role-from-group-on-project"
        },
        "parameters": [
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The project ID."
            }
          },
          {
            "name": "group_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The group ID."
            }
          },
          {
            "name": "role_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The role ID."
            }
          }
        ],
        "responses": {
          "204": {
            "description": "The server has fulfilled the request."
          },
          "400": {
            "description": "Some content in the request was invalid."
          },
          "401": {
            "description": "User must authenticate before making a request."
          },
          "403": {
            "description": "Policy does not allow current user to do this operation."
          },
          "404": {
            "description": "The requested resource could not be found."
          }
        },
        "tags": [
          "Roles"
        ]
      }
    },
    "/v3/projects/{project_id}/users/{user_id}/roles": {
      "get": {
        "operationId": "listRoleAssignmentsForUserOnProject",
        "summary": "List role assignments for user on project",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#list-role-assignments-for-user-on-project"
        },
        "parameters": [
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The project ID."
            }
          },
          {
            "name": "user_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The user ID."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          },
          "400": {
            "description": "Some content in the request was invalid."
          },
          "401": {
            "description": "User must authenticate before making a request."
          },
          "403": {
            "description": "Policy does not allow current user to do this operation."
          }
        },
        "tags": [
          "Roles"
        ]
      }
    },
    "/v3/projects/{project_id}/users/{user_id}/roles/{role_id}": {
      "put": {
        "operationId": "assignRoleToUserOnProject",
        "summary": "Assign role to user on project",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#assign-role-to-user-on-project"
        },
        "parameters": [
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The project ID."
            }
          },
          {
            "name": "user_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The user ID."
            }
          },
          {
            "name": "role_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The role ID."
            }
          }
        ],
        "responses": {
          "204": {
            "description": "The server has fulfilled the request."
          },
          "400": {
            "description": "Some content in the request was invalid."
          },
          "401": {
            "description": "User must authenticate before making a request."
          },
          "403": {
            "description": "Policy does not allow current user to do this operation."
          },
          "404": {
            "description": "The requested resource could not be found."
          },
          "409": {
            "description": "This operation conflicted with another operation on this resource."
          }
        },
        "tags": [
          "Roles"
        ]
      },
      "head": {
        "operationId": "checkWhetherUserHasRoleAssignmentOnProject",
        "summary": "Check whether user has role assignment on project",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#check-whether-user-has-role-assignment-on-project"
        },
        "parameters": [
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The project ID."
            }
          },
          {
            "name": "user_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The user ID."
            }
          },
          {
            "name": "role_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The role ID."
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Resource was created and is ready to use."
          },
          "400": {
            "description": "Some content in the request was invalid."
          },
          "401": {
            "description": "User must authenticate before making a request."
          },
          "403": {
            "description": "Policy does not allow current user to do this operation."
          },
          "404": {
            "description": "The requested resource could not be found."
          }
        },
        "tags": [
          "Roles"
        ]
      },
      "delete": {
        "operationId": "unassignRoleFromUserOnProject",
        "summary": "Unassign role from user on project",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#unassign-role-from-user-on-project"
        },
        "parameters": [
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The project ID."
            }
          },
          {
            "name": "user_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The user ID."
            }
          },
          {
            "name": "role_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The role ID."
            }
          }
        ],
        "responses": {
          "204": {
            "description": "The server has fulfilled the request."
          },
          "400": {
            "description": "Some content in the request was invalid."
          },
          "401": {
            "description": "User must authenticate before making a request."
          },
          "403": {
            "description": "Policy does not allow current user to do this operation."
          },
          "404": {
            "description": "The requested resource could not be found."
          }
        },
        "tags": [
          "Roles"
        ]
      }
    },
    "/v3/roles/{prior_role_id}/implies": {
      "get": {
        "operationId": "listImplied(inference)RolesForRole",
        "summary": "List implied (inference) roles for role",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#list-implied-inference-roles-for-role"
        },
        "parameters": [
          {
            "name": "prior_role_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Role ID for a prior role."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          },
          "401": {
            "description": "User must authenticate before making a request."
          },
          "404": {
            "description": "The requested resource could not be found."
          }
        },
        "tags": [
          "Roles"
        ]
      }
    },
    "/v3/roles/{prior_role_id}/implies/{implies_role_id}": {
      "put": {
        "operationId": "createRoleInferenceRule",
        "summary": "Create role inference rule",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#create-role-inference-rule"
        },
        "parameters": [
          {
            "name": "prior_role_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Role ID for a prior role."
            }
          },
          {
            "name": "implies_role_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Role ID for an implied role."
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Resource was created and is ready to use."
          },
          "401": {
            "description": "User must authenticate before making a request."
          },
          "404": {
            "description": "The requested resource could not be found."
          }
        },
        "tags": [
          "Roles"
        ]
      },
      "get": {
        "operationId": "getRoleInferenceRule",
        "summary": "Get role inference rule",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#get-role-inference-rule"
        },
        "parameters": [
          {
            "name": "prior_role_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Role ID for a prior role."
            }
          },
          {
            "name": "implies_role_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Role ID for an implied role."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          },
          "401": {
            "description": "User must authenticate before making a request."
          },
          "404": {
            "description": "The requested resource could not be found."
          }
        },
        "tags": [
          "Roles"
        ]
      },
      "head": {
        "operationId": "confirmRoleInferenceRule",
        "summary": "Confirm role inference rule",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#confirm-role-inference-rule"
        },
        "parameters": [
          {
            "name": "prior_role_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Role ID for a prior role."
            }
          },
          {
            "name": "implies_role_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Role ID for an implied role."
            }
          }
        ],
        "responses": {
          "204": {
            "description": "The server has fulfilled the request."
          },
          "401": {
            "description": "User must authenticate before making a request."
          },
          "404": {
            "description": "The requested resource could not be found."
          }
        },
        "tags": [
          "Roles"
        ]
      },
      "delete": {
        "operationId": "deleteRoleInferenceRule",
        "summary": "Delete role inference rule",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#delete-role-inference-rule"
        },
        "parameters": [
          {
            "name": "prior_role_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Role ID for a prior role."
            }
          },
          {
            "name": "implies_role_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Role ID for an implied role."
            }
          }
        ],
        "responses": {
          "204": {
            "description": "The server has fulfilled the request."
          },
          "401": {
            "description": "User must authenticate before making a request."
          },
          "404": {
            "description": "The requested resource could not be found."
          }
        },
        "tags": [
          "Roles"
        ]
      }
    },
    "/v3/role_inferences": {
      "get": {
        "operationId": "listAllRoleInferenceRules",
        "summary": "List all role inference rules",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#list-all-role-inference-rules"
        },
        "responses": {
          "200": {
            "description": "Request was successful."
          },
          "401": {
            "description": "User must authenticate before making a request."
          },
          "404": {
            "description": "The requested resource could not be found."
          }
        },
        "tags": [
          "Roles"
        ]
      }
    },
    "/v3/system/users/{user_id}/roles": {
      "get": {
        "operationId": "listSystemRoleAssignmentsForAUser",
        "summary": "List system role assignments for a user",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#list-system-role-assignments-for-a-user"
        },
        "parameters": [
          {
            "name": "user_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The user ID."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          },
          "400": {
            "description": "Some content in the request was invalid."
          },
          "401": {
            "description": "User must authenticate before making a request."
          },
          "403": {
            "description": "Policy does not allow current user to do this operation."
          }
        },
        "tags": [
          "System Role Assignments"
        ]
      }
    },
    "/v3/system/users/{user_id}/roles/{role_id}": {
      "put": {
        "operationId": "assignASystemRoleToAUser",
        "summary": "Assign a system role to a user",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#assign-a-system-role-to-a-user"
        },
        "parameters": [
          {
            "name": "user_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The user ID."
            }
          },
          {
            "name": "role_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The role ID."
            }
          }
        ],
        "responses": {
          "204": {
            "description": "The server has fulfilled the request."
          },
          "401": {
            "description": "User must authenticate before making a request."
          },
          "403": {
            "description": "Policy does not allow current user to do this operation."
          },
          "404": {
            "description": "The requested resource could not be found."
          }
        },
        "tags": [
          "System Role Assignments"
        ]
      },
      "head": {
        "operationId": "checkUserForASystemRoleAssignment",
        "summary": "Check user for a system role assignment",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#check-user-for-a-system-role-assignment"
        },
        "parameters": [
          {
            "name": "user_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The user ID."
            }
          },
          {
            "name": "role_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The role ID."
            }
          }
        ],
        "responses": {
          "204": {
            "description": "The server has fulfilled the request."
          },
          "401": {
            "description": "User must authenticate before making a request."
          },
          "403": {
            "description": "Policy does not allow current user to do this operation."
          },
          "404": {
            "description": "The requested resource could not be found."
          }
        },
        "tags": [
          "System Role Assignments"
        ]
      },
      "get": {
        "operationId": "getSystemRoleAssignmentForAUser",
        "summary": "Get system role assignment for a user",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#get-system-role-assignment-for-a-user"
        },
        "parameters": [
          {
            "name": "user_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The user ID."
            }
          },
          {
            "name": "role_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The role ID."
            }
          }
        ],
        "responses": {
          "204": {
            "description": "The server has fulfilled the request."
          },
          "400": {
            "description": "Some content in the request was invalid."
          },
          "401": {
            "description": "User must authenticate before making a request."
          },
          "403": {
            "description": "Policy does not allow current user to do this operation."
          },
          "404": {
            "description": "The requested resource could not be found."
          }
        },
        "tags": [
          "System Role Assignments"
        ]
      },
      "delete": {
        "operationId": "deleteASystemRoleAssignmentFromAUser",
        "summary": "Delete a system role assignment from a user",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#delete-a-system-role-assignment-from-a-user"
        },
        "parameters": [
          {
            "name": "user_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The user ID."
            }
          },
          {
            "name": "role_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The role ID."
            }
          }
        ],
        "responses": {
          "204": {
            "description": "The server has fulfilled the request."
          },
          "400": {
            "description": "Some content in the request was invalid."
          },
          "401": {
            "description": "User must authenticate before making a request."
          },
          "403": {
            "description": "Policy does not allow current user to do this operation."
          },
          "404": {
            "description": "The requested resource could not be found."
          }
        },
        "tags": [
          "System Role Assignments"
        ]
      }
    },
    "/v3/system/groups/{group_id}/roles": {
      "get": {
        "operationId": "listSystemRoleAssignmentsForAGroup",
        "summary": "List system role assignments for a group",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#list-system-role-assignments-for-a-group"
        },
        "parameters": [
          {
            "name": "group_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The group ID."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          },
          "400": {
            "description": "Some content in the request was invalid."
          },
          "401": {
            "description": "User must authenticate before making a request."
          },
          "403": {
            "description": "Policy does not allow current user to do this operation."
          }
        },
        "tags": [
          "System Role Assignments"
        ]
      }
    },
    "/v3/system/groups/{group_id}/roles/{role_id}": {
      "put": {
        "operationId": "assignASystemRoleToAGroup",
        "summary": "Assign a system role to a group",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#assign-a-system-role-to-a-group"
        },
        "parameters": [
          {
            "name": "group_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The group ID."
            }
          },
          {
            "name": "role_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The role ID."
            }
          }
        ],
        "responses": {
          "204": {
            "description": "The server has fulfilled the request."
          },
          "400": {
            "description": "Some content in the request was invalid."
          },
          "401": {
            "description": "User must authenticate before making a request."
          },
          "403": {
            "description": "Policy does not allow current user to do this operation."
          },
          "404": {
            "description": "The requested resource could not be found."
          }
        },
        "tags": [
          "System Role Assignments"
        ]
      },
      "head": {
        "operationId": "checkGroupForASystemRoleAssignment",
        "summary": "Check group for a system role assignment",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#check-group-for-a-system-role-assignment"
        },
        "parameters": [
          {
            "name": "group_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The group ID."
            }
          },
          {
            "name": "role_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The role ID."
            }
          }
        ],
        "responses": {
          "204": {
            "description": "The server has fulfilled the request."
          },
          "400": {
            "description": "Some content in the request was invalid."
          },
          "401": {
            "description": "User must authenticate before making a request."
          },
          "403": {
            "description": "Policy does not allow current user to do this operation."
          },
          "404": {
            "description": "The requested resource could not be found."
          }
        },
        "tags": [
          "System Role Assignments"
        ]
      },
      "get": {
        "operationId": "getSystemRoleAssignmentForAGroup",
        "summary": "Get system role assignment for a group",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#get-system-role-assignment-for-a-group"
        },
        "parameters": [
          {
            "name": "group_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The group ID."
            }
          },
          {
            "name": "role_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The role ID."
            }
          }
        ],
        "responses": {
          "204": {
            "description": "The server has fulfilled the request."
          },
          "400": {
            "description": "Some content in the request was invalid."
          },
          "401": {
            "description": "User must authenticate before making a request."
          },
          "403": {
            "description": "Policy does not allow current user to do this operation."
          },
          "404": {
            "description": "The requested resource could not be found."
          }
        },
        "tags": [
          "System Role Assignments"
        ]
      },
      "delete": {
        "operationId": "deleteASystemRoleAssignmentFromAGroup",
        "summary": "Delete a system role assignment from a group",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#delete-a-system-role-assignment-from-a-group"
        },
        "parameters": [
          {
            "name": "group_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The group ID."
            }
          },
          {
            "name": "role_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The role ID."
            }
          }
        ],
        "responses": {
          "204": {
            "description": "The server has fulfilled the request."
          },
          "400": {
            "description": "Some content in the request was invalid."
          },
          "401": {
            "description": "User must authenticate before making a request."
          },
          "403": {
            "description": "Policy does not allow current user to do this operation."
          },
          "404": {
            "description": "The requested resource could not be found."
          }
        },
        "tags": [
          "System Role Assignments"
        ]
      }
    },
    "/v3/services": {
      "get": {
        "operationId": "listServices",
        "summary": "List services",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#list-services"
        },
        "parameters": [
          {
            "name": "name",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filters the response by a service name."
            }
          },
          {
            "name": "type",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filters the response by a service type. A valid value is compute, ec2, identity, image, network, or volume."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          },
          "400": {
            "description": "Some content in the request was invalid."
          },
          "401": {
            "description": "User must authenticate before making a request."
          },
          "403": {
            "description": "Policy does not allow current user to do this operation."
          }
        },
        "tags": [
          "Service catalog and endpoints"
        ]
      },
      "post": {
        "operationId": "createService",
        "summary": "Create service",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#create-service"
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "service": {
                    "type": "object",
                    "properties": {
                      "type": {
                        "type": "string"
                      },
                      "name": {
                        "type": "string"
                      },
                      "description": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Resource was created and is ready to use."
          },
          "400": {
            "description": "Some content in the request was invalid."
          },
          "401": {
            "description": "User must authenticate before making a request."
          },
          "403": {
            "description": "Policy does not allow current user to do this operation."
          },
          "409": {
            "description": "This operation conflicted with another operation on this resource."
          }
        },
        "tags": [
          "Service catalog and endpoints"
        ]
      }
    },
    "/v3/services/{service_id}": {
      "get": {
        "operationId": "showServiceDetails",
        "summary": "Show service details",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#show-service-details"
        },
        "parameters": [
          {
            "name": "service_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The service ID."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          },
          "400": {
            "description": "Some content in the request was invalid."
          },
          "401": {
            "description": "User must authenticate before making a request."
          },
          "403": {
            "description": "Policy does not allow current user to do this operation."
          },
          "404": {
            "description": "The requested resource could not be found."
          }
        },
        "tags": [
          "Service catalog and endpoints"
        ]
      },
      "patch": {
        "operationId": "updateService",
        "summary": "Update service",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#update-service"
        },
        "parameters": [
          {
            "name": "service_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The service ID."
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "service": {
                    "type": "object",
                    "properties": {
                      "description": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request was successful."
          },
          "400": {
            "description": "Some content in the request was invalid."
          },
          "401": {
            "description": "User must authenticate before making a request."
          },
          "403": {
            "description": "Policy does not allow current user to do this operation."
          },
          "404": {
            "description": "The requested resource could not be found."
          },
          "409": {
            "description": "This operation conflicted with another operation on this resource."
          }
        },
        "tags": [
          "Service catalog and endpoints"
        ]
      },
      "delete": {
        "operationId": "deleteService",
        "summary": "Delete service",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#delete-service"
        },
        "parameters": [
          {
            "name": "service_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The service ID."
            }
          }
        ],
        "responses": {
          "204": {
            "description": "The server has fulfilled the request."
          },
          "400": {
            "description": "Some content in the request was invalid."
          },
          "401": {
            "description": "User must authenticate before making a request."
          },
          "403": {
            "description": "Policy does not allow current user to do this operation."
          },
          "404": {
            "description": "The requested resource could not be found."
          }
        },
        "tags": [
          "Service catalog and endpoints"
        ]
      }
    },
    "/v3/endpoints": {
      "get": {
        "operationId": "listEndpoints",
        "summary": "List endpoints",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#list-endpoints"
        },
        "parameters": [
          {
            "name": "interface",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filters the response by an interface."
            }
          },
          {
            "name": "service_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filters the response by a service ID."
            }
          },
          {
            "name": "region_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filters the response by a region ID."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          },
          "400": {
            "description": "Some content in the request was invalid."
          },
          "401": {
            "description": "User must authenticate before making a request."
          },
          "403": {
            "description": "Policy does not allow current user to do this operation."
          }
        },
        "tags": [
          "Service catalog and endpoints"
        ]
      },
      "post": {
        "operationId": "createEndpoint",
        "summary": "Create endpoint",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#create-endpoint"
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "endpoint": {
                    "type": "object",
                    "properties": {
                      "interface": {
                        "type": "string"
                      },
                      "region_id": {
                        "type": "string"
                      },
                      "url": {
                        "type": "string"
                      },
                      "service_id": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Resource was created and is ready to use."
          },
          "400": {
            "description": "Some content in the request was invalid."
          },
          "401": {
            "description": "User must authenticate before making a request."
          },
          "403": {
            "description": "Policy does not allow current user to do this operation."
          },
          "409": {
            "description": "This operation conflicted with another operation on this resource."
          }
        },
        "tags": [
          "Service catalog and endpoints"
        ]
      }
    },
    "/v3/endpoints/{endpoint_id}": {
      "get": {
        "operationId": "showEndpointDetails",
        "summary": "Show endpoint details",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#show-endpoint-details"
        },
        "parameters": [
          {
            "name": "endpoint_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The endpoint ID."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          },
          "400": {
            "description": "Some content in the request was invalid."
          },
          "401": {
            "description": "User must authenticate before making a request."
          },
          "403": {
            "description": "Policy does not allow current user to do this operation."
          },
          "404": {
            "description": "The requested resource could not be found."
          }
        },
        "tags": [
          "Service catalog and endpoints"
        ]
      },
      "patch": {
        "operationId": "updateEndpoint",
        "summary": "Update endpoint",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#update-endpoint"
        },
        "parameters": [
          {
            "name": "endpoint_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The endpoint ID."
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "endpoint": {
                    "type": "object",
                    "properties": {
                      "interface": {
                        "type": "string"
                      },
                      "region_id": {
                        "type": "string"
                      },
                      "url": {
                        "type": "string"
                      },
                      "service_id": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request was successful."
          },
          "400": {
            "description": "Some content in the request was invalid."
          },
          "401": {
            "description": "User must authenticate before making a request."
          },
          "403": {
            "description": "Policy does not allow current user to do this operation."
          },
          "404": {
            "description": "The requested resource could not be found."
          },
          "409": {
            "description": "This operation conflicted with another operation on this resource."
          }
        },
        "tags": [
          "Service catalog and endpoints"
        ]
      },
      "delete": {
        "operationId": "deleteEndpoint",
        "summary": "Delete endpoint",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#delete-endpoint"
        },
        "parameters": [
          {
            "name": "endpoint_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The endpoint ID."
            }
          }
        ],
        "responses": {
          "204": {
            "description": "The server has fulfilled the request."
          },
          "400": {
            "description": "Some content in the request was invalid."
          },
          "401": {
            "description": "User must authenticate before making a request."
          },
          "403": {
            "description": "Policy does not allow current user to do this operation."
          },
          "404": {
            "description": "The requested resource could not be found."
          }
        },
        "tags": [
          "Service catalog and endpoints"
        ]
      }
    },
    "/v3/registered_limits": {
      "get": {
        "operationId": "listRegisteredLimits",
        "summary": "List Registered Limits",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#list-registered-limits"
        },
        "parameters": [
          {
            "name": "service_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filters the response by a service ID."
            }
          },
          {
            "name": "region_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filters the response by a region ID."
            }
          },
          {
            "name": "resource_name",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filters the response by a specified resource name."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          },
          "401": {
            "description": "User must authenticate before making a request."
          },
          "403": {
            "description": "Policy does not allow current user to do this operation."
          }
        },
        "tags": [
          "Unified Limits"
        ]
      },
      "post": {
        "operationId": "createRegisteredLimits",
        "summary": "Create Registered Limits",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#create-registered-limits"
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "registered_limits": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "service_id": {
                          "type": "string"
                        },
                        "region_id": {
                          "type": "string"
                        },
                        "resource_name": {
                          "type": "string"
                        },
                        "default_limit": {
                          "type": "integer"
                        },
                        "description": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Resource was created and is ready to use."
          },
          "400": {
            "description": "Some content in the request was invalid."
          },
          "401": {
            "description": "User must authenticate before making a request."
          },
          "403": {
            "description": "Policy does not allow current user to do this operation."
          },
          "409": {
            "description": "This operation conflicted with another operation on this resource."
          }
        },
        "tags": [
          "Unified Limits"
        ]
      }
    },
    "/v3/registered_limits/{registered_limit_id}": {
      "patch": {
        "operationId": "updateRegisteredLimit",
        "summary": "Update Registered Limit",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#update-registered-limit"
        },
        "parameters": [
          {
            "name": "registered_limit_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The registered limit ID."
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "registered_limit": {
                    "type": "object",
                    "properties": {
                      "service_id": {
                        "type": "string"
                      },
                      "region_id": {
                        "type": "string"
                      },
                      "resource_name": {
                        "type": "string"
                      },
                      "default_limit": {
                        "type": "integer"
                      },
                      "description": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request was successful."
          },
          "400": {
            "description": "Some content in the request was invalid."
          },
          "401": {
            "description": "User must authenticate before making a request."
          },
          "403": {
            "description": "Policy does not allow current user to do this operation."
          },
          "404": {
            "description": "The requested resource could not be found."
          },
          "409": {
            "description": "This operation conflicted with another operation on this resource."
          }
        },
        "tags": [
          "Unified Limits"
        ]
      },
      "get": {
        "operationId": "showRegisteredLimitDetails",
        "summary": "Show Registered Limit Details",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#show-registered-limit-details"
        },
        "parameters": [
          {
            "name": "registered_limit_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The registered limit ID."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          },
          "401": {
            "description": "User must authenticate before making a request."
          },
          "403": {
            "description": "Policy does not allow current user to do this operation."
          },
          "404": {
            "description": "The requested resource could not be found."
          }
        },
        "tags": [
          "Unified Limits"
        ]
      },
      "delete": {
        "operationId": "deleteRegisteredLimit",
        "summary": "Delete Registered Limit",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#delete-registered-limit"
        },
        "parameters": [
          {
            "name": "registered_limit_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The registered limit ID."
            }
          }
        ],
        "responses": {
          "204": {
            "description": "The server has fulfilled the request."
          },
          "401": {
            "description": "User must authenticate before making a request."
          },
          "403": {
            "description": "Policy does not allow current user to do this operation."
          },
          "404": {
            "description": "The requested resource could not be found."
          }
        },
        "tags": [
          "Unified Limits"
        ]
      }
    },
    "/v3/limits/model": {
      "get": {
        "operationId": "getEnforcementModel",
        "summary": "Get Enforcement Model",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#get-enforcement-model"
        },
        "responses": {
          "200": {
            "description": "Request was successful."
          },
          "401": {
            "description": "User must authenticate before making a request."
          },
          "403": {
            "description": "Policy does not allow current user to do this operation."
          }
        },
        "tags": [
          "Unified Limits"
        ]
      }
    },
    "/v3/limits": {
      "get": {
        "operationId": "listLimits",
        "summary": "List Limits",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#list-limits"
        },
        "parameters": [
          {
            "name": "service_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filters the response by a service ID."
            }
          },
          {
            "name": "region_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filters the response by a region ID."
            }
          },
          {
            "name": "resource_name",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filters the response by a specified resource name."
            }
          },
          {
            "name": "project_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filters the response by a project ID."
            }
          },
          {
            "name": "domain_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filters the response by a domain ID."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          },
          "401": {
            "description": "User must authenticate before making a request."
          },
          "403": {
            "description": "Policy does not allow current user to do this operation."
          }
        },
        "tags": [
          "Unified Limits"
        ]
      },
      "post": {
        "operationId": "createLimits",
        "summary": "Create Limits",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#create-limits"
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "limits": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "service_id": {
                          "type": "string"
                        },
                        "project_id": {
                          "type": "string"
                        },
                        "region_id": {
                          "type": "string"
                        },
                        "resource_name": {
                          "type": "string"
                        },
                        "resource_limit": {
                          "type": "integer"
                        },
                        "description": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Resource was created and is ready to use."
          },
          "400": {
            "description": "Some content in the request was invalid."
          },
          "401": {
            "description": "User must authenticate before making a request."
          },
          "403": {
            "description": "Policy does not allow current user to do this operation."
          },
          "409": {
            "description": "This operation conflicted with another operation on this resource."
          }
        },
        "tags": [
          "Unified Limits"
        ]
      }
    },
    "/v3/limits/{limit_id}": {
      "patch": {
        "operationId": "updateLimit",
        "summary": "Update Limit",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#update-limit"
        },
        "parameters": [
          {
            "name": "limit_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The limit ID."
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "limit": {
                    "type": "object",
                    "properties": {
                      "resource_limit": {
                        "type": "integer"
                      },
                      "description": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request was successful."
          },
          "400": {
            "description": "Some content in the request was invalid."
          },
          "401": {
            "description": "User must authenticate before making a request."
          },
          "403": {
            "description": "Policy does not allow current user to do this operation."
          },
          "404": {
            "description": "The requested resource could not be found."
          },
          "409": {
            "description": "This operation conflicted with another operation on this resource."
          }
        },
        "tags": [
          "Unified Limits"
        ]
      },
      "get": {
        "operationId": "showLimitDetails",
        "summary": "Show Limit Details",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#show-limit-details"
        },
        "parameters": [
          {
            "name": "limit_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The limit ID."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          },
          "401": {
            "description": "User must authenticate before making a request."
          },
          "403": {
            "description": "Policy does not allow current user to do this operation."
          },
          "404": {
            "description": "The requested resource could not be found."
          }
        },
        "tags": [
          "Unified Limits"
        ]
      },
      "delete": {
        "operationId": "deleteLimit",
        "summary": "Delete Limit",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#delete-limit"
        },
        "parameters": [
          {
            "name": "limit_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The limit ID."
            }
          }
        ],
        "responses": {
          "204": {
            "description": "The server has fulfilled the request."
          },
          "401": {
            "description": "User must authenticate before making a request."
          },
          "403": {
            "description": "Policy does not allow current user to do this operation."
          },
          "404": {
            "description": "The requested resource could not be found."
          }
        },
        "tags": [
          "Unified Limits"
        ]
      }
    },
    "/v3/users": {
      "get": {
        "operationId": "listUsers",
        "summary": "List users",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#list-users"
        },
        "parameters": [
          {
            "name": "domain_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filters the response by a domain ID."
            }
          },
          {
            "name": "enabled",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filters the response by either enabled (true) or disabled (false) users."
            }
          },
          {
            "name": "idp_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filters the response by an identity provider ID."
            }
          },
          {
            "name": "name",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filters the response by a user name."
            }
          },
          {
            "name": "password_expires_at",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filter results based on which user passwords have expired. The query should include an operator and a timestamp with a colon (:) separating the two, for example:"
            }
          },
          {
            "name": "protocol_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filters the response by a protocol ID."
            }
          },
          {
            "name": "unique_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filters the response by a unique ID."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          },
          "400": {
            "description": "Some content in the request was invalid."
          },
          "401": {
            "description": "User must authenticate before making a request."
          },
          "403": {
            "description": "Policy does not allow current user to do this operation."
          }
        },
        "tags": [
          "Users"
        ]
      },
      "post": {
        "operationId": "createUser",
        "summary": "Create user",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#create-user"
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "user": {
                    "type": "object",
                    "properties": {
                      "default_project_id": {
                        "type": "string"
                      },
                      "domain_id": {
                        "type": "string"
                      },
                      "enabled": {
                        "type": "boolean"
                      },
                      "federated": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "idp_id": {
                              "type": "string"
                            },
                            "protocols": {
                              "type": "array",
                              "items": {
                                "type": "object",
                                "properties": {
                                  "protocol_id": {
                                    "type": "string"
                                  },
                                  "unique_id": {
                                    "type": "string"
                                  }
                                }
                              }
                            }
                          }
                        }
                      },
                      "name": {
                        "type": "string"
                      },
                      "password": {
                        "type": "string"
                      },
                      "description": {
                        "type": "string"
                      },
                      "email": {
                        "type": "string"
                      },
                      "options": {
                        "type": "object",
                        "properties": {
                          "ignore_password_expiry": {
                            "type": "boolean"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Resource was created and is ready to use."
          },
          "400": {
            "description": "Some content in the request was invalid."
          },
          "401": {
            "description": "User must authenticate before making a request."
          },
          "403": {
            "description": "Policy does not allow current user to do this operation."
          },
          "409": {
            "description": "This operation conflicted with another operation on this resource."
          }
        },
        "tags": [
          "Users"
        ]
      }
    },
    "/v3/users/{user_id}": {
      "get": {
        "operationId": "showUserDetails",
        "summary": "Show user details",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#show-user-details"
        },
        "parameters": [
          {
            "name": "user_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The user ID."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          },
          "400": {
            "description": "Some content in the request was invalid."
          },
          "401": {
            "description": "User must authenticate before making a request."
          },
          "403": {
            "description": "Policy does not allow current user to do this operation."
          },
          "404": {
            "description": "The requested resource could not be found."
          }
        },
        "tags": [
          "Users"
        ]
      },
      "patch": {
        "operationId": "updateUser",
        "summary": "Update user",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#update-user"
        },
        "parameters": [
          {
            "name": "user_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The user ID."
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "user": {
                    "type": "object",
                    "properties": {
                      "default_project_id": {
                        "type": "string"
                      },
                      "enabled": {
                        "type": "boolean"
                      },
                      "options": {
                        "type": "object",
                        "properties": {
                          "ignore_lockout_failure_attempts": {
                            "type": "boolean"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request was successful."
          },
          "400": {
            "description": "Some content in the request was invalid."
          },
          "401": {
            "description": "User must authenticate before making a request."
          },
          "403": {
            "description": "Policy does not allow current user to do this operation."
          },
          "404": {
            "description": "The requested resource could not be found."
          },
          "409": {
            "description": "This operation conflicted with another operation on this resource."
          },
          "501": {
            "description": "The server either does not recognize the request method, or it lacks the\n                                    ability to fulfill the request."
          }
        },
        "tags": [
          "Users"
        ]
      },
      "delete": {
        "operationId": "deleteUser",
        "summary": "Delete user",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#delete-user"
        },
        "parameters": [
          {
            "name": "user_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The user ID."
            }
          }
        ],
        "responses": {
          "204": {
            "description": "The server has fulfilled the request."
          },
          "400": {
            "description": "Some content in the request was invalid."
          },
          "401": {
            "description": "User must authenticate before making a request."
          },
          "403": {
            "description": "Policy does not allow current user to do this operation."
          },
          "404": {
            "description": "The requested resource could not be found."
          }
        },
        "tags": [
          "Users"
        ]
      }
    },
    "/v3/users/{user_id}/groups": {
      "get": {
        "operationId": "listGroupsToWhichAUserBelongs",
        "summary": "List groups to which a user belongs",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#list-groups-to-which-a-user-belongs"
        },
        "parameters": [
          {
            "name": "user_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The user ID."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          },
          "400": {
            "description": "Some content in the request was invalid."
          },
          "401": {
            "description": "User must authenticate before making a request."
          },
          "403": {
            "description": "Policy does not allow current user to do this operation."
          },
          "404": {
            "description": "The requested resource could not be found."
          }
        },
        "tags": [
          "Users"
        ]
      }
    },
    "/v3/users/{user_id}/projects": {
      "get": {
        "operationId": "listProjectsForUser",
        "summary": "List projects for user",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#list-projects-for-user"
        },
        "parameters": [
          {
            "name": "user_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The user ID."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request was successful."
          },
          "400": {
            "description": "Some content in the request was invalid."
          },
          "401": {
            "description": "User must authenticate before making a request."
          },
          "403": {
            "description": "Policy does not allow current user to do this operation."
          },
          "404": {
            "description": "The requested resource could not be found."
          }
        },
        "tags": [
          "Users"
        ]
      }
    },
    "/v3/users/{user_id}/password": {
      "post": {
        "operationId": "changePasswordForUser",
        "summary": "Change password for user",
        "externalDocs": {
          "url": "https://docs.openstack.org/api-ref/identity/v3/#change-password-for-user"
        },
        "parameters": [
          {
            "name": "user_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "The user ID."
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "user": {
                    "type": "object",
                    "properties": {
                      "password": {
                        "type": "string"
                      },
                      "original_password": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "The server has fulfilled the request."
          },
          "400": {
            "description": "Some content in the request was invalid."
          },
          "401": {
            "description": "User must authenticate before making a request."
          },
          "403": {
            "description": "Policy does not allow current user to do this operation."
          },
          "404": {
            "description": "The requested resource could not be found."
          },
          "409": {
            "description": "This operation conflicted with another operation on this resource."
          }
        },
        "tags": [
          "Users"
        ]
      }
    }
  },
  "components": {
    "schemas": {},
    "responses": {},
    "parameters": {},
    "examples": {},
    "requestBodies": {},
    "headers": {},
    "securitySchemes": {
      "token": {
        "type": "apiKey",
        "description": "Token authentication",
        "name": "X-Auth-Token",
        "in": "header"
      }
    },
    "links": {},
    "callbacks": {}
  },
  "security": [
    {
      "token": []
    }
  ],
  "tags": [],
  "externalDocs": {
    "description": "Openstack Keystone Identity API Operations",
    "url": "https://docs.openstack.org/api-ref/identity/v3/#"
  }
}