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!
kind: ReviewKind!
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.kind ● ReviewKind! non-null enum​

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 Grant targets axis + item_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