---
title: "Start a progressive rollout"
method: POST
path: "/api/v2/feature-flags/exposure-schedules/{exposure_schedule_id}/start"
tags: ["Feature Flags"]
---

# Start a progressive rollout

`POST /api/v2/feature-flags/exposure-schedules/{exposure_schedule_id}/start`

## Request

- Base URL: `https://api.datadoghq.com`
- URL: `https://api.datadoghq.com/api/v2/feature-flags/exposure-schedules/{exposure_schedule_id}/start`
- Auth: API key in header `DD-API-KEY` and API key in header `DD-APPLICATION-KEY`

Starts a progressive rollout and begins progression.

## Path parameters

- `exposure_schedule_id` string, uuid, required

## Response `200`

OK

- AllocationExposureScheduleResponse: Response containing a progressive rollout schedule.
  - `data` AllocationExposureScheduleData, required: Data wrapper for progressive rollout schedule responses.
    - `attributes` AllocationExposureSchedule, required: Progressive release details for a targeting rule allocation.
      - `absolute_start_time` string, date-time, nullable: The absolute UTC start time for this schedule.
      - `allocation_id` string, uuid, required: The targeting rule allocation ID this progressive rollout belongs to.
      - `control_variant_id` string, nullable: The control variant ID used for experiment comparisons.
      - `created_at` string, date-time, required: The timestamp when the schedule was created.
      - `guardrail_triggered_action` string, nullable: Last guardrail action triggered for this schedule.
      - `guardrail_triggers` AllocationExposureGuardrailTrigger[], required: Guardrail trigger records for this schedule.
        - `allocation_exposure_schedule_id` string, uuid, required: The progressive rollout ID this trigger belongs to.
        - `created_at` string, date-time, required: The timestamp when this trigger was created.
        - `flagging_variant_id` string, uuid, required: The variant ID that triggered this event.
        - `id` string, uuid, required: The unique identifier of the guardrail trigger.
        - `metric_id` string, required: The metric ID associated with the trigger.
        - `triggered_action` string, required: The action that was triggered.
        - `updated_at` string, date-time, required: The timestamp when this trigger was last updated.
      - `id` string, uuid: The unique identifier of the progressive rollout.
      - `rollout_options` RolloutOptions, required: Applied progression options for a progressive rollout.
        - `autostart` boolean, required: Whether the schedule starts automatically.
        - `selection_interval_ms` integer, required: Interval in milliseconds for uniform interval strategies.
        - `strategy` 'UNIFORM_INTERVALS' | 'NO_ROLLOUT', required: The progression strategy used by a progressive rollout.
      - `rollout_steps` AllocationExposureRolloutStep[], required: Ordered progression steps for exposure.
        - `allocation_exposure_schedule_id` string, uuid, required: The progressive rollout ID this step belongs to.
        - `created_at` string, date-time, required: The timestamp when the progression step was created.
        - `exposure_ratio` number, double, required: The exposure ratio for this step.
        - `grouped_step_index` integer, required: Logical index grouping related steps.
        - `id` string, uuid, required: The unique identifier of the progression step.
        - `interval_ms` integer, nullable: Step duration in milliseconds.
        - `is_pause_record` boolean, required: Whether this step represents a pause record.
        - `order_position` integer, required: Sort order for the progression step.
        - `updated_at` string, date-time, required: The timestamp when the progression step was last updated.
      - `updated_at` string, date-time, required: The timestamp when the schedule was last updated.
    - `id` string, uuid, required: The unique identifier of the progressive rollout.
    - `type` 'allocation_exposure_schedules', required: The resource type for progressive rollout schedules.

## Other responses

- `400`: Bad Request
- `403`: Forbidden
- `404`: Not Found
- `409`: Conflict
- `429`: Too many requests

---

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