Skip to main content

ReviewCampaignDefinition

Reusable campaign TEMPLATE (Track B). Mutable — no freeze; editing a definition affects only FUTURE runs. "Run" mints a fresh DRAFT ReviewCampaign instance copying name/description/scope/policy, with due_at = mint time + due_offset_days.

type ReviewCampaignDefinition {
created_at: DateTimeISO
description: String
due_offset_days: Int
id: ID!
instances(after: String, first: Int): ReviewCampaignConnection!
name: String!
next_run_at: DateTimeISO
owner_id: ID
policy: JSON
schedule: ReviewCampaignSchedule
scope: JSON
timing: JSON
updated_at: DateTimeISO
}

Fields

ReviewCampaignDefinition.created_at ● DateTimeISO scalar

ReviewCampaignDefinition.description ● String scalar

ReviewCampaignDefinition.due_offset_days ● Int scalar

Minted instances get due_at = mint time + this many days. Null = no due date.

ReviewCampaignDefinition.id ● ID! non-null scalar

ReviewCampaignDefinition.instances ● ReviewCampaignConnection! non-null object

Instances minted from this definition, newest first.

ReviewCampaignDefinition.instances.after ● String scalar
ReviewCampaignDefinition.instances.first ● Int scalar

ReviewCampaignDefinition.name ● String! non-null scalar

ReviewCampaignDefinition.next_run_at ● DateTimeISO scalar

READ-ONLY: the precomputed next occurrence (anchor + k·every strictly in the future). Recomputed on schedule save and after each scheduled mint; null when schedule is null.

ReviewCampaignDefinition.owner_id ● ID scalar

ReviewCampaignDefinition.policy ● JSON scalar

Inline partial governance policy template (PartialPolicyDefinition). Setting it requires review.policy.manage.

ReviewCampaignDefinition.schedule ● ReviewCampaignSchedule object

Recurrence (Phase 5 §4). Null = manual runs only. Written via setReviewCampaignDefinitionSchedule, never the plain update.

ReviewCampaignDefinition.scope ● JSON scalar

CampaignScope template (v2 — users/resources axes plus optional entitlements axis + grant_types).

ReviewCampaignDefinition.timing ● JSON scalar

Partial ReviewTimingConfig override template — copied onto minted instances like scope/policy. Operational (review.campaign.manage only).

ReviewCampaignDefinition.updated_at ● DateTimeISO scalar

Returned By

createReviewCampaignDefinition mutation ● reviewCampaignDefinition query ● setReviewCampaignDefinitionSchedule mutation ● updateReviewCampaignDefinition mutation

Member Of

ReviewCampaignDefinitionConnection object