Adobe Suite Client-to-server collection API

Real-time events originating client-side, such as browsers or mobile devices

Operations 3

POST /v1/interact Interact (non-authenticated)
POST /v1/collect Collect (non-authenticated)
POST /v1/identity/acquire Fetch the identities specified in the passed namespaces.

Documentation

📖
Documentation
https://developer.adobe.com/photoshop/api/docs/
📖
Authentication
https://developer.adobe.com/developer-console/docs/guides/authentication/
📖
Documentation
https://developer.adobe.com/lightroom/api/docs/
📖
Documentation
https://developer.adobe.com/illustrator/api/docs/
📖
Documentation
https://developer.adobe.com/indesign/docs/
📖
Documentation
https://developer.adobe.com/document-services/docs/overview/pdf-services-api/
📖
Documentation
https://developer.adobe.com/document-services/docs/overview/pdf-extract-api/
📖
GettingStarted
https://developer.adobe.com/document-services/docs/overview/pdf-extract-api/gettingstarted/
📖
Documentation
https://developer.adobe.com/document-services/docs/overview/pdf-accessibility-auto-tag-api/
📖
Documentation
https://developer.adobe.com/analytics-apis/docs/
📖
APIReference
https://developer.adobe.com/analytics-apis/docs/2.0/
📖
Documentation
https://developer.adobe.com/firefly-services/docs/
📖
APIReference
https://developer.adobe.com/firefly-services/docs/api/
📖
Documentation
https://developer.adobe.com/audio-video-firefly-services/
📖
GettingStarted
https://developer.adobe.com/audio-video-firefly-services/getting-started/
📖
Documentation
https://developer.adobe.com/creative-cloud-libraries/docs/
📖
APIReference
https://developer.adobe.com/creative-cloud-libraries/docs/api/
📖
Documentation
https://developer.adobe.com/express/embed-sdk/docs/guides/
📖
APIReference
https://developer.adobe.com/express/embed-sdk/docs/v4/
📖
GettingStarted
https://developer.adobe.com/express/embed-sdk/docs/guides/quickstart/
📖
Documentation
https://developer.adobe.com/experience-platform-apis/
📖
GettingStarted
https://experienceleague.adobe.com/en/docs/experience-platform/landing/platform-apis/api-guide
📖
Documentation
https://developer.adobe.com/marketo-apis/
📖
Authentication
https://experienceleague.adobe.com/en/docs/marketo-developer/marketo/rest/authentication
📖
Documentation
https://developer.adobe.com/commerce/docs/
📖
GettingStarted
https://developer.adobe.com/commerce/webapi/get-started/
📖
Documentation
https://developer.adobe.com/experience-cloud/cloud-manager/
📖
Documentation
https://developer.adobe.com/journey-optimizer-apis/
📖
Documentation
https://developer.adobe.com/workfront-apis/
📖
Documentation
https://developer.adobe.com/firefly-services/docs/substance3d/
📖
Documentation
https://developer.adobe.com/data-collection-apis/
📖
Documentation
https://developer.adobe.com/adobe-status/
📖
Documentation
https://developer.adobe.com/vip-marketplace/

Specifications

Other Resources

🔗
Pricing
https://developer.adobe.com/document-services/pricing/
🔗
SDKs
https://developer.adobe.com/document-services/docs/overview/pdf-services-api/sdks/
🔗
ReleaseNotes
https://developer.adobe.com/document-services/docs/overview/pdf-services-api/releasenotes
🔗
Guides
https://developer.adobe.com/analytics-apis/docs/2.0/guides/
🔗
Guides
https://developer.adobe.com/firefly-services/docs/guides/
🔗
Usage Notes
https://developer.adobe.com/audio-video-firefly-services/getting_started/usage/
🔗
Overview
https://developer.adobe.com/creative-cloud-libraries/docs/overview/
🔗
Integration Guide
https://developer.adobe.com/creative-cloud-libraries/docs/integrate/
🔗
API Fundamentals
https://experienceleague.adobe.com/en/docs/experience-platform/landing/platform-apis/api-fundamentals
🔗
Developer Guide
https://experienceleague.adobe.com/en/docs/marketo-developer/marketo/home
🔗
REST API
https://experienceleague.adobe.com/en/docs/marketo-developer/marketo/rest/rest-api
🔗
REST API
https://developer.adobe.com/commerce/webapi/rest/
🔗
GraphQL API
https://developer.adobe.com/commerce/webapi/graphql-api/
🔗
REST API Reference
https://developer.adobe.com/commerce/webapi/reference/rest/paas/
🔗
GraphQL
https://raw.githubusercontent.com/api-evangelist/adobe-suite/refs/heads/main/graphql/adobe-suite-graphql.md
🔗
Webhooks
https://developer.adobe.com/experience-cloud/cloud-manager/guides/getting-started/create-event-integration/
🔗
StatusPage
https://status.adobe.com/

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/adobe-suite-client-to-server-collection-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

adobe-suite-client-to-server-collection-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  description: API reference for the Adobe Experience Platform Edge Network API.
  version: 1.0.0
  title: Adobe Experience Platform Edge Network Client-to-server collection API
servers:
- url: https://edge.adobedc.net/ee/
  description: Production environment
tags:
- name: Client-to-server collection
  description: Real-time events originating client-side, such as browsers or mobile devices
paths:
  /v1/interact:
    post:
      tags:
      - Client-to-server collection
      summary: Interact (non-authenticated)
      description: Push a single event and expect a response from real-time (interactive) upstreams
      parameters:
      - $ref: '#/components/parameters/configId'
      - $ref: '#/components/parameters/requestId'
      - $ref: '#/components/parameters/requestIdHeader'
      - $ref: '#/components/parameters/fpid'
      requestBody:
        $ref: '#/components/requestBodies/BatchV1RequestPayload'
      responses:
        200:
          description: Successfully processed. The event has been received and processed in order.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InteractResponse'
        400:
          description: Invalid input.
        500:
          description: Internal error.
  /v1/collect:
    post:
      tags:
      - Client-to-server collection
      summary: Collect (non-authenticated)
      description: Push multiple events without expecting a response content. Events can come from different end-users.
      parameters:
      - $ref: '#/components/parameters/configId'
      - $ref: '#/components/parameters/requestId'
      - $ref: '#/components/parameters/requestIdHeader'
      - $ref: '#/components/parameters/fpid'
      requestBody:
        $ref: '#/components/requestBodies/BatchV1RequestPayload'
      responses:
        204:
          description: Successfully processed. All the events have been received and processed in order.
        400:
          description: Invalid input.
        500:
          description: Internal error.
  /v1/identity/acquire:
    post:
      tags:
      - Client-to-server collection
      description: Acquire identity
      summary: Fetch the identities specified in the passed namespaces.
      parameters:
      - $ref: '#/components/parameters/configId'
      - $ref: '#/components/parameters/requestId'
      - $ref: '#/components/parameters/requestIdHeader'
      requestBody:
        $ref: '#/components/requestBodies/IdentityAcquire'
      responses:
        200:
          description: Successfully processed. An identity has been fetched and is present in the response payload.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InteractResponse'
        400:
          description: Invalid input.
        500:
          description: Internal error.
components:
  schemas:
    EventQuery:
      description: Explicit request / Server-side Decisioning Override
      type: object
      properties:
        identity:
          $ref: '#/components/schemas/IdentityQuery'
    IdentityItem:
      description: 'Identity is used to clearly distinguish people that are interacting with digital experiences.

        For more details, see [IdentityItem Schema](https://github.com/adobe/xdm/blob/master/docs/reference/context/identityitem.schema.md).

        '
      type: object
      properties:
        id:
          description: Identity of the consumer in the related namespace.
          type: string
        authenticatedState:
          $ref: '#/components/schemas/AuthenticatedState'
        primary:
          description: Indicates this identity is the preferred identity. Is used as a hint to help systems better organize how identities are queried.
          type: boolean
          default: false
      required:
      - id
    AuthenticatedState:
      description: The state this identity is authenticated as for this observed ExperienceEvent.
      type: string
      enum:
      - ambiguous
      - authenticated
      - loggedOut
      default: ambiguous
    IdentityAcquireRequest:
      description: Request for fetching identities in given namespaces.
      type: object
      properties:
        xdm:
          type: object
          properties:
            identityMap:
              $ref: '#/components/schemas/IdentityMap'
        query:
          type: object
          properties:
            identity:
              $ref: '#/components/schemas/IdentityQuery'
        meta:
          $ref: '#/components/schemas/RequestMetadata'
    StateMetadata:
      description: Client side stored information
      type: object
      properties:
        entries:
          type: array
          items:
            type: object
            properties:
              key:
                type: string
              value:
                type: string
              scope:
                description: 'Differentiate between state that could be shared across applications or web properties

                  (e.g. third-party cookies) and application/web property specific state (e.g. first-party cookies).

                  '
                type: string
                enum:
                - APPLICATION
                - DEVICE
        domain:
          description: The APEX domain that will be used when materializing client-side state in 1st party cookies.
          type: string
      example:
        entries: []
    XdmContextData:
      description: Property that holds the xdm context data
      type: object
      properties:
        identityMap:
          $ref: '#/components/schemas/IdentityMap'
        environment:
          description: 'Information about the surrounding situation the event observation occurred in, specifically detailing

            transitory information such as the network or software versions.

            For more details, see [Environment Schema](https://github.com/adobe/xdm/blob/master/docs/reference/context/environment.schema.md)

            '
          type: object
          additionalProperties: true
          example:
            type: browser
            browserDetails:
              name: Chrome
              version: 63.0.3239
              acceptLanguage: en
              cookiesEnabled: true
              javaScriptEnabled: true
              javaScriptVersion: 1.8.5
              javaEnabled: true
              javaVersion: Java SE 8
              viewportHeight: 900
              viewportWidth: 1680
            colorDepth: 16777216
            viewportHeight: 667
            viewportWidth: 375
        device:
          description: 'An identified device that is an application or browser instance that is trackable across sessions, normally by cookies.

            For more details, see [Device Schema](https://github.com/adobe/xdm/blob/master/docs/reference/context/device.schema.md)

            '
          type: object
          additionalProperties: true
          example:
            typeID: TypeIdentifier-111
            typeIDService: https://ns.adobe.com/xdm/external/deviceatlas
            type: mobile
            manufacturer: Apple
            model: iPhone Xs
            modelNumber: A1586
            screenHeight: 667
            screenWidth: 375
            colorDepth: 16777216
            screenOrientation: portrait
        application:
          description: 'Details related to the application generated interactions. Application refers to a software experience,

            such as a mobile or desktop application that can be installed, run, closed, uninstalled by the end-user.

            For more details, see [Application Schema](https://github.com/adobe/xdm/blob/master/docs/reference/context/application.schema.md)

            '
          type: object
          additionalProperties: true
          example:
            id: A123
            name: Myapp
            version: 1.0.1
            launches:
              value: 1
        placeContext:
          description: 'The transient circumstances related to the place or physical location of the observation.

            Examples include location specific information such as weather, local time, traffic, day of the week, workday vs. holiday, working hours.

            For more details, see [PlaceContext Schema](https://github.com/adobe/xdm/blob/master/docs/reference/context/placecontext.schema.md)

            '
          type: object
          additionalProperties: true
          example:
            localTime: '2001-07-04T12:08:56+01:00'
            localTimezoneOffset: -360
            geo:
              countryCode: JP
              stateProvince: JP-13
              city: Tōkyō
              postalCode: 141-0032
        web:
          description: 'Information recorded via an ExperienceEvent that is specific to the World Wide Web channel,

            including the web page, referrer and/or link related to the on-page interaction.

            For more details, see [WebInfo Schema](https://github.com/adobe/xdm/blob/master/docs/reference/context/webinfo.schema.md).

            '
          type: object
          additionalProperties: true
          example:
            webPageDetails:
              siteSection: Product section
              server: example.com
              name: product home
              URL: https://www.example.com
            webReferrer:
              URL: https://www.adobe.com/index2.html
              type: external
        commerce:
          description: 'The entities related to buying and selling activity. For more details, see

            [Commerce Schema](https://github.com/adobe/xdm/blob/master/docs/reference/context/commerce.schema.md).

            '
          type: object
          additionalProperties: true
          example:
            order:
              purchaseID: '123'
              priceTotal: 100
              currencyCode: USD
            purchases:
              value: 34
    EventHandle:
      description: Details and results for a given event
      type: object
      properties:
        eventIndex:
          description: Encodes the event to which this handle is attached as the index in the events array in EdgeRequest
          type: integer
        type:
          type: string
        payload:
          type: array
          items:
            type: object
            additionalProperties: true
      example:
        eventIndex: 0
        type: state:store
        payload:
        - key: kndctr_53A16ACB5CC1D3760A495C99_AdobeOrg_optout
          value: ''
          maxAge: 7200
      required:
      - type
      - payload
    IdentityMap:
      description: 'Defines a map containing a set of end user identities, keyed on either namespace integration code or the namespace ID of the identity.

        Within each namespace, the identity is unique. The values of the map are an array, meaning that more than one identity of each namespace may be carried.

        For more details, see [IdentityMap Schema](https://github.com/adobe/xdm/blob/master/docs/reference/context/identitymap.schema.md).

        '
      type: object
      additionalProperties:
        type: array
        items:
          $ref: '#/components/schemas/IdentityItem'
      example:
        email:
        - id: john.doe@example.com
          authenticatedState: authenticated
    XdmEventData:
      allOf:
      - type: object
      - $ref: '#/components/schemas/XdmContextData'
      - properties:
          _id:
            description: A unique identifier for the time-series event.
            type: string
          eventMergeId:
            description: An ID to correlate or merge multiple Experience Events together that are essentially the same event or should be merged. This is intended to be populated by the data producer prior to ingestion.
            type: string
            example: 9fb4e78d-b0bf-4d99-b987-cb37abdbcd15
          eventType:
            description: Event type
            type: string
            example: view:load
          timestamp:
            type: string
            format: date-time
            description: The time when an event or observation occurred.
            example: '2017-09-26T15:52:25+00:00'
    InteractResponse:
      type: object
      properties:
        requestId:
          description: The entropy-augmented identifier for this request, in the format `<requestId>-<entropy>` (for example, `708e4f90-5bff-41c5-8f4b-6c15bab76b11-f46e48eb52594815`). If a requestId was supplied in the request it is used as the prefix; otherwise a generated UUID is used. This value always differs from any caller-supplied requestId. Match on the prefix when correlating requests to responses.
          type: string
        handle:
          description: Contains one or multiple handles for each received event
          type: array
          items:
            $ref: '#/components/schemas/EventHandle'
      required:
      - requestId
      - handle
    RequestMetadata:
      description: Metadata passed to solutions and to the API itself with possibility of overriding at event level
      type: object
      properties:
        state:
          $ref: '#/components/schemas/StateMetadata'
    BatchV1Event:
      description: Represents events sent in a batch
      type: object
      properties:
        query:
          $ref: '#/components/schemas/EventQuery'
        xdm:
          $ref: '#/components/schemas/XdmEventData'
        data:
          description: Free form data
          type: object
          additionalProperties:
            type: array
            items:
              type: string
          example:
            key1:
            - value1
            key2:
            - value2
            - value3
    BatchV1Request:
      description: Request for pushing multiple events
      type: object
      properties:
        xdm:
          $ref: '#/components/schemas/XdmContextData'
        query:
          $ref: '#/components/schemas/EventQuery'
        events:
          type: array
          items:
            $ref: '#/components/schemas/BatchV1Event'
        meta:
          $ref: '#/components/schemas/RequestMetadata'
      required:
      - events
    IdentityQuery:
      description: Configures how the Gateway will interact with the Identity Service
      type: object
      properties:
        fetch:
          description: Specifies the namespaces for which identities should be returned
          type: array
          items:
            type: string
        idSyncRespondWithPixel:
          type: boolean
        idSyncRedirectUrl:
          type: string
      example:
        fetch: []
  parameters:
    configId:
      in: query
      name: configId
      schema:
        type: string
        default: '8888888'
      description: The datastream ID. The v1 APIs use configId instead of datastreamId.
      required: true
    requestId:
      in: query
      name: requestId
      schema:
        type: string
        format: uuid
      description: 'Provide an external request tracing ID; it can also be supplied in the x-request-id header.

        The Edge Network always appends a 16-character hex entropy suffix to the provided value (or generates a new UUID if none is provided) to guarantee uniqueness across concurrent requests.

        The returned identifier uses the format `<requestId>-<entropy>` (for example, `708e4f90-5bff-41c5-8f4b-6c15bab76b11-f46e48eb52594815`).

        Because the entropy suffix is always added, the value in the response always differs from the value supplied in the request. When correlating requests to responses, match on the prefix of the returned requestId rather than an exact string match.

        '
      required: false
    fpid:
      in: cookie
      name: FPID
      schema:
        type: string
      description: 'First Party ID value

        '
      required: false
    requestIdHeader:
      in: header
      name: x-request-id
      schema:
        type: string
        format: uuid
      description: 'Alternate way to supply an external request tracing ID (equivalent to the requestId query parameter).

        The Edge Network always appends a 16-character hex entropy suffix to the provided value (or generates a new UUID if none is provided) to guarantee uniqueness across concurrent requests.

        The returned identifier uses the format `<x-request-id>-<entropy>` (for example, `708e4f90-5bff-41c5-8f4b-6c15bab76b11-f46e48eb52594815`).

        Because the entropy suffix is always added, the value in the response always differs from the value supplied in the request. When correlating requests to responses, match on the prefix of the returned requestId rather than an exact string match.

        '
      required: false
  requestBodies:
    IdentityAcquire:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/IdentityAcquireRequest'
    BatchV1RequestPayload:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/BatchV1Request'
        text/plain:
          schema:
            $ref: '#/components/schemas/BatchV1Request'
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: API Access Key
    IMSAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: Should be a valid IMS token for authenticating with the Edge Gateway