openapi: 3.1.0 info: title: Adobe Experience Platform Data Collection Builds Edge Network API API description: The Data Collection APIs provide endpoints for sending data directly to the Adobe Experience Platform Edge Network. The Edge Network API supports both authenticated and non-authenticated data ingestion, while the Media Edge API enables media tracking data transmission. These APIs allow real-time data collection from web, mobile, and IoT devices. version: 2.0.0 contact: name: Adobe Developer Support url: https://experienceleague.adobe.com/?support-solution=Experience+Platform license: name: Adobe Terms of Service url: https://www.adobe.com/legal/terms.html termsOfService: https://www.adobe.com/legal/terms.html servers: - url: https://edge.adobedc.net description: Adobe Edge Network Non-Authenticated Server - url: https://server.adobedc.net description: Adobe Edge Network Authenticated Server tags: - name: Edge Network API description: Send event data directly to the Adobe Experience Platform Edge Network. Supports both interactive (interact) and non-interactive (collect) data collection with authenticated and non-authenticated modes. paths: /ee/v2/interact: post: operationId: interact summary: Send Interactive Event description: Send a single event to the Adobe Experience Platform Edge Network and receive a response with personalization decisions, identity stitching, and other real-time results. This endpoint does not support batch events; use the collect endpoint for multiple events. tags: - Edge Network API parameters: - $ref: '#/components/parameters/datastreamId' - $ref: '#/components/parameters/requestId' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/InteractRequest' examples: InteractRequestExample: summary: Default interact request x-microcks-default: true value: event: xdm: identityMap: example_value eventType: example_value web: {} commerce: {} timestamp: '2026-01-15T10:30:00Z' data: example_value responses: '200': description: Successful response with personalization decisions and service responses. content: application/json: schema: $ref: '#/components/schemas/InteractResponse' examples: Interact200Example: summary: Default interact 200 response x-microcks-default: true value: requestId: '500123' handle: - type: example_value payload: - {} eventIndex: 10 '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '408': $ref: '#/components/responses/RequestTimeout' '429': $ref: '#/components/responses/TooManyRequests' '500': $ref: '#/components/responses/InternalServerError' '502': $ref: '#/components/responses/BadGateway' '503': $ref: '#/components/responses/ServiceUnavailable' '504': $ref: '#/components/responses/GatewayTimeout' security: - {} - bearerAuth: [] apiKey: [] orgId: [] x-microcks-operation: delay: 0 dispatcher: FALLBACK /ee/v2/collect: post: operationId: collect summary: Send Batch Events description: Send one or more events to the Adobe Experience Platform Edge Network for non-interactive data collection. Supports batch processing of multiple events in a single request. Use the silent query parameter to receive a 204 response with no payload. tags: - Edge Network API parameters: - $ref: '#/components/parameters/datastreamId' - $ref: '#/components/parameters/requestId' - name: silent in: query schema: type: boolean description: When true, returns 204 No Content with an empty payload instead of the standard response. example: true requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CollectRequest' examples: CollectRequestExample: summary: Default collect request x-microcks-default: true value: events: - data: example_value responses: '202': description: Events accepted for processing. content: application/json: schema: $ref: '#/components/schemas/CollectResponse' examples: Collect202Example: summary: Default collect 202 response x-microcks-default: true value: requestId: '500123' '204': description: Events accepted (silent mode). No response body. '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '408': $ref: '#/components/responses/RequestTimeout' '429': $ref: '#/components/responses/TooManyRequests' '500': $ref: '#/components/responses/InternalServerError' '502': $ref: '#/components/responses/BadGateway' '503': $ref: '#/components/responses/ServiceUnavailable' '504': $ref: '#/components/responses/GatewayTimeout' security: - {} - bearerAuth: [] apiKey: [] orgId: [] x-microcks-operation: delay: 0 dispatcher: FALLBACK components: responses: Forbidden: description: Insufficient permissions to access the resource. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' RequestTimeout: description: The request timed out. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' ServiceUnavailable: description: The service is temporarily unavailable. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' InternalServerError: description: An unexpected server error occurred. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' BadRequest: description: The request was malformed or invalid. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' Unauthorized: description: Authentication credentials are missing or invalid. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' GatewayTimeout: description: The upstream server did not respond in time. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' BadGateway: description: The server received an invalid response from an upstream server. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' TooManyRequests: description: Rate limit exceeded. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' schemas: InteractRequest: type: object required: - event properties: event: type: object required: - xdm properties: xdm: $ref: '#/components/schemas/XDMEvent' data: type: object description: Custom free-form data that does not map to an XDM schema. Useful for sending additional context or non-XDM data. additionalProperties: true example: example_value ErrorResponse: type: object properties: type: type: string format: uri example: https://www.example.com status: type: integer example: 10 title: type: string example: Example Title detail: type: string example: example_value report: type: object properties: errors: type: array items: type: string example: example_value CollectRequest: type: object required: - events properties: events: type: array description: An array of events to send to the Edge Network. items: type: object required: - xdm properties: xdm: $ref: '#/components/schemas/XDMEvent' data: type: object description: Custom free-form data. additionalProperties: true example: [] InteractResponse: type: object properties: requestId: type: string description: The unique identifier for this request. example: '500123' handle: type: array description: Array of service response handles. items: type: object properties: type: type: string description: The handle type (e.g., locationHint:result, state:store, personalization:decisions, identity:result). payload: type: array items: type: object additionalProperties: true eventIndex: type: integer example: [] XDMEvent: type: object description: An Experience Data Model (XDM) event object. properties: identityMap: type: object description: A map of identity namespaces to arrays of identity objects for cross-device identity stitching. additionalProperties: type: array items: type: object properties: id: type: string description: The identity value. authenticatedState: type: string enum: - ambiguous - authenticated - loggedOut primary: type: boolean example: example_value eventType: type: string description: The type of event (e.g., web.webpagedetails.pageViews, commerce.productViews, commerce.purchases). example: example_value web: type: object description: Web-specific event data. properties: webPageDetails: type: object properties: URL: type: string format: uri name: type: string isHomePage: type: boolean webReferrer: type: object properties: URL: type: string format: uri example: example_value commerce: type: object description: Commerce-specific event data. properties: purchases: type: object properties: value: type: number productViews: type: object properties: value: type: number order: type: object properties: purchaseID: type: string currencyCode: type: string priceTotal: type: number productListItems: type: array items: type: object properties: SKU: type: string name: type: string quantity: type: integer priceTotal: type: number example: example_value timestamp: type: string format: date-time description: The ISO 8601 timestamp of the event. example: '2026-01-15T10:30:00Z' CollectResponse: type: object properties: requestId: type: string description: The unique identifier for this request. example: '500123' parameters: datastreamId: name: datastreamId in: query required: true schema: type: string description: The ID of the datastream configured in Adobe Experience Platform for data routing and processing. requestId: name: requestId in: query schema: type: string description: An optional external request tracing ID. If not provided, the Edge Network generates one automatically. securitySchemes: bearerAuth: type: http scheme: bearer description: OAuth 2.0 access token for authenticated data collection via server.adobedc.net. apiKey: type: apiKey in: header name: x-api-key description: Client ID credential from Adobe Developer Console. orgId: type: apiKey in: header name: x-gw-ims-org-id description: Adobe Organization ID.