openapi: 3.2.0 info: title: Identity Service Cluster API description: "Delivering relevant digital experiences requires having a complete\nunderstanding of your customer. This is made more difficult when your\ncustomer data is fragmented across disparate systems, causing each\nindividual customer to appear to have multiple \"identities\". Adobe\nExperience Platform Identity Service provides a RESTful API to help you to\ngain a better view of your customers and their behavior. By bridging\nidentities across devices and systems, you are better able to deliver\nimpactful, personal digital experiences in real-time.

\n\nUse the Identity Service API to manage identities, namespaces, and clusters\nlinked to the Identity Graph.

\n\n**Related documentation**:\n * [Identity Service documentation](https://www.adobe.com/go/identity-overview-en)\n\n**Visualize API calls with Postman (a free, third-party software)**:\n * [Identity Service API Postman collection on GitHub](https://github.com/adobe/experience-platform-postman-samples/blob/master/apis/experience-platform/Identity%20Service.postman_collection.json)\n * [Video guide for creating the Postman environment](https://video.tv.adobe.com/v/28832)\n * [Steps for importing environments and collections in Postman](https://learning.getpostman.com/docs/postman/collection_runs/using_environments_in_collection_runs/)\n\n**API paths**:\n * PLATFORM Gateway URL: https://platform-{REGION}.adobe.io\n * Information on {REGION} values can be found in the [Identity Service developer guide](https://experienceleague.adobe.com/docs/experience-platform/identity/api/getting-started.html).\n * Base path for this API: /data/core/\n * Example of a complete path: https://platform-va7.adobe.io/data/core/identity/cluster/members\n\n**Required headers**:\n * All calls require the headers `Authorization`, `x-gw-ims-org-id`, and `x-api-key`. For more information on how to obtain these values, see the [authentication tutorial](http://www.adobe.com/go/platform-api-authentication-en).\n * All resources in Experience Platform are isolated to specific virtual sandboxes. All requests to Platform APIs require the header `x-sandbox-name` whose value is the all-lowercase name of the sandbox the operation will take place in (for example, \"prod\"). See the [sandboxes overview](https://adobe.com/go/sandbox-overview-en) for more information.\n * All requests with a payload in the request body (such as POST, PUT, and PATCH calls) must include the header `Content-Type` with a value of `application/json`.\n\n- **API error handling**:\n - Refer to the Experience Platform API troubleshooting guide for [FAQs](https://experienceleague.adobe.com/docs/experience-platform/landing/troubleshooting.html#faq), [API status codes](https://experienceleague.adobe.com/docs/experience-platform/landing/troubleshooting.html#api-status-codes), and [request header errors](https://experienceleague.adobe.com/docs/experience-platform/landing/troubleshooting.html#request-header-errors).\n" version: 1.0.0 servers: - url: https://{environment}.adobe.io/data/core variables: environment: default: platform enum: - platform - platform-stage tags: - name: Cluster description: "Cluster services provide access to groupings of identities as linked in\nthe identity graph. These endpoints have been deprecated. \nUse Graph API to access groupings of identities as linked in the identity graph.\n" paths: /identity/cluster/members: get: deprecated: true tags: - Cluster summary: List linked identities for a given identity description: 'This endpoint has been deprecated. Use /identity/v2/graph to retrieve the related XIDs for a given XID.

Given an XID return all XIDs, in the same or other namespaces, that are linked to it by the device graph type. The related XIDs are considered to be part of the same cluster. It is required to pass either xid or (namespace/nsid & id) pair to get cluster members. ' operationId: listClusterMembers parameters: - $ref: '#/components/parameters/authorization' - $ref: '#/components/parameters/x-api-key' - $ref: '#/components/parameters/x-gw-ims-org-id' - $ref: '#/components/parameters/x-sandbox-name' - $ref: '#/components/parameters/x-uis-cst-ctx' - $ref: '#/components/parameters/x-request-id' - $ref: '#/components/parameters/accept' - name: xid in: query description: Identity string as returned by /identity GET api schema: type: string example: '2521328045094711779817' - name: nsid in: query description: namespace id schema: type: integer example: 411 - name: namespace in: query description: namespace code schema: type: string example: adcloud - name: id in: query description: Id in given namespace schema: type: string example: '2521328045094711779817' - name: graph-type in: query description: Graph type (output type) you want to get the cluster from schema: type: string enum: - pdg - coop - psr example: pdg responses: '200': description: OK headers: content-type: description: Response is a JSON document with UTF-8 encoding x-summary: Success - Cluster Member Data Retrieved schema: type: string default: application/json;charset=utf-8 cache-control: description: caching policy for response schema: type: string default: no-cache content: application/json: schema: $ref: '#/components/schemas/ClusterMembers' examples: xid: summary: using xid value: version: 1.1.0 clusters: - xid: HHDAHDKYYD members: - HHDAHDKYYD - HHDAHDKABD unprocessedRecords: [] algo_type: STITCH_ALL nsid: summary: using nsid and id value: version: 1.1.0 clusters: - compositeXid: nsid: 411 id: '2521328045094711779817' members: - nsid: 6 id: johnDoe@adobe.com - nsid: 411 id: '2521328045094711779817' unprocessedRecords: [] algo_type: STITCH_ALL namespace: summary: using namespace and id value: version: 1.1.0 clusters: - compositeXid: namespace: adcloud id: '2521328045094711779817' members: - namespace: adcloud id: '2521328045094711779817' - namespace: Email id: johnDoe@adobe.com unprocessedRecords: [] algo_type: STITCH_ALL '400': description: Bad Request from the client x-summary: Bad Request - Invalid Input Provided headers: content-type: description: Response is a JSON document with UTF-8 encoding schema: type: string default: application/json;charset=utf-8 cache-control: description: caching policy for response schema: type: string default: no-cache content: application/json: schema: type: object properties: title: type: string example: InvalidInput status: type: integer example: 400 description: type: string example: 'The IMS Org ABC123@AdobeOrg is not provisioned for private device graph. ' '401': description: IMS token is missing required scope. x-summary: Unauthorized - required scope missing headers: content-type: description: Response is a JSON document with UTF-8 encoding schema: type: string default: application/json;charset=utf-8 cache-control: description: caching policy for response schema: type: string default: no-cache content: application/json: schema: type: object properties: title: type: string example: UnauthorizedAccessInvalidScope status: type: integer example: 401 description: type: string example: 'Token does not have valid scope. Either ''acp_core_identity'' scope or ''acp_foundation'' scope is required ' '403': description: Insufficient permissions x-summary: Unauthorized - Missing Permissions headers: content-type: description: Response is a JSON document with UTF-8 encoding schema: type: string default: application/json cache-control: description: caching policy for response schema: type: string default: no-cache content: application/json: schema: $ref: '#/components/schemas/ServiceErrorStatus' example: type: https://ns.adobe.com/aep/errors/UIS-4064-403 status: 403 title: Insufficient permissions detail: 'The authorization token provided in the request does not have the permissions to access: READ IdentityGraph. Please contact your system administrator to fix this issue. ' report: tenantInfo: imsOrgId: 09A55EBC5639E6017F000101@AdobeOrg, sandboxId: 8129954a-fa83-43ba-a995-4bfa8373ba2b, sandboxName: Prod additionalContext: null errorChain: [] '429': description: Request rate is large x-summary: Too Many Requests - Rate Limit Exceeded content: application/json: schema: type: object properties: title: type: string example: RequestRateTooLarge status: type: integer example: 429 description: type: string example: Request rate is large. Please try again later. '500': description: Unexpected Internal application error x-summary: Server Error - Unexpected Internal Error content: application/json: schema: type: object properties: title: type: string example: InternalServerError status: type: integer example: 500 description: type: string example: 'An unexpected internal error occurred in the server. This might indicate a problem with the request, or might indicate a problem in the server side code. ' /identity/clusters/members: post: deprecated: true tags: - Cluster summary: List linked identities for a list of identities description: 'This endpoint has been deprecated. Use /identity/v2/graph to retrieve the related XIDs for a given list of XIDs.

Given set of identities, returns all linked identities in cluster corresponding to each identity ' operationId: getListOfClusterMembers parameters: - $ref: '#/components/parameters/authorization' - $ref: '#/components/parameters/x-api-key' - $ref: '#/components/parameters/x-gw-ims-org-id' - $ref: '#/components/parameters/x-sandbox-name' - $ref: '#/components/parameters/x-uis-cst-ctx' - $ref: '#/components/parameters/x-request-id' - $ref: '#/components/parameters/accept' - $ref: '#/components/parameters/content-type' requestBody: description: List of ID's for which we need to find related IDs content: application/json: schema: type: array items: $ref: '#/components/schemas/ListOfIdentity' examples: xids: summary: using xids value: xids: - HHDAHDKYYD - WTCpVgAAAFq14FMF compositeXids: summary: using compositeXids value: compositeXids: - nsid: 411 id: '2521328045094711779817' compositeXidsWithNamespace: summary: using compositeXidsWithNamespace value: compositeXidsWithNamespace: - namespace: adcloud id: '2521328045094711779817' required: true responses: '200': description: OK x-summary: Successful response headers: content-type: description: Response is a JSON document with UTF-8 encoding schema: type: string default: application/json;charset=utf-8 cache-control: description: caching policy for response schema: type: string default: no-cache content: application/json: schema: $ref: '#/components/schemas/ClusterMembers' examples: xids: summary: using xids value: version: 1.1.0 clusters: - xid: HHDAHDKYYD members: - HHDAHDKYYD - HHDAHDKABD - xid: WTCpVgAAAFq14FMF members: [] unprocessedRecords: [] algo_type: STITCH_ALL compositeXids: summary: using compositeXids value: version: 1.1.0 clusters: - compositeXid: nsid: 411 id: '2521328045094711779817' members: - nsid: 6 id: johnDoe@adobe.com - nsid: 411 id: '2521328045094711779817' unprocessedRecords: [] algo_type: STITCH_ALL compositeXidsWithNamespace: summary: using compositeXidsWithNamespace value: version: 1.1.0 clusters: - compositeXid: namespace: adcloud id: '2521328045094711779817' members: - namespace: adcloud id: '2521328045094711779817' - namespace: Email id: johnDoe@adobe.com unprocessedRecords: [] algo_type: STITCH_ALL '400': description: Bad Request from the client x-summary: Bad request headers: content-type: description: Response is a JSON document with UTF-8 encoding schema: type: string default: application/json;charset=utf-8 cache-control: description: caching policy for response schema: type: string default: no-cache content: application/json: schema: type: object properties: title: type: string example: InvalidInput status: type: integer example: 400 description: type: string example: 'The IMS Org ABC123@AdobeOrg is not provisioned for private device graph. ' '401': description: IMS token is missing required scope. x-summary: Unauthorized access headers: content-type: description: Response is a JSON document with UTF-8 encoding schema: type: string default: application/json;charset=utf-8 cache-control: description: caching policy for response schema: type: string default: no-cache content: application/json: schema: type: object properties: title: type: string example: UnauthorizedAccessInvalidScope status: type: integer example: 401 description: type: string example: 'Token does not have valid scope. Either ''acp_core_identity'' scope or ''acp_foundation'' scope is required ' '403': description: Insufficient permissions x-summary: Unauthorized - Missing Permissions headers: content-type: description: Response is a JSON document with UTF-8 encoding schema: type: string default: application/json cache-control: description: caching policy for response schema: type: string default: no-cache content: application/json: schema: $ref: '#/components/schemas/ServiceErrorStatus' example: type: https://ns.adobe.com/aep/errors/UIS-4064-403 status: 403 title: Insufficient permissions detail: 'The authorization token provided in the request does not have the permissions to access: READ IdentityGraph. Please contact your system administrator to fix this issue. ' report: tenantInfo: imsOrgId: 09A55EBC5639E6017F000101@AdobeOrg, sandboxId: 8129954a-fa83-43ba-a995-4bfa8373ba2b, sandboxName: Prod additionalContext: null errorChain: [] '429': description: Request rate is large x-summary: Too many requests content: application/json: schema: type: object properties: title: type: string example: RequestRateTooLarge status: type: integer example: 429 description: type: string example: Request rate is large. Please try again later. '500': description: Unexpected Internal application error x-summary: Internal server error content: application/json: schema: type: object properties: title: type: string example: InternalServerError status: type: integer example: 500 description: type: string example: 'An unexpected internal error occurred in the server. This might indicate a problem with the request, or might indicate a problem in the server side code. ' x-codegen-request-body-name: body components: schemas: ClusterMembers: type: object properties: clusters: type: array items: $ref: '#/components/schemas/Cluster' unprocessedRecords: type: array items: oneOf: - $ref: '#/components/schemas/Id' - $ref: '#/components/schemas/CompositeXid' version: type: string ServiceErrorStatus: type: object properties: title: type: string description: A short, human-readable summary of the problem type status: type: integer description: HTTP error code describing the problem detail: type: string description: 'A human-readable explanation specific to this occurrence of the problem ' type: type: string description: Link to error type reason: type: string description: A short, human-readable summary of the problem type message: type: string description: 'A human-readable explanation specific to this occurrence of the problem ' report: type: object properties: tenantInfo: description: Sandbox details type: object properties: imsOrgId: type: string sandboxId: type: string sandboxName: type: string additionalContext: description: Additional details relevant to the error. type: object properties: userId: type: string errorChain: description: Where multiple errors occurred leading up to the returned response, additional errors are included in this field. type: array items: type: object properties: serviceId: type: string errorCode: type: string invokingServiceId: type: string errorMessage: type: string unixTimeStampMs: type: integer CompositeXid: type: object properties: nsid: type: string description: namespace id. present in the response if the request did not contain xid namespace: type: string description: namespace code. present in the response if the request did not contain xid or nsid id: type: string description: Id in given namespace Id: type: string description: Identity string as returned by /identity/identity GET api. Cluster: type: object properties: xid: $ref: '#/components/schemas/Id' compositeXid: $ref: '#/components/schemas/CompositeXid' members: type: array items: oneOf: - $ref: '#/components/schemas/Id' - $ref: '#/components/schemas/CompositeXid' ListOfIdentity: type: object properties: xids: type: array description: Primary parameter for the list of IDs to query. items: $ref: '#/components/schemas/Id' compositeXids: type: array description: 'Secondary parameter for the list of IDs to query. Is ignored if xids is also present in the request. ' items: type: object properties: nsid: type: string description: namespace id example: 411 id: type: string description: Id in given namespace example: '2521328045094711779817' compositeXidsWithNamespace: type: array description: 'Tertiary parameter for the list of IDs to query. Is ignored if either xids or compositeXids are also present in the request. ' items: type: object properties: namespace: type: string description: namespace code example: adcloud id: type: string description: Id in given namespace example: '2521328045094711779817' graph-type: type: string version: type: string parameters: accept: name: Accept in: header description: The version of the resource's representation. schema: type: string default: application/json authorization: name: Authorization in: header description: 'The access token which can be copied from your Experience Platform integration, prefixed with "Bearer ". For more information on how to obtain this value, visit the [authentication tutorial](http://www.adobe.com/go/platform-api-authentication-en). ' required: true schema: type: string content-type: name: Content-Type in: header description: The type of content being sent in the request. Use 'application/json'. required: true schema: type: string default: application/json x-uis-cst-ctx: name: x-uis-cst-ctx in: header description: Customer context to be used for stub response. schema: type: string example: stub x-request-id: name: x-request-id in: header description: Request id to be used for tracing this request. schema: type: string x-api-key: name: x-api-key in: header description: 'The API key which can be copied from your Experience Platform integration. For more information on how to obtain this value, visit the [authentication tutorial](http://www.adobe.com/go/platform-api-authentication-en). ' required: true schema: type: string x-gw-ims-org-id: name: x-gw-ims-org-id in: header description: 'The Organization ID which can be copied from your Experience Platform integration. For more information on how to obtain this value, visit the [authentication tutorial](http://www.adobe.com/go/platform-api-authentication-en). ' required: true schema: type: string x-sandbox-name: name: x-sandbox-name in: header description: 'The the all-lowercase name of the sandbox the operation will take place in. If unspecified, falls back to the default production sandbox (usually "prod"). See the [sandboxes overview](https://adobe.com/go/sandbox-overview-en) for more information. ' schema: type: string example: prod x-original-swagger-version: '2.0'