Experience Events

GenStudio Events notify your application whenever an approved Experience is created, has its metadata updated, or is deleted. Subscribe once through Adobe I/O Events, and your integration reacts in near real time instead of polling the GenStudio API.

Events are intentionally lean: they tell you what happened and give you enough context to decide whether to act. When you need the full Experience — fields, variants, asset URLs — use the event's selfLink, or call GET /experiences/{experienceId} directly using the experienceId from the event.

Overview

GenStudio Events are delivered through Adobe I/O Events, Adobe's shared eventing platform. The provider is registered as GenStudio Events, and every event uses the CloudEvents v1.0 envelope.

  1. An approved Experience is created, updated, or deleted in GenStudio.
  2. GenStudio publishes a CloudEvents-formatted event to Adobe I/O Events.
  3. Adobe I/O Events delivers the event to every subscriber, by webhook, Journaling API, or Amazon EventBridge, according to their registration.
  4. Your application reads the event and, if it needs more than the event carries, calls the GenStudio API for the full record.

Event types

Event code
Display name
Emitted when
com.adobe.genstudio.experience.created
Experience Created
An approved Experience is created
com.adobe.genstudio.experience.metadataUpdated
Experience Metadata Updated
Metadata fields of an approved Experience are updated
com.adobe.genstudio.experience.deleted
Experience Deleted
An Experience is deleted

Only approved (published) Experiences generate events. Draft and rejected Experiences do not.

Event envelope

Every event uses the CloudEvents v1.0 envelope:

{
  "specversion": "1.0",
  "id": "<uuid>",
  "source": "urn:adobe:genstudio:content",
  "type": "com.adobe.genstudio.experience.<event>",
  "datacontenttype": "application/json",
  "dataschema": "https://ns.adobe.com/schemas/genstudio/events/com.adobe.genstudio.experience.<event>",
  "time": "<ISO 8601 timestamp>",
  "subject": "<experienceId>",
  "data": { }
}
Field
Description
id
Unique event ID. Use it to deduplicate — delivery is at-least-once, so you may receive the same event more than once.
type
The event code, one of the three listed above.
dataschema
A stable URI identifying the shape of data for this event code.
time
When the event was emitted.
subject
The experienceId the event is about.
data
The event payload — see below.

The GenStudio API is additive-only: new optional fields may be added to data over time. Design your integration to ignore unknown fields so it keeps working as the payload grows.

Event payloads

experience.created and experience.metadataUpdated

Both events carry the same shape — a summary of the Experience:

{
  "experienceId": "urn:aaid:aem:<uuid>",
  "orgId": "<IMS Org ID>",
  "createdAt": "2026-06-01T12:00:00.000Z",
  "modifiedAt": "2026-06-01T12:00:00.000Z",
  "title": "Example Experience",
  "channel": "linkedin",
  "keywords": ["image", "text"],
  "brands": [{"name": "Acme"}],
  "personas": [{"name": "Active Lifestyle Enthusiast"}],
  "products": [{"name": "Trail Runner Pro"}],
  "campaigns": [],
  "languages": ["en_US"],
  "selfLink": "https://genstudio.adobe.io/experiences/urn:aaid:aem:<uuid>"
}

selfLink points directly at the Experience — call it (with your OAuth Server-to-Server credentials) to retrieve the full record, including fields, variants, and asset URLs. See Authentication and the API Reference.

experience.deleted

A deleted Experience can no longer be read back, so this event carries only the minimum needed to identify what was removed:

{
  "experienceId": "urn:aaid:aem:<uuid>",
  "orgId": "<IMS Org ID>"
}

Freshness

The GenStudio API is eventually consistent, so a GET /experiences/{experienceId} call made immediately after an event may briefly return stale data. If this matters for your use case, compare modifiedAt from the event's data against modifiedAt in the GET response, and retry the GET if the response is older than the event.

Delivery characteristics

Subscribe to GenStudio Events

  1. Visit https://developer.adobe.com/console/projects and create or open a project.

  2. Press Add to Project and then Event. This opens the Add Events dialog.

  3. Select GenStudio Events from the list of available providers.

  4. Select the event types you want to receive (Experience Created, Experience Metadata Updated, Experience Deleted).

  5. Choose an OAuth Server-to-Server credential (or create one) for the registration.

  6. Provide a name and description for your event registration.

  7. Choose how to consume the events:

    • Adobe I/O Events Webhooks — receive events as HTTP POST requests to a URL you control.
    • Adobe I/O Journaling API — pull events at your own cadence.
    • Amazon EventBridge — route events into your AWS account.

For debugging, GenStudio events arriving for your organization appear in the Event Browser tab of your registration, where you can inspect delivery status and payloads.

For general background on consuming Adobe I/O Events, see Introduction to Adobe I/O Events Webhooks and Introduction to Journaling.