blob: 949eb80bf4b57972157f18423bcf75e0300fe039 [file] [log] [blame]
{
"auth": {
"oauth2": {
"scopes": {
"https://www.googleapis.com/auth/cloud-identity.groups": {
"description": "See, change, create, and delete any of the Cloud Identity Groups that you can access, including the members of each group"
},
"https://www.googleapis.com/auth/cloud-identity.groups.readonly": {
"description": "See any Cloud Identity Groups that you can access, including group members and their emails"
},
"https://www.googleapis.com/auth/cloud-platform": {
"description": "View and manage your data across Google Cloud Platform services"
}
}
}
},
"basePath": "",
"baseUrl": "https://cloudidentity.googleapis.com/",
"batchPath": "batch",
"canonicalName": "Cloud Identity",
"description": "API for provisioning and managing identity resources.",
"discoveryVersion": "v1",
"documentationLink": "https://cloud.google.com/identity/",
"fullyEncodeReservedExpansion": true,
"icons": {
"x16": "http://www.google.com/images/icons/product/search-16.gif",
"x32": "http://www.google.com/images/icons/product/search-32.gif"
},
"id": "cloudidentity:v1",
"kind": "discovery#restDescription",
"name": "cloudidentity",
"ownerDomain": "google.com",
"ownerName": "Google",
"parameters": {
"$.xgafv": {
"description": "V1 error format.",
"enum": [
"1",
"2"
],
"enumDescriptions": [
"v1 error format",
"v2 error format"
],
"location": "query",
"type": "string"
},
"access_token": {
"description": "OAuth access token.",
"location": "query",
"type": "string"
},
"alt": {
"default": "json",
"description": "Data format for response.",
"enum": [
"json",
"media",
"proto"
],
"enumDescriptions": [
"Responses with Content-Type of application/json",
"Media download with context-dependent Content-Type",
"Responses with Content-Type of application/x-protobuf"
],
"location": "query",
"type": "string"
},
"callback": {
"description": "JSONP",
"location": "query",
"type": "string"
},
"fields": {
"description": "Selector specifying which fields to include in a partial response.",
"location": "query",
"type": "string"
},
"key": {
"description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.",
"location": "query",
"type": "string"
},
"oauth_token": {
"description": "OAuth 2.0 token for the current user.",
"location": "query",
"type": "string"
},
"prettyPrint": {
"default": "true",
"description": "Returns response with indentations and line breaks.",
"location": "query",
"type": "boolean"
},
"quotaUser": {
"description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.",
"location": "query",
"type": "string"
},
"uploadType": {
"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").",
"location": "query",
"type": "string"
},
"upload_protocol": {
"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").",
"location": "query",
"type": "string"
}
},
"protocol": "rest",
"resources": {
"groups": {
"methods": {
"create": {
"description": "Creates a Group.",
"flatPath": "v1/groups",
"httpMethod": "POST",
"id": "cloudidentity.groups.create",
"parameterOrder": [],
"parameters": {},
"path": "v1/groups",
"request": {
"$ref": "Group"
},
"response": {
"$ref": "Operation"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-identity.groups",
"https://www.googleapis.com/auth/cloud-platform"
]
},
"delete": {
"description": "Deletes a Group.",
"flatPath": "v1/groups/{groupsId}",
"httpMethod": "DELETE",
"id": "cloudidentity.groups.delete",
"parameterOrder": [
"name"
],
"parameters": {
"name": {
"description": "[Resource name](https://cloud.google.com/apis/design/resource_names) of the\nGroup in the format: `groups/{group_id}`, where `group_id` is the unique ID\nassigned to the Group.",
"location": "path",
"pattern": "^groups/[^/]+$",
"required": true,
"type": "string"
}
},
"path": "v1/{+name}",
"response": {
"$ref": "Operation"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-identity.groups",
"https://www.googleapis.com/auth/cloud-platform"
]
},
"get": {
"description": "Retrieves a Group.",
"flatPath": "v1/groups/{groupsId}",
"httpMethod": "GET",
"id": "cloudidentity.groups.get",
"parameterOrder": [
"name"
],
"parameters": {
"name": {
"description": "[Resource name](https://cloud.google.com/apis/design/resource_names) of the\nGroup in the format: `groups/{group_id}`, where `group_id` is the unique ID\nassigned to the Group.",
"location": "path",
"pattern": "^groups/[^/]+$",
"required": true,
"type": "string"
}
},
"path": "v1/{+name}",
"response": {
"$ref": "Group"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-identity.groups",
"https://www.googleapis.com/auth/cloud-identity.groups.readonly",
"https://www.googleapis.com/auth/cloud-platform"
]
},
"list": {
"description": "List groups within a customer or a domain.",
"flatPath": "v1/groups",
"httpMethod": "GET",
"id": "cloudidentity.groups.list",
"parameterOrder": [],
"parameters": {
"pageSize": {
"description": "The default page size is 200 (max 1000) for the BASIC view, and 50\n(max 500) for the FULL view.",
"format": "int32",
"location": "query",
"type": "integer"
},
"pageToken": {
"description": "The next_page_token value returned from a previous list request, if any.",
"location": "query",
"type": "string"
},
"parent": {
"description": "`Required`. May be made Optional in the future.\nCustomer ID to list all groups from.",
"location": "query",
"type": "string"
},
"view": {
"description": "Group resource view to be returned. Defaults to [View.BASIC]().",
"enum": [
"VIEW_UNSPECIFIED",
"BASIC",
"FULL"
],
"location": "query",
"type": "string"
}
},
"path": "v1/groups",
"response": {
"$ref": "ListGroupsResponse"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-identity.groups",
"https://www.googleapis.com/auth/cloud-identity.groups.readonly",
"https://www.googleapis.com/auth/cloud-platform"
]
},
"lookup": {
"description": "Looks up [resource\nname](https://cloud.google.com/apis/design/resource_names) of a Group by\nits EntityKey.",
"flatPath": "v1/groups:lookup",
"httpMethod": "GET",
"id": "cloudidentity.groups.lookup",
"parameterOrder": [],
"parameters": {
"groupKey.id": {
"description": "The ID of the entity within the given namespace. The ID must be unique\nwithin its namespace.",
"location": "query",
"type": "string"
},
"groupKey.namespace": {
"description": "Namespaces provide isolation for IDs, so an ID only needs to be unique\nwithin its namespace.\n\nNamespaces are currently only created as part of IdentitySource creation\nfrom Admin Console. A namespace `\"identitysources/{identity_source_id}\"` is\ncreated corresponding to every Identity Source `identity_source_id`.",
"location": "query",
"type": "string"
}
},
"path": "v1/groups:lookup",
"response": {
"$ref": "LookupGroupNameResponse"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-identity.groups",
"https://www.googleapis.com/auth/cloud-identity.groups.readonly",
"https://www.googleapis.com/auth/cloud-platform"
]
},
"patch": {
"description": "Updates a Group.",
"flatPath": "v1/groups/{groupsId}",
"httpMethod": "PATCH",
"id": "cloudidentity.groups.patch",
"parameterOrder": [
"name"
],
"parameters": {
"name": {
"description": "Output only. [Resource name](https://cloud.google.com/apis/design/resource_names) of the\nGroup in the format: `groups/{group_id}`, where group_id is the unique ID\nassigned to the Group.\n\nMust be left blank while creating a Group.",
"location": "path",
"pattern": "^groups/[^/]+$",
"required": true,
"type": "string"
},
"updateMask": {
"description": "Editable fields: `display_name`, `description`",
"format": "google-fieldmask",
"location": "query",
"type": "string"
}
},
"path": "v1/{+name}",
"request": {
"$ref": "Group"
},
"response": {
"$ref": "Operation"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-identity.groups",
"https://www.googleapis.com/auth/cloud-platform"
]
},
"search": {
"description": "Searches for Groups.",
"flatPath": "v1/groups:search",
"httpMethod": "GET",
"id": "cloudidentity.groups.search",
"parameterOrder": [],
"parameters": {
"pageSize": {
"description": "The default page size is 200 (max 1000) for the BASIC view, and 50\n(max 500) for the FULL view.",
"format": "int32",
"location": "query",
"type": "integer"
},
"pageToken": {
"description": "The next_page_token value returned from a previous search request, if any.",
"location": "query",
"type": "string"
},
"query": {
"description": "`Required`. Query string for performing search on groups. Users can search\non parent and label attributes of groups.\nEXACT match ('==') is supported on parent, and CONTAINS match ('in') is\nsupported on labels.",
"location": "query",
"type": "string"
},
"view": {
"description": "Group resource view to be returned. Defaults to [View.BASIC]().",
"enum": [
"VIEW_UNSPECIFIED",
"BASIC",
"FULL"
],
"location": "query",
"type": "string"
}
},
"path": "v1/groups:search",
"response": {
"$ref": "SearchGroupsResponse"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-identity.groups",
"https://www.googleapis.com/auth/cloud-identity.groups.readonly",
"https://www.googleapis.com/auth/cloud-platform"
]
}
},
"resources": {
"memberships": {
"methods": {
"create": {
"description": "Creates a Membership.",
"flatPath": "v1/groups/{groupsId}/memberships",
"httpMethod": "POST",
"id": "cloudidentity.groups.memberships.create",
"parameterOrder": [
"parent"
],
"parameters": {
"parent": {
"description": "[Resource name](https://cloud.google.com/apis/design/resource_names) of the\nGroup to create Membership within. Format: `groups/{group_id}`, where\n`group_id` is the unique ID assigned to the Group.",
"location": "path",
"pattern": "^groups/[^/]+$",
"required": true,
"type": "string"
}
},
"path": "v1/{+parent}/memberships",
"request": {
"$ref": "Membership"
},
"response": {
"$ref": "Operation"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-identity.groups",
"https://www.googleapis.com/auth/cloud-platform"
]
},
"delete": {
"description": "Deletes a Membership.",
"flatPath": "v1/groups/{groupsId}/memberships/{membershipsId}",
"httpMethod": "DELETE",
"id": "cloudidentity.groups.memberships.delete",
"parameterOrder": [
"name"
],
"parameters": {
"name": {
"description": "[Resource name](https://cloud.google.com/apis/design/resource_names) of the\nMembership to be deleted.\n\nFormat: `groups/{group_id}/memberships/{member_id}`, where `group_id` is\nthe unique ID assigned to the Group to which Membership belongs to, and\nmember_id is the unique ID assigned to the member.",
"location": "path",
"pattern": "^groups/[^/]+/memberships/[^/]+$",
"required": true,
"type": "string"
}
},
"path": "v1/{+name}",
"response": {
"$ref": "Operation"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-identity.groups",
"https://www.googleapis.com/auth/cloud-platform"
]
},
"get": {
"description": "Retrieves a Membership.",
"flatPath": "v1/groups/{groupsId}/memberships/{membershipsId}",
"httpMethod": "GET",
"id": "cloudidentity.groups.memberships.get",
"parameterOrder": [
"name"
],
"parameters": {
"name": {
"description": "[Resource name](https://cloud.google.com/apis/design/resource_names) of the\nMembership to be retrieved.\n\nFormat: `groups/{group_id}/memberships/{member_id}`, where `group_id` is\nthe unique id assigned to the Group to which Membership belongs to, and\n`member_id` is the unique ID assigned to the member.",
"location": "path",
"pattern": "^groups/[^/]+/memberships/[^/]+$",
"required": true,
"type": "string"
}
},
"path": "v1/{+name}",
"response": {
"$ref": "Membership"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-identity.groups",
"https://www.googleapis.com/auth/cloud-identity.groups.readonly",
"https://www.googleapis.com/auth/cloud-platform"
]
},
"list": {
"description": "List Memberships within a Group.",
"flatPath": "v1/groups/{groupsId}/memberships",
"httpMethod": "GET",
"id": "cloudidentity.groups.memberships.list",
"parameterOrder": [
"parent"
],
"parameters": {
"pageSize": {
"description": "The default page size is 200 (max 1000) for the BASIC view, and 50\n(max 500) for the FULL view.",
"format": "int32",
"location": "query",
"type": "integer"
},
"pageToken": {
"description": "The next_page_token value returned from a previous list request, if any.",
"location": "query",
"type": "string"
},
"parent": {
"description": "[Resource name](https://cloud.google.com/apis/design/resource_names) of the\nGroup to list Memberships within.\n\nFormat: `groups/{group_id}`, where `group_id` is the unique ID assigned to\nthe Group.",
"location": "path",
"pattern": "^groups/[^/]+$",
"required": true,
"type": "string"
},
"view": {
"description": "Membership resource view to be returned. Defaults to View.BASIC.",
"enum": [
"VIEW_UNSPECIFIED",
"BASIC",
"FULL"
],
"location": "query",
"type": "string"
}
},
"path": "v1/{+parent}/memberships",
"response": {
"$ref": "ListMembershipsResponse"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-identity.groups",
"https://www.googleapis.com/auth/cloud-identity.groups.readonly",
"https://www.googleapis.com/auth/cloud-platform"
]
},
"lookup": {
"description": "Looks up [resource\nname](https://cloud.google.com/apis/design/resource_names) of a Membership\nwithin a Group by member's EntityKey.",
"flatPath": "v1/groups/{groupsId}/memberships:lookup",
"httpMethod": "GET",
"id": "cloudidentity.groups.memberships.lookup",
"parameterOrder": [
"parent"
],
"parameters": {
"memberKey.id": {
"description": "The ID of the entity within the given namespace. The ID must be unique\nwithin its namespace.",
"location": "query",
"type": "string"
},
"memberKey.namespace": {
"description": "Namespaces provide isolation for IDs, so an ID only needs to be unique\nwithin its namespace.\n\nNamespaces are currently only created as part of IdentitySource creation\nfrom Admin Console. A namespace `\"identitysources/{identity_source_id}\"` is\ncreated corresponding to every Identity Source `identity_source_id`.",
"location": "query",
"type": "string"
},
"parent": {
"description": "[Resource name](https://cloud.google.com/apis/design/resource_names) of the\nGroup to lookup Membership within.\n\nFormat: `groups/{group_id}`, where `group_id` is the unique ID assigned to\nthe Group.",
"location": "path",
"pattern": "^groups/[^/]+$",
"required": true,
"type": "string"
}
},
"path": "v1/{+parent}/memberships:lookup",
"response": {
"$ref": "LookupMembershipNameResponse"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-identity.groups",
"https://www.googleapis.com/auth/cloud-identity.groups.readonly",
"https://www.googleapis.com/auth/cloud-platform"
]
}
}
}
}
}
},
"revision": "20191015",
"rootUrl": "https://cloudidentity.googleapis.com/",
"schemas": {
"EntityKey": {
"description": "An EntityKey uniquely identifies an Entity. Namespaces are used to provide\nisolation for IDs. A single ID can be reused across namespaces but the\ncombination of a namespace and an ID must be unique.",
"id": "EntityKey",
"properties": {
"id": {
"description": "The ID of the entity within the given namespace. The ID must be unique\nwithin its namespace.",
"type": "string"
},
"namespace": {
"description": "Namespaces provide isolation for IDs, so an ID only needs to be unique\nwithin its namespace.\n\nNamespaces are currently only created as part of IdentitySource creation\nfrom Admin Console. A namespace `\"identitysources/{identity_source_id}\"` is\ncreated corresponding to every Identity Source `identity_source_id`.",
"type": "string"
}
},
"type": "object"
},
"Group": {
"description": "Resource representing a Group.",
"id": "Group",
"properties": {
"createTime": {
"description": "Output only. The time when the Group was created.\nOutput only.",
"format": "google-datetime",
"type": "string"
},
"description": {
"description": "An extended description to help users determine the purpose of a Group. For\nexample, you can include information about who should join the Group, the\ntypes of messages to send to the Group, links to FAQs about the Group, or\nrelated Groups. Maximum length is 4,096 characters.",
"type": "string"
},
"displayName": {
"description": "The Group's display name.",
"type": "string"
},
"groupKey": {
"$ref": "EntityKey",
"description": "Required. Immutable. EntityKey of the Group.\n\nMust be set when creating a Group, read-only afterwards."
},
"labels": {
"additionalProperties": {
"type": "string"
},
"description": "Required. `Required`. Labels for Group resource.\nFor creating Groups under a namespace, set label key to\n'labels/system/groups/external' and label value as empty.",
"type": "object"
},
"name": {
"description": "Output only. [Resource name](https://cloud.google.com/apis/design/resource_names) of the\nGroup in the format: `groups/{group_id}`, where group_id is the unique ID\nassigned to the Group.\n\nMust be left blank while creating a Group.",
"type": "string"
},
"parent": {
"description": "Required. Immutable. The entity under which this Group resides in Cloud Identity resource\nhierarchy. Must be set when creating a Group, read-only afterwards.\n\nCurrently allowed types: `identitysources`.",
"type": "string"
},
"updateTime": {
"description": "Output only. The time when the Group was last updated.\nOutput only.",
"format": "google-datetime",
"type": "string"
}
},
"type": "object"
},
"ListGroupsResponse": {
"description": "Response message for ListGroups operation.",
"id": "ListGroupsResponse",
"properties": {
"groups": {
"description": "Groups returned in response to list request.\nThe results are not sorted.",
"items": {
"$ref": "Group"
},
"type": "array"
},
"nextPageToken": {
"description": "Token to retrieve the next page of results, or empty if there are no\nmore results available for listing.",
"type": "string"
}
},
"type": "object"
},
"ListMembershipsResponse": {
"id": "ListMembershipsResponse",
"properties": {
"memberships": {
"description": "List of Memberships.",
"items": {
"$ref": "Membership"
},
"type": "array"
},
"nextPageToken": {
"description": "Token to retrieve the next page of results, or empty if there are no\nmore results available for listing.",
"type": "string"
}
},
"type": "object"
},
"LookupGroupNameResponse": {
"id": "LookupGroupNameResponse",
"properties": {
"name": {
"description": "[Resource name](https://cloud.google.com/apis/design/resource_names) of the\nGroup in the format: `groups/{group_id}`, where `group_id` is the unique ID\nassigned to the Group.",
"type": "string"
}
},
"type": "object"
},
"LookupMembershipNameResponse": {
"id": "LookupMembershipNameResponse",
"properties": {
"name": {
"description": "[Resource name](https://cloud.google.com/apis/design/resource_names) of the\nMembership being looked up.\n\nFormat: `groups/{group_id}/memberships/{member_id}`, where `group_id` is\nthe unique ID assigned to the Group to which Membership belongs to, and\n`member_id` is the unique ID assigned to the member.",
"type": "string"
}
},
"type": "object"
},
"Membership": {
"description": "Resource representing a Membership within a Group",
"id": "Membership",
"properties": {
"createTime": {
"description": "Output only. Creation timestamp of the Membership. Output only.",
"format": "google-datetime",
"type": "string"
},
"name": {
"description": "Output only. [Resource name](https://cloud.google.com/apis/design/resource_names) of the\nMembership in the format: `groups/{group_id}/memberships/{member_id}`,\nwhere group_id is the unique ID assigned to the Group to which Membership\nbelongs to, and member_id is the unique ID assigned to the member\n\nMust be left blank while creating a Membership.",
"type": "string"
},
"preferredMemberKey": {
"$ref": "EntityKey",
"description": "Required. Immutable. EntityKey of the entity to be added as the member. Must be set while\ncreating a Membership, read-only afterwards.\n\nCurrently allowed entity types: `Users`, `Groups`."
},
"roles": {
"description": "Roles for a member within the Group.\n\nCurrently supported MembershipRoles: `\"MEMBER\"`.",
"items": {
"$ref": "MembershipRole"
},
"type": "array"
},
"updateTime": {
"description": "Output only. Last updated timestamp of the Membership. Output only.",
"format": "google-datetime",
"type": "string"
}
},
"type": "object"
},
"MembershipRole": {
"description": "Resource representing a role within a Membership.",
"id": "MembershipRole",
"properties": {
"name": {
"description": "MembershipRole in string format.\n\nCurrently supported MembershipRoles: `\"MEMBER\"`.",
"type": "string"
}
},
"type": "object"
},
"Operation": {
"description": "This resource represents a long-running operation that is the result of a\nnetwork API call.",
"id": "Operation",
"properties": {
"done": {
"description": "If the value is `false`, it means the operation is still in progress.\nIf `true`, the operation is completed, and either `error` or `response` is\navailable.",
"type": "boolean"
},
"error": {
"$ref": "Status",
"description": "The error result of the operation in case of failure or cancellation."
},
"metadata": {
"additionalProperties": {
"description": "Properties of the object. Contains field @type with type URL.",
"type": "any"
},
"description": "Service-specific metadata associated with the operation. It typically\ncontains progress information and common metadata such as create time.\nSome services might not provide such metadata. Any method that returns a\nlong-running operation should document the metadata type, if any.",
"type": "object"
},
"name": {
"description": "The server-assigned name, which is only unique within the same service that\noriginally returns it. If you use the default HTTP mapping, the\n`name` should be a resource name ending with `operations/{unique_id}`.",
"type": "string"
},
"response": {
"additionalProperties": {
"description": "Properties of the object. Contains field @type with type URL.",
"type": "any"
},
"description": "The normal response of the operation in case of success. If the original\nmethod returns no data on success, such as `Delete`, the response is\n`google.protobuf.Empty`. If the original method is standard\n`Get`/`Create`/`Update`, the response should be the resource. For other\nmethods, the response should have the type `XxxResponse`, where `Xxx`\nis the original method name. For example, if the original method name\nis `TakeSnapshot()`, the inferred response type is\n`TakeSnapshotResponse`.",
"type": "object"
}
},
"type": "object"
},
"SearchGroupsResponse": {
"id": "SearchGroupsResponse",
"properties": {
"groups": {
"description": "List of Groups satisfying the search query.",
"items": {
"$ref": "Group"
},
"type": "array"
},
"nextPageToken": {
"description": "Token to retrieve the next page of results, or empty if there are no\nmore results available for specified query.",
"type": "string"
}
},
"type": "object"
},
"Status": {
"description": "The `Status` type defines a logical error model that is suitable for\ndifferent programming environments, including REST APIs and RPC APIs. It is\nused by [gRPC](https://github.com/grpc). Each `Status` message contains\nthree pieces of data: error code, error message, and error details.\n\nYou can find out more about this error model and how to work with it in the\n[API Design Guide](https://cloud.google.com/apis/design/errors).",
"id": "Status",
"properties": {
"code": {
"description": "The status code, which should be an enum value of google.rpc.Code.",
"format": "int32",
"type": "integer"
},
"details": {
"description": "A list of messages that carry the error details. There is a common set of\nmessage types for APIs to use.",
"items": {
"additionalProperties": {
"description": "Properties of the object. Contains field @type with type URL.",
"type": "any"
},
"type": "object"
},
"type": "array"
},
"message": {
"description": "A developer-facing error message, which should be in English. Any\nuser-facing error message should be localized and sent in the\ngoogle.rpc.Status.details field, or localized by the client.",
"type": "string"
}
},
"type": "object"
}
},
"servicePath": "",
"title": "Cloud Identity API",
"version": "v1",
"version_module": true
}