v5

latestOpenAPI 3.1.02026-07-31151195455.5 KB
campaigns

Update campaign

Partially updates a campaign. Omitted fields are left unchanged. configuration.query and configuration.reviewer_assignment_policy cannot be updated after create; including either field returns 400. configuration.cron_expression and configuration.recurring_duration_days may only be set on template campaigns; setting them on a one-off campaign returns 400. configuration.is_template is immutable and not accepted on update. Configuration updates on a stopped or ended (non-template) campaign return 400. Name-only updates are still allowed.

put/campaigns/{campaign_id}

Path parameters

campaign_idstring uuid required

The ID of the campaign.

Request body

namestring

The name of the campaign.

Example request

{
  "name": "Q3 Access Review (Updated)",
  "configuration": {
    "end_date": "2026-09-30T00:00:00Z",
    "timezone": "America/Los_Angeles"
  }
}

Response

The updated Campaign.

campaign_idstring uuid required

The ID of the campaign.

namestring required

The name of the campaign.

status'DRAFT' | 'ONGOING' | 'COMPLETED' | 'STOPPED' | 'ENDED' required

The current status of a campaign.

is_templateboolean required

Whether this campaign is a recurring schedule template. Templates spawn draft campaigns on schedule rather than being reviewed directly.

created_atstring date-time required

The creation time of the campaign.

updated_atstring date-time required

The last updated time of the campaign.

created_by_user_idstring uuid required

The ID of the user who created the campaign.

started_atstring date-time nullable

The time the campaign was started, if started.

started_by_user_idstring uuid nullable

The ID of the user who started the campaign, if started.

stopped_atstring date-time nullable

The time the campaign was manually stopped, if stopped.

stopped_by_user_idstring uuid nullable

The ID of the user who stopped the campaign, if stopped.

ended_atstring date-time nullable

The time the campaign reached its scheduled end, if ended.

ended_by_user_idstring uuid nullable

The ID of the user who ended the campaign, if ended.

Example response

{
  "campaign_id": "f454d283-ca87-4a8a-bdbb-df212eca5353",
  "name": "Q3 Access Review",
  "status": "DRAFT",
  "is_template": false,
  "created_at": "2026-07-01T00:00:00Z",
  "updated_at": "2026-07-01T00:00:00Z",
  "created_by_user_id": "32acc112-21ff-4669-91c2-21e27683eaa1",
  "configuration": null,
  "started_at": null,
  "started_by_user_id": null,
  "stopped_at": null,
  "stopped_by_user_id": null,
  "ended_at": null,
  "ended_by_user_id": null
}