Adobe Launch Media Edge API API

Track media playback events through the Adobe Experience Platform Edge Network. Requires the Streaming Media Collection Add-on. Supports session management, play/pause tracking, buffering, and error reporting.

Documentation

Specifications

Schemas & Data

Other Resources

OpenAPI Specification

adobe-launch-media-edge-api-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Adobe Experience Platform Data Collection Builds Media Edge 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: Media Edge API
  description: Track media playback events through the Adobe Experience Platform Edge Network. Requires the Streaming Media Collection Add-on. Supports session management, play/pause tracking, buffering, and error reporting.
paths:
  /ee/va/v1/sessionStart:
    post:
      operationId: mediaSessionStart
      summary: Start a Media Session
      description: Create a new media tracking session. This endpoint initializes a media session and returns a session ID for subsequent media tracking events. Requires the Streaming Media Collection Add-on.
      tags:
      - Media Edge API
      parameters:
      - $ref: '#/components/parameters/datastreamId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MediaSessionStartRequest'
            examples:
              MediasessionstartRequestExample:
                summary: Default mediaSessionStart request
                x-microcks-default: true
                value:
                  events:
                  - xdm:
                      eventType: media.sessionStart
                      mediaCollection: {}
                      timestamp: '2026-01-15T10:30:00Z'
      responses:
        '200':
          description: Media session started successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MediaSessionStartResponse'
              examples:
                Mediasessionstart200Example:
                  summary: Default mediaSessionStart 200 response
                  x-microcks-default: true
                  value:
                    requestId: '500123'
                    handle:
                    - type: example_value
                      payload:
                      - {}
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
      security:
      - bearerAuth: []
        apiKey: []
        orgId: []
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /ee/va/v1/play:
    post:
      operationId: mediaPlay
      summary: Track Media Play Event
      description: Send a play event for an active media tracking session.
      tags:
      - Media Edge API
      parameters:
      - $ref: '#/components/parameters/datastreamId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MediaEventRequest'
            examples:
              MediaplayRequestExample:
                summary: Default mediaPlay request
                x-microcks-default: true
                value:
                  events:
                  - xdm:
                      eventType: example_value
                      mediaCollection: {}
                      timestamp: '2026-01-15T10:30:00Z'
      responses:
        '204':
          description: Play event tracked successfully.
        '400':
          $ref: '#/components/responses/BadRequest'
      security:
      - bearerAuth: []
        apiKey: []
        orgId: []
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /ee/va/v1/ping:
    post:
      operationId: mediaPing
      summary: Track Media Ping Event
      description: Send a periodic ping event to maintain an active media session. Should be sent every 10 seconds during playback.
      tags:
      - Media Edge API
      parameters:
      - $ref: '#/components/parameters/datastreamId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MediaEventRequest'
            examples:
              MediapingRequestExample:
                summary: Default mediaPing request
                x-microcks-default: true
                value:
                  events:
                  - xdm:
                      eventType: example_value
                      mediaCollection: {}
                      timestamp: '2026-01-15T10:30:00Z'
      responses:
        '204':
          description: Ping event tracked successfully.
        '400':
          $ref: '#/components/responses/BadRequest'
      security:
      - bearerAuth: []
        apiKey: []
        orgId: []
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /ee/va/v1/pauseStart:
    post:
      operationId: mediaPauseStart
      summary: Track Media Pause Event
      description: Send a pause start event for an active media tracking session.
      tags:
      - Media Edge API
      parameters:
      - $ref: '#/components/parameters/datastreamId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MediaEventRequest'
            examples:
              MediapausestartRequestExample:
                summary: Default mediaPauseStart request
                x-microcks-default: true
                value:
                  events:
                  - xdm:
                      eventType: example_value
                      mediaCollection: {}
                      timestamp: '2026-01-15T10:30:00Z'
      responses:
        '204':
          description: Pause event tracked successfully.
        '400':
          $ref: '#/components/responses/BadRequest'
      security:
      - bearerAuth: []
        apiKey: []
        orgId: []
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /ee/va/v1/bufferStart:
    post:
      operationId: mediaBufferStart
      summary: Track Media Buffer Start Event
      description: Send a buffer start event for an active media tracking session.
      tags:
      - Media Edge API
      parameters:
      - $ref: '#/components/parameters/datastreamId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MediaEventRequest'
            examples:
              MediabufferstartRequestExample:
                summary: Default mediaBufferStart request
                x-microcks-default: true
                value:
                  events:
                  - xdm:
                      eventType: example_value
                      mediaCollection: {}
                      timestamp: '2026-01-15T10:30:00Z'
      responses:
        '204':
          description: Buffer start event tracked successfully.
        '400':
          $ref: '#/components/responses/BadRequest'
      security:
      - bearerAuth: []
        apiKey: []
        orgId: []
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /ee/va/v1/bitrateChange:
    post:
      operationId: mediaBitrateChange
      summary: Track Media Bitrate Change Event
      description: Send a bitrate change event for an active media tracking session.
      tags:
      - Media Edge API
      parameters:
      - $ref: '#/components/parameters/datastreamId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MediaEventRequest'
            examples:
              MediabitratechangeRequestExample:
                summary: Default mediaBitrateChange request
                x-microcks-default: true
                value:
                  events:
                  - xdm:
                      eventType: example_value
                      mediaCollection: {}
                      timestamp: '2026-01-15T10:30:00Z'
      responses:
        '204':
          description: Bitrate change event tracked successfully.
        '400':
          $ref: '#/components/responses/BadRequest'
      security:
      - bearerAuth: []
        apiKey: []
        orgId: []
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /ee/va/v1/error:
    post:
      operationId: mediaError
      summary: Track Media Error Event
      description: Send an error event for an active media tracking session.
      tags:
      - Media Edge API
      parameters:
      - $ref: '#/components/parameters/datastreamId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MediaErrorRequest'
            examples:
              MediaerrorRequestExample:
                summary: Default mediaError request
                x-microcks-default: true
                value:
                  events:
                  - xdm:
                      eventType: media.error
                      mediaCollection: {}
                      timestamp: '2026-01-15T10:30:00Z'
      responses:
        '204':
          description: Error event tracked successfully.
        '400':
          $ref: '#/components/responses/BadRequest'
      security:
      - bearerAuth: []
        apiKey: []
        orgId: []
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /ee/va/v1/sessionComplete:
    post:
      operationId: mediaSessionComplete
      summary: Complete a Media Session
      description: End an active media tracking session. Indicates the content was watched to completion.
      tags:
      - Media Edge API
      parameters:
      - $ref: '#/components/parameters/datastreamId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MediaEventRequest'
            examples:
              MediasessioncompleteRequestExample:
                summary: Default mediaSessionComplete request
                x-microcks-default: true
                value:
                  events:
                  - xdm:
                      eventType: example_value
                      mediaCollection: {}
                      timestamp: '2026-01-15T10:30:00Z'
      responses:
        '204':
          description: Session completed successfully.
        '400':
          $ref: '#/components/responses/BadRequest'
      security:
      - bearerAuth: []
        apiKey: []
        orgId: []
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /ee/va/v1/sessionEnd:
    post:
      operationId: mediaSessionEnd
      summary: End a Media Session
      description: End a media tracking session. Can be used when the viewer abandons content before completion.
      tags:
      - Media Edge API
      parameters:
      - $ref: '#/components/parameters/datastreamId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MediaEventRequest'
            examples:
              MediasessionendRequestExample:
                summary: Default mediaSessionEnd request
                x-microcks-default: true
                value:
                  events:
                  - xdm:
                      eventType: example_value
                      mediaCollection: {}
                      timestamp: '2026-01-15T10:30:00Z'
      responses:
        '204':
          description: Session ended successfully.
        '400':
          $ref: '#/components/responses/BadRequest'
      security:
      - bearerAuth: []
        apiKey: []
        orgId: []
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
components:
  schemas:
    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
    MediaSessionStartResponse:
      type: object
      properties:
        requestId:
          type: string
          example: '500123'
        handle:
          type: array
          items:
            type: object
            properties:
              type:
                type: string
              payload:
                type: array
                items:
                  type: object
                  properties:
                    sessionId:
                      type: string
                      description: The media session ID for subsequent tracking events.
          example: []
    MediaErrorRequest:
      type: object
      required:
      - events
      properties:
        events:
          type: array
          items:
            type: object
            required:
            - xdm
            properties:
              xdm:
                type: object
                required:
                - eventType
                - mediaCollection
                - timestamp
                properties:
                  eventType:
                    type: string
                    enum:
                    - media.error
                  mediaCollection:
                    type: object
                    required:
                    - playhead
                    - sessionID
                    - errorDetails
                    properties:
                      playhead:
                        type: integer
                      sessionID:
                        type: string
                      errorDetails:
                        type: object
                        properties:
                          name:
                            type: string
                            description: The error name or code.
                          source:
                            type: string
                            enum:
                            - player
                            - external
                            description: The source of the error.
                  timestamp:
                    type: string
                    format: date-time
          example: []
    MediaSessionStartRequest:
      type: object
      required:
      - events
      properties:
        events:
          type: array
          items:
            type: object
            required:
            - xdm
            properties:
              xdm:
                type: object
                required:
                - eventType
                - mediaCollection
                - timestamp
                properties:
                  eventType:
                    type: string
                    enum:
                    - media.sessionStart
                  mediaCollection:
                    type: object
                    required:
                    - sessionDetails
                    - playhead
                    properties:
                      sessionDetails:
                        type: object
                        properties:
                          name:
                            type: string
                            description: The name of the media content.
                          friendlyName:
                            type: string
                            description: Human-readable name for the media.
                          length:
                            type: integer
                            description: The length of the media in seconds.
                          contentType:
                            type: string
                            description: The content type (e.g., vod, live, linear).
                          playerName:
                            type: string
                            description: The name of the media player.
                          channel:
                            type: string
                            description: The distribution channel.
                          hasResume:
                            type: boolean
                            description: Whether this is a resumed session.
                      playhead:
                        type: integer
                        description: The current playhead position in seconds.
                  timestamp:
                    type: string
                    format: date-time
          example: []
    MediaEventRequest:
      type: object
      required:
      - events
      properties:
        events:
          type: array
          items:
            type: object
            required:
            - xdm
            properties:
              xdm:
                type: object
                required:
                - eventType
                - mediaCollection
                - timestamp
                properties:
                  eventType:
                    type: string
                    description: The media event type.
                  mediaCollection:
                    type: object
                    required:
                    - playhead
                    - sessionID
                    properties:
                      playhead:
                        type: integer
                        description: The current playhead position in seconds.
                      sessionID:
                        type: string
                        description: The session ID returned from sessionStart.
                  timestamp:
                    type: string
                    format: date-time
          example: []
  responses:
    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'
  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.
  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.