{
  "default_microversion": null,
  "max_microversion": null,
  "operations": [
    {
      "collection_key": null,
      "introduced_in": "yoga",
      "kind": "custom",
      "method": "GET",
      "operation_id": "keystone_v3_root",
      "path": "/v3",
      "requires_auth": true,
      "requires_project": false,
      "resource_type": "version",
      "service": "keystone",
      "status_code": 200
    },
    {
      "collection_key": null,
      "introduced_in": "yoga",
      "kind": "custom",
      "method": "POST",
      "operation_id": "keystone_auth_tokens",
      "path": "/v3/auth/tokens",
      "requires_auth": false,
      "requires_project": false,
      "resource_type": "token",
      "service": "keystone",
      "status_code": 201
    },
    {
      "collection_key": null,
      "introduced_in": "yoga",
      "kind": "custom",
      "method": "GET",
      "operation_id": "keystone_validate_token",
      "path": "/v3/auth/tokens",
      "requires_auth": true,
      "requires_project": false,
      "resource_type": "token",
      "service": "keystone",
      "status_code": 200
    },
    {
      "collection_key": null,
      "introduced_in": "yoga",
      "kind": "custom",
      "method": "GET",
      "operation_id": "keystone_catalog",
      "path": "/v3/auth/catalog",
      "requires_auth": true,
      "requires_project": false,
      "resource_type": "catalog",
      "service": "keystone",
      "status_code": 200
    },
    {
      "collection_key": "domains",
      "introduced_in": "yoga",
      "kind": "collection",
      "method": "GET",
      "operation_id": "domain_list",
      "path": "/v3/domains",
      "requires_auth": true,
      "requires_project": true,
      "resource_type": "domain",
      "service": "keystone",
      "status_code": 200
    },
    {
      "collection_key": "domains",
      "create_status": 201,
      "introduced_in": "yoga",
      "item_key": "domain",
      "kind": "collection",
      "method": "POST",
      "operation_id": "domain_create",
      "path": "/v3/domains",
      "requires_auth": true,
      "requires_project": true,
      "resource_type": "domain",
      "service": "keystone",
      "status_code": 201
    },
    {
      "collection_key": "domains",
      "introduced_in": "yoga",
      "item_key": "domain",
      "kind": "item",
      "method": "GET",
      "operation_id": "domain_show",
      "path": "/v3/domains/{id}",
      "requires_auth": true,
      "requires_project": true,
      "resource_type": "domain",
      "service": "keystone",
      "status_code": 200
    },
    {
      "collection_key": "domains",
      "introduced_in": "yoga",
      "item_key": "domain",
      "kind": "item",
      "method": "PUT",
      "operation_id": "domain_update",
      "path": "/v3/domains/{id}",
      "requires_auth": true,
      "requires_project": true,
      "resource_type": "domain",
      "service": "keystone",
      "status_code": 200
    },
    {
      "collection_key": "domains",
      "introduced_in": "yoga",
      "item_key": "domain",
      "kind": "item",
      "method": "PATCH",
      "operation_id": "domain_patch",
      "path": "/v3/domains/{id}",
      "requires_auth": true,
      "requires_project": true,
      "resource_type": "domain",
      "service": "keystone",
      "status_code": 200
    },
    {
      "collection_key": "domains",
      "introduced_in": "yoga",
      "kind": "item",
      "method": "DELETE",
      "operation_id": "domain_delete",
      "path": "/v3/domains/{id}",
      "requires_auth": true,
      "requires_project": true,
      "resource_type": "domain",
      "service": "keystone",
      "status_code": 204
    },
    {
      "collection_key": "projects",
      "introduced_in": "yoga",
      "kind": "collection",
      "method": "GET",
      "operation_id": "project_list",
      "path": "/v3/projects",
      "requires_auth": true,
      "requires_project": true,
      "resource_type": "project",
      "service": "keystone",
      "status_code": 200
    },
    {
      "collection_key": "projects",
      "create_status": 201,
      "introduced_in": "yoga",
      "item_key": "project",
      "kind": "collection",
      "method": "POST",
      "operation_id": "project_create",
      "path": "/v3/projects",
      "requires_auth": true,
      "requires_project": true,
      "resource_type": "project",
      "service": "keystone",
      "status_code": 201
    },
    {
      "collection_key": "projects",
      "introduced_in": "yoga",
      "item_key": "project",
      "kind": "item",
      "method": "GET",
      "operation_id": "project_show",
      "path": "/v3/projects/{id}",
      "requires_auth": true,
      "requires_project": true,
      "resource_type": "project",
      "service": "keystone",
      "status_code": 200
    },
    {
      "collection_key": "projects",
      "introduced_in": "yoga",
      "item_key": "project",
      "kind": "item",
      "method": "PUT",
      "operation_id": "project_update",
      "path": "/v3/projects/{id}",
      "requires_auth": true,
      "requires_project": true,
      "resource_type": "project",
      "service": "keystone",
      "status_code": 200
    },
    {
      "collection_key": "projects",
      "introduced_in": "yoga",
      "item_key": "project",
      "kind": "item",
      "method": "PATCH",
      "operation_id": "project_patch",
      "path": "/v3/projects/{id}",
      "requires_auth": true,
      "requires_project": true,
      "resource_type": "project",
      "service": "keystone",
      "status_code": 200
    },
    {
      "collection_key": "projects",
      "introduced_in": "yoga",
      "kind": "item",
      "method": "DELETE",
      "operation_id": "project_delete",
      "path": "/v3/projects/{id}",
      "requires_auth": true,
      "requires_project": true,
      "resource_type": "project",
      "service": "keystone",
      "status_code": 204
    },
    {
      "collection_key": "users",
      "introduced_in": "yoga",
      "kind": "collection",
      "method": "GET",
      "operation_id": "user_list",
      "path": "/v3/users",
      "requires_auth": true,
      "requires_project": true,
      "resource_type": "user",
      "service": "keystone",
      "status_code": 200
    },
    {
      "collection_key": "users",
      "create_status": 201,
      "introduced_in": "yoga",
      "item_key": "user",
      "kind": "collection",
      "method": "POST",
      "operation_id": "user_create",
      "path": "/v3/users",
      "requires_auth": true,
      "requires_project": true,
      "resource_type": "user",
      "service": "keystone",
      "status_code": 201
    },
    {
      "collection_key": "users",
      "introduced_in": "yoga",
      "item_key": "user",
      "kind": "item",
      "method": "GET",
      "operation_id": "user_show",
      "path": "/v3/users/{id}",
      "requires_auth": true,
      "requires_project": true,
      "resource_type": "user",
      "service": "keystone",
      "status_code": 200
    },
    {
      "collection_key": "users",
      "introduced_in": "yoga",
      "item_key": "user",
      "kind": "item",
      "method": "PUT",
      "operation_id": "user_update",
      "path": "/v3/users/{id}",
      "requires_auth": true,
      "requires_project": true,
      "resource_type": "user",
      "service": "keystone",
      "status_code": 200
    },
    {
      "collection_key": "users",
      "introduced_in": "yoga",
      "item_key": "user",
      "kind": "item",
      "method": "PATCH",
      "operation_id": "user_patch",
      "path": "/v3/users/{id}",
      "requires_auth": true,
      "requires_project": true,
      "resource_type": "user",
      "service": "keystone",
      "status_code": 200
    },
    {
      "collection_key": "users",
      "introduced_in": "yoga",
      "kind": "item",
      "method": "DELETE",
      "operation_id": "user_delete",
      "path": "/v3/users/{id}",
      "requires_auth": true,
      "requires_project": true,
      "resource_type": "user",
      "service": "keystone",
      "status_code": 204
    },
    {
      "collection_key": "groups",
      "introduced_in": "yoga",
      "kind": "collection",
      "method": "GET",
      "operation_id": "group_list",
      "path": "/v3/groups",
      "requires_auth": true,
      "requires_project": true,
      "resource_type": "group",
      "service": "keystone",
      "status_code": 200
    },
    {
      "collection_key": "groups",
      "create_status": 201,
      "introduced_in": "yoga",
      "item_key": "group",
      "kind": "collection",
      "method": "POST",
      "operation_id": "group_create",
      "path": "/v3/groups",
      "requires_auth": true,
      "requires_project": true,
      "resource_type": "group",
      "service": "keystone",
      "status_code": 201
    },
    {
      "collection_key": "groups",
      "introduced_in": "yoga",
      "item_key": "group",
      "kind": "item",
      "method": "GET",
      "operation_id": "group_show",
      "path": "/v3/groups/{id}",
      "requires_auth": true,
      "requires_project": true,
      "resource_type": "group",
      "service": "keystone",
      "status_code": 200
    },
    {
      "collection_key": "groups",
      "introduced_in": "yoga",
      "item_key": "group",
      "kind": "item",
      "method": "PUT",
      "operation_id": "group_update",
      "path": "/v3/groups/{id}",
      "requires_auth": true,
      "requires_project": true,
      "resource_type": "group",
      "service": "keystone",
      "status_code": 200
    },
    {
      "collection_key": "groups",
      "introduced_in": "yoga",
      "item_key": "group",
      "kind": "item",
      "method": "PATCH",
      "operation_id": "group_patch",
      "path": "/v3/groups/{id}",
      "requires_auth": true,
      "requires_project": true,
      "resource_type": "group",
      "service": "keystone",
      "status_code": 200
    },
    {
      "collection_key": "groups",
      "introduced_in": "yoga",
      "kind": "item",
      "method": "DELETE",
      "operation_id": "group_delete",
      "path": "/v3/groups/{id}",
      "requires_auth": true,
      "requires_project": true,
      "resource_type": "group",
      "service": "keystone",
      "status_code": 204
    },
    {
      "collection_key": "roles",
      "introduced_in": "yoga",
      "kind": "collection",
      "method": "GET",
      "operation_id": "role_list",
      "path": "/v3/roles",
      "requires_auth": true,
      "requires_project": true,
      "resource_type": "role",
      "service": "keystone",
      "status_code": 200
    },
    {
      "collection_key": "roles",
      "create_status": 201,
      "introduced_in": "yoga",
      "item_key": "role",
      "kind": "collection",
      "method": "POST",
      "operation_id": "role_create",
      "path": "/v3/roles",
      "requires_auth": true,
      "requires_project": true,
      "resource_type": "role",
      "service": "keystone",
      "status_code": 201
    },
    {
      "collection_key": "roles",
      "introduced_in": "yoga",
      "item_key": "role",
      "kind": "item",
      "method": "GET",
      "operation_id": "role_show",
      "path": "/v3/roles/{id}",
      "requires_auth": true,
      "requires_project": true,
      "resource_type": "role",
      "service": "keystone",
      "status_code": 200
    },
    {
      "collection_key": "roles",
      "introduced_in": "yoga",
      "item_key": "role",
      "kind": "item",
      "method": "PUT",
      "operation_id": "role_update",
      "path": "/v3/roles/{id}",
      "requires_auth": true,
      "requires_project": true,
      "resource_type": "role",
      "service": "keystone",
      "status_code": 200
    },
    {
      "collection_key": "roles",
      "introduced_in": "yoga",
      "item_key": "role",
      "kind": "item",
      "method": "PATCH",
      "operation_id": "role_patch",
      "path": "/v3/roles/{id}",
      "requires_auth": true,
      "requires_project": true,
      "resource_type": "role",
      "service": "keystone",
      "status_code": 200
    },
    {
      "collection_key": "roles",
      "introduced_in": "yoga",
      "kind": "item",
      "method": "DELETE",
      "operation_id": "role_delete",
      "path": "/v3/roles/{id}",
      "requires_auth": true,
      "requires_project": true,
      "resource_type": "role",
      "service": "keystone",
      "status_code": 204
    },
    {
      "collection_key": "regions",
      "introduced_in": "yoga",
      "kind": "collection",
      "method": "GET",
      "operation_id": "region_list",
      "path": "/v3/regions",
      "requires_auth": true,
      "requires_project": true,
      "resource_type": "region",
      "service": "keystone",
      "status_code": 200
    },
    {
      "collection_key": "regions",
      "create_status": 201,
      "introduced_in": "yoga",
      "item_key": "region",
      "kind": "collection",
      "method": "POST",
      "operation_id": "region_create",
      "path": "/v3/regions",
      "requires_auth": true,
      "requires_project": true,
      "resource_type": "region",
      "service": "keystone",
      "status_code": 201
    },
    {
      "collection_key": "regions",
      "introduced_in": "yoga",
      "item_key": "region",
      "kind": "item",
      "method": "GET",
      "operation_id": "region_show",
      "path": "/v3/regions/{id}",
      "requires_auth": true,
      "requires_project": true,
      "resource_type": "region",
      "service": "keystone",
      "status_code": 200
    },
    {
      "collection_key": "regions",
      "introduced_in": "yoga",
      "item_key": "region",
      "kind": "item",
      "method": "PUT",
      "operation_id": "region_update",
      "path": "/v3/regions/{id}",
      "requires_auth": true,
      "requires_project": true,
      "resource_type": "region",
      "service": "keystone",
      "status_code": 200
    },
    {
      "collection_key": "regions",
      "introduced_in": "yoga",
      "item_key": "region",
      "kind": "item",
      "method": "PATCH",
      "operation_id": "region_patch",
      "path": "/v3/regions/{id}",
      "requires_auth": true,
      "requires_project": true,
      "resource_type": "region",
      "service": "keystone",
      "status_code": 200
    },
    {
      "collection_key": "regions",
      "introduced_in": "yoga",
      "kind": "item",
      "method": "DELETE",
      "operation_id": "region_delete",
      "path": "/v3/regions/{id}",
      "requires_auth": true,
      "requires_project": true,
      "resource_type": "region",
      "service": "keystone",
      "status_code": 204
    },
    {
      "collection_key": "services",
      "introduced_in": "yoga",
      "kind": "collection",
      "method": "GET",
      "operation_id": "service_list",
      "path": "/v3/services",
      "requires_auth": true,
      "requires_project": true,
      "resource_type": "service",
      "service": "keystone",
      "status_code": 200
    },
    {
      "collection_key": "services",
      "create_status": 201,
      "introduced_in": "yoga",
      "item_key": "service",
      "kind": "collection",
      "method": "POST",
      "operation_id": "service_create",
      "path": "/v3/services",
      "requires_auth": true,
      "requires_project": true,
      "resource_type": "service",
      "service": "keystone",
      "status_code": 201
    },
    {
      "collection_key": "services",
      "introduced_in": "yoga",
      "item_key": "service",
      "kind": "item",
      "method": "GET",
      "operation_id": "service_show",
      "path": "/v3/services/{id}",
      "requires_auth": true,
      "requires_project": true,
      "resource_type": "service",
      "service": "keystone",
      "status_code": 200
    },
    {
      "collection_key": "services",
      "introduced_in": "yoga",
      "item_key": "service",
      "kind": "item",
      "method": "PUT",
      "operation_id": "service_update",
      "path": "/v3/services/{id}",
      "requires_auth": true,
      "requires_project": true,
      "resource_type": "service",
      "service": "keystone",
      "status_code": 200
    },
    {
      "collection_key": "services",
      "introduced_in": "yoga",
      "item_key": "service",
      "kind": "item",
      "method": "PATCH",
      "operation_id": "service_patch",
      "path": "/v3/services/{id}",
      "requires_auth": true,
      "requires_project": true,
      "resource_type": "service",
      "service": "keystone",
      "status_code": 200
    },
    {
      "collection_key": "services",
      "introduced_in": "yoga",
      "kind": "item",
      "method": "DELETE",
      "operation_id": "service_delete",
      "path": "/v3/services/{id}",
      "requires_auth": true,
      "requires_project": true,
      "resource_type": "service",
      "service": "keystone",
      "status_code": 204
    },
    {
      "collection_key": "endpoints",
      "introduced_in": "yoga",
      "kind": "collection",
      "method": "GET",
      "operation_id": "endpoint_list",
      "path": "/v3/endpoints",
      "requires_auth": true,
      "requires_project": true,
      "resource_type": "endpoint",
      "service": "keystone",
      "status_code": 200
    },
    {
      "collection_key": "endpoints",
      "create_status": 201,
      "introduced_in": "yoga",
      "item_key": "endpoint",
      "kind": "collection",
      "method": "POST",
      "operation_id": "endpoint_create",
      "path": "/v3/endpoints",
      "requires_auth": true,
      "requires_project": true,
      "resource_type": "endpoint",
      "service": "keystone",
      "status_code": 201
    },
    {
      "collection_key": "endpoints",
      "introduced_in": "yoga",
      "item_key": "endpoint",
      "kind": "item",
      "method": "GET",
      "operation_id": "endpoint_show",
      "path": "/v3/endpoints/{id}",
      "requires_auth": true,
      "requires_project": true,
      "resource_type": "endpoint",
      "service": "keystone",
      "status_code": 200
    },
    {
      "collection_key": "endpoints",
      "introduced_in": "yoga",
      "item_key": "endpoint",
      "kind": "item",
      "method": "PUT",
      "operation_id": "endpoint_update",
      "path": "/v3/endpoints/{id}",
      "requires_auth": true,
      "requires_project": true,
      "resource_type": "endpoint",
      "service": "keystone",
      "status_code": 200
    },
    {
      "collection_key": "endpoints",
      "introduced_in": "yoga",
      "item_key": "endpoint",
      "kind": "item",
      "method": "PATCH",
      "operation_id": "endpoint_patch",
      "path": "/v3/endpoints/{id}",
      "requires_auth": true,
      "requires_project": true,
      "resource_type": "endpoint",
      "service": "keystone",
      "status_code": 200
    },
    {
      "collection_key": "endpoints",
      "introduced_in": "yoga",
      "kind": "item",
      "method": "DELETE",
      "operation_id": "endpoint_delete",
      "path": "/v3/endpoints/{id}",
      "requires_auth": true,
      "requires_project": true,
      "resource_type": "endpoint",
      "service": "keystone",
      "status_code": 204
    },
    {
      "collection_key": "credentials",
      "introduced_in": "yoga",
      "kind": "collection",
      "method": "GET",
      "operation_id": "credential_list",
      "path": "/v3/credentials",
      "requires_auth": true,
      "requires_project": true,
      "resource_type": "credential",
      "service": "keystone",
      "status_code": 200
    },
    {
      "collection_key": "credentials",
      "create_status": 201,
      "introduced_in": "yoga",
      "item_key": "credential",
      "kind": "collection",
      "method": "POST",
      "operation_id": "credential_create",
      "path": "/v3/credentials",
      "requires_auth": true,
      "requires_project": true,
      "resource_type": "credential",
      "service": "keystone",
      "status_code": 201
    },
    {
      "collection_key": "credentials",
      "introduced_in": "yoga",
      "item_key": "credential",
      "kind": "item",
      "method": "GET",
      "operation_id": "credential_show",
      "path": "/v3/credentials/{id}",
      "requires_auth": true,
      "requires_project": true,
      "resource_type": "credential",
      "service": "keystone",
      "status_code": 200
    },
    {
      "collection_key": "credentials",
      "introduced_in": "yoga",
      "item_key": "credential",
      "kind": "item",
      "method": "PUT",
      "operation_id": "credential_update",
      "path": "/v3/credentials/{id}",
      "requires_auth": true,
      "requires_project": true,
      "resource_type": "credential",
      "service": "keystone",
      "status_code": 200
    },
    {
      "collection_key": "credentials",
      "introduced_in": "yoga",
      "item_key": "credential",
      "kind": "item",
      "method": "PATCH",
      "operation_id": "credential_patch",
      "path": "/v3/credentials/{id}",
      "requires_auth": true,
      "requires_project": true,
      "resource_type": "credential",
      "service": "keystone",
      "status_code": 200
    },
    {
      "collection_key": "credentials",
      "introduced_in": "yoga",
      "kind": "item",
      "method": "DELETE",
      "operation_id": "credential_delete",
      "path": "/v3/credentials/{id}",
      "requires_auth": true,
      "requires_project": true,
      "resource_type": "credential",
      "service": "keystone",
      "status_code": 204
    },
    {
      "collection_key": "policies",
      "introduced_in": "yoga",
      "kind": "collection",
      "method": "GET",
      "operation_id": "policy_list",
      "path": "/v3/policies",
      "requires_auth": true,
      "requires_project": true,
      "resource_type": "policy",
      "service": "keystone",
      "status_code": 200
    },
    {
      "collection_key": "policies",
      "create_status": 201,
      "introduced_in": "yoga",
      "item_key": "policy",
      "kind": "collection",
      "method": "POST",
      "operation_id": "policy_create",
      "path": "/v3/policies",
      "requires_auth": true,
      "requires_project": true,
      "resource_type": "policy",
      "service": "keystone",
      "status_code": 201
    },
    {
      "collection_key": "policies",
      "introduced_in": "yoga",
      "item_key": "policy",
      "kind": "item",
      "method": "GET",
      "operation_id": "policy_show",
      "path": "/v3/policies/{id}",
      "requires_auth": true,
      "requires_project": true,
      "resource_type": "policy",
      "service": "keystone",
      "status_code": 200
    },
    {
      "collection_key": "policies",
      "introduced_in": "yoga",
      "item_key": "policy",
      "kind": "item",
      "method": "PUT",
      "operation_id": "policy_update",
      "path": "/v3/policies/{id}",
      "requires_auth": true,
      "requires_project": true,
      "resource_type": "policy",
      "service": "keystone",
      "status_code": 200
    },
    {
      "collection_key": "policies",
      "introduced_in": "yoga",
      "item_key": "policy",
      "kind": "item",
      "method": "PATCH",
      "operation_id": "policy_patch",
      "path": "/v3/policies/{id}",
      "requires_auth": true,
      "requires_project": true,
      "resource_type": "policy",
      "service": "keystone",
      "status_code": 200
    },
    {
      "collection_key": "policies",
      "introduced_in": "yoga",
      "kind": "item",
      "method": "DELETE",
      "operation_id": "policy_delete",
      "path": "/v3/policies/{id}",
      "requires_auth": true,
      "requires_project": true,
      "resource_type": "policy",
      "service": "keystone",
      "status_code": 204
    },
    {
      "collection_key": "application_credentials",
      "introduced_in": "yoga",
      "kind": "collection",
      "method": "GET",
      "operation_id": "application_credential_list",
      "path": "/v3/users/{user_id}/application_credentials",
      "requires_auth": true,
      "requires_project": true,
      "resource_type": "application_credential",
      "service": "keystone",
      "status_code": 200
    },
    {
      "collection_key": "application_credentials",
      "create_status": 201,
      "introduced_in": "yoga",
      "item_key": "application_credential",
      "kind": "collection",
      "method": "POST",
      "operation_id": "application_credential_create",
      "path": "/v3/users/{user_id}/application_credentials",
      "requires_auth": true,
      "requires_project": true,
      "resource_type": "application_credential",
      "service": "keystone",
      "status_code": 201
    },
    {
      "collection_key": "application_credentials",
      "introduced_in": "yoga",
      "item_key": "application_credential",
      "kind": "item",
      "method": "GET",
      "operation_id": "application_credential_show",
      "path": "/v3/users/{user_id}/application_credentials/{id}",
      "requires_auth": true,
      "requires_project": true,
      "resource_type": "application_credential",
      "service": "keystone",
      "status_code": 200
    },
    {
      "collection_key": "application_credentials",
      "introduced_in": "yoga",
      "item_key": "application_credential",
      "kind": "item",
      "method": "PUT",
      "operation_id": "application_credential_update",
      "path": "/v3/users/{user_id}/application_credentials/{id}",
      "requires_auth": true,
      "requires_project": true,
      "resource_type": "application_credential",
      "service": "keystone",
      "status_code": 200
    },
    {
      "collection_key": "application_credentials",
      "introduced_in": "yoga",
      "item_key": "application_credential",
      "kind": "item",
      "method": "PATCH",
      "operation_id": "application_credential_patch",
      "path": "/v3/users/{user_id}/application_credentials/{id}",
      "requires_auth": true,
      "requires_project": true,
      "resource_type": "application_credential",
      "service": "keystone",
      "status_code": 200
    },
    {
      "collection_key": "application_credentials",
      "introduced_in": "yoga",
      "kind": "item",
      "method": "DELETE",
      "operation_id": "application_credential_delete",
      "path": "/v3/users/{user_id}/application_credentials/{id}",
      "requires_auth": true,
      "requires_project": true,
      "resource_type": "application_credential",
      "service": "keystone",
      "status_code": 204
    },
    {
      "collection_key": "role_assignments",
      "introduced_in": "yoga",
      "kind": "custom",
      "method": "GET",
      "operation_id": "keystone_role_assignments",
      "path": "/v3/role_assignments",
      "requires_auth": true,
      "requires_project": true,
      "resource_type": "role_assignment",
      "service": "keystone",
      "status_code": 200
    },
    {
      "collection_key": null,
      "introduced_in": "yoga",
      "kind": "custom",
      "method": "PUT",
      "operation_id": "keystone_grant_project_role",
      "path": "/v3/projects/{project_id}/users/{user_id}/roles/{role_id}",
      "requires_auth": true,
      "requires_project": true,
      "resource_type": "role_assignment",
      "service": "keystone",
      "status_code": 204
    },
    {
      "introduced_in": "yoga",
      "kind": "custom",
      "method": "DELETE",
      "operation_id": "keystone_revoke_project_role",
      "path": "/v3/projects/{project_id}/users/{user_id}/roles/{role_id}",
      "requires_auth": true,
      "requires_project": true,
      "resource_type": "role_assignment",
      "service": "keystone",
      "status_code": 204
    },
    {
      "collection_key": "roles",
      "introduced_in": "yoga",
      "kind": "custom",
      "method": "GET",
      "operation_id": "keystone_list_project_user_roles",
      "path": "/v3/projects/{project_id}/users/{user_id}/roles",
      "requires_auth": true,
      "requires_project": true,
      "resource_type": "role",
      "service": "keystone",
      "status_code": 200
    },
    {
      "collection_key": "roles",
      "introduced_in": "yoga",
      "kind": "custom",
      "method": "GET",
      "operation_id": "keystone_inherit_roles",
      "path": "/v3/OS-INHERIT/domains/{domain_id}/users/{user_id}/roles",
      "requires_auth": true,
      "requires_project": true,
      "resource_type": "role",
      "service": "keystone",
      "status_code": 200
    },
    {
      "collection_key": "limits",
      "introduced_in": "yoga",
      "kind": "custom",
      "method": "GET",
      "operation_id": "keystone_limits",
      "path": "/v3/limits",
      "requires_auth": true,
      "requires_project": true,
      "resource_type": "limit",
      "service": "keystone",
      "status_code": 200
    },
    {
      "collection_key": "registered_limits",
      "introduced_in": "yoga",
      "kind": "custom",
      "method": "GET",
      "operation_id": "keystone_registered_limits",
      "path": "/v3/registered_limits",
      "requires_auth": true,
      "requires_project": true,
      "resource_type": "registered_limit",
      "service": "keystone",
      "status_code": 200
    }
  ],
  "port": 5000,
  "service": "keystone",
  "type": "identity",
  "version_path": "/v3/"
}
