Fetch Experience List

List experiences

Retrieve a paginated list of experiences.

The response includes experiencesList plus the pagination fields page, limit, total, and totalPages.

Query Parameters

All query parameters are optional.

  • limit — integer, defaults to 20
  • page — integer (minimum 1), defaults to 1
  • status — one of started, paused, ended, pending
  • category — one of experiment, personalization
  • module — filter by modification type, one of content, checkout, postPurchase, pricing, merchandising, shipping. Category-agnostic; omit to return all modules.

offset is not supported for this endpoint. Pagination is page-based (page + limit).

Each list item includes history — raw user-action records with broad action types (saveExperience, duplicateExperience, archiveCampaign, etc.) and full user objects.

List items also include experienceActions for lifecycle-only events (start, pause, end, delete, reset), but on this endpoint each entry carries only id, experienceId, action, and actionTs — the performedBy email is not resolved here. To get the performing user's email, call GET /experiences/{experienceId}, whose experienceActions entries include performedBy. For config-deploy diffs, see ?includeChangeLog=true on GET /experiences/{experienceId}.

Field differences vs GET /experiences/{experienceId}

List items omit: experienceCustomMetrics, experienceIntegrations, experienceKeyMetrics, shippingTestMethodDefinitions, and shippingCarrierProvider.

List items additionally include: hasSchedule and history, neither of which appears on the single-experience response. hasSchedule is a boolean flag only — the external API never returns the schedules themselves, and includeSchedules is not an accepted query parameter here (it is ignored if sent).

variations is present on both, but list items carry a reduced variation shape.

experienceAnalysis is nullable on list items — an experience with no analysis record returns null here, whereas GET /experiences/{experienceId} always returns the object.

Rate Limit: 50 requests per 30s window, refilling 25 tokens every 30s.

get/v25-10-beta/experiences-list

Request

Query parameters

category'experiment' | 'personalization'

Filter by experience category. Omit to return all categories.

module'content' | 'checkout' | 'postPurchase' | 'pricing' | 'merchandising' | 'shipping'

Filter by modification type / module (content, checkout, postPurchase, pricing, merchandising, shipping). Category-agnostic. Omit to return all modules.

status'pending' | 'started' | 'ended' | 'paused'

Filter by lifecycle status. Omit to return all statuses.

limitinteger

Maximum number of experiences per page.

pageinteger

1-based page number for paginated results.

Response

OK

pagenumber required

1-based page number returned for this result set.

limitnumber required

Maximum number of experiences requested per page.

totalnumber required

Total number of matching experiences across all pages.

totalPagesnumber required

Total number of pages available for the current limit.

Changes

No recorded changes to this operation across all 1 revision of this API.