---
title: "Lists experiments for a universe."
method: GET
path: "/creator-configs-public-api/v1/experimentation/universes/{universeId}/experiments"
tags: ["Experiments"]
---

# Lists experiments for a universe.

`GET /creator-configs-public-api/v1/experimentation/universes/{universeId}/experiments`

## Request

- Base URL: `https://apis.roblox.com`
- URL: `https://apis.roblox.com/creator-configs-public-api/v1/experimentation/universes/{universeId}/experiments`
- Auth: one of:
  - API key in cookie `.ROBLOSECURITY`
  - API key in header `x-api-key`
  - OAuth 2
    - Authorization code: `https://apis.roblox.com/oauth/v1/authorize`
    - Token URL: `https://apis.roblox.com/oauth/v1/token` scopes: `universe:read`

Pagination is offset-based (`maxPageSize` + `skip`). The response carries the page slice plus the unpaginated total
matching the filters. Request includes optional pagination, search, and filters.

## Path parameters

- `universeId` integer, required

## Query parameters

- `maxPageSize` integer
- `skip` integer
- `searchKey` string
- `stateFilters` ExperimentState[]
- `sortOrder` 'SORT_ORDER_ASCENDING' | 'SORT_ORDER_DESCENDING': Sort direction for list queries. SORT_ORDER_ASCENDING SORT_ORDER_DESCENDING
- `sortKey` 'LIST_EXPERIMENT_SORT_KEY_NAME' | 'LIST_EXPERIMENT_SORT_KEY_LAST_MODIFIED_TIME' | 'LIST_EXPERIMENT_SORT_KEY_START_TIME' | 'LIST_EXPERIMENT_SORT_KEY_RELEVANCE': Key to sort an experiment list by. LIST_EXPERIMENT_SORT_KEY_NAME LIST_EXPERIMENT_SORT_KEY_LAST_MODIFIED_TIME LIST_EXPERIMENT_SORT_KEY_START_TIME LIST_EXPERIMENT_SORT_KEY_RELEVANCE
- `productTypeFilter` 'EXPERIMENT_PRODUCT_TYPE_IN_GAME_CONFIGS' | 'EXPERIMENT_PRODUCT_TYPE_MATCHMAKING': Type of product the experiment is targeting. EXPERIMENT_PRODUCT_TYPE_IN_GAME_CONFIGS EXPERIMENT_PRODUCT_TYPE_MATCHMAKING

## Response `200`

OK

- ListExperimentsResponse: Response body for `GET /v1/experimentation/universes/{universeId}/experiments`.
  - `experiments` ExperimentSummary[], nullable: The page of experiments matching the query.
    - `id` string, nullable: Experiment ID.
    - `name` string, nullable: Experiment display name.
    - `description` string, nullable: Experiment description.
    - `createdTime` string, date-time: UTC time the experiment was created.
    - `lastUpdatedTime` string, date-time, nullable: UTC time the experiment was last updated.
    - `startedTime` string, date-time, nullable: UTC time the experiment was started, if running.
    - `stoppedTime` string, date-time, nullable: UTC time the experiment was stopped, if completed/cancelled.
    - `state` 'EXPERIMENT_STATE_DRAFT' | 'EXPERIMENT_STATE_SCHEDULED' | 'EXPERIMENT_STATE_RUNNING' | 'EXPERIMENT_STATE_COMPLETED' | 'EXPERIMENT_STATE_CANCELLED' | 'EXPERIMENT_STATE_DELETED': Lifecycle state of an experiment. EXPERIMENT_STATE_DRAFT EXPERIMENT_STATE_SCHEDULED EXPERIMENT_STATE_RUNNING EXPERIMENT_STATE_COMPLETED EXPERIMENT_STATE_CANCELLED EXPERIMENT_STATE_DELETED
    - `createdBy` string, nullable: User ID of the creator of the experiment.
    - `experimentConfigKey` string, nullable: Convenience field exposing the first config key referenced by the first variant (in-game-configs experiments only). Empty for matchmaking.
    - `scheduledTime` string, date-time, nullable: UTC time the experiment is scheduled to start, if scheduled.
    - `durationSeconds` integer: Planned experiment duration in whole seconds.
    - `productType` 'EXPERIMENT_PRODUCT_TYPE_IN_GAME_CONFIGS' | 'EXPERIMENT_PRODUCT_TYPE_MATCHMAKING': Type of product the experiment is targeting. EXPERIMENT_PRODUCT_TYPE_IN_GAME_CONFIGS EXPERIMENT_PRODUCT_TYPE_MATCHMAKING
  - `total` integer: Total number of experiments for the universe matching the filters (independent of pagination).

## Other responses

- `400`: Bad Request
- `401`: Unauthorized
- `404`: Not Found

## Changes

- **2026-10-22** `bcfdc20689cd`: 2 breaking, 3 info
  - for the `query` request parameter `maxPageSize`, the type changed from `string` to `integer`, and format from no format to `int32`
  - for the `query` request parameter `skip`, the type changed from `string` to `integer`, and format from no format to `int32`
  - for the `query` request parameter `productTypeFilter`, the type was generalized from `string` to no type
  - for the `query` request parameter `sortKey`, the type was generalized from `string` to no type
  - …1 more
- **2026-08-19** `1d2042bb1a48`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/roblox/apis/roblox-api/changes/creator-configs-public-api/v1/experimentation/universes/:universeId/experiments/get.md)

---

[API](https://skmtc.dev/roblox/apis/roblox-api.md) - [All operations](https://skmtc.dev/roblox/apis/roblox-api/llms.txt) - [OpenAPI document](https://skmtc.dev/roblox/apis/roblox-api/revisions/bcfdc20689cd?raw)
