Input object
UpdateCampaignInput
Input for the updateCampaign mutation. Omitted fields are left unchanged. The campaign-level changes (name, dateEnd, settings) apply together or not at all. They apply before the roster changes, which apply before the posts changes. If a campaign-level change is refused, nothing in the call applies.
Fields
Object, input and enum types open in place — use + to reveal their fields. A type that is already open above the row stops at a ↻ circular marker, and anything nested past the depth limit links out to its own page instead.
- creators CampaignCreatorsPatchInput
- Creators to add to or remove from the campaign's roster.
- add [CampaignCreatorInput!] default []
- Creators to add. Asynchronous: each is queued for import and joins the roster once resolved (for CREATOR_MONITORING, Archive then pulls their posts back to dateStart and tracks new ones until dateEnd; on BRAND_MONITORING, capture is replayed for an added creator, so their in-window posts from brand-listening sources can be captured, including ones taken out earlier with posts.remove). On VETTING_WORKFLOW, Archive pulls and reviews their posts in the window. One already on the roster is a no-op.
- handle String! required
- The profile's username. Whitespace and a leading '@' are stripped and case is ignored.
- provider Provider! required
- The profile's platform. Which platforms a roster takes is the campaign type's rule: INSTAGRAM and TIKTOK for CREATOR_MONITORING and VETTING_WORKFLOW; INSTAGRAM, TIKTOK and YOUTUBE for CONTENT_CAPTURE and BRAND_MONITORING. No campaign type takes INTERNAL. Any other platform is refused on this entry.
- Instagram platform integration, including posts, reels, stories, and profile data.
- INTERNAL
- Internal Archive-managed source used for synthetic or system-generated content.
- TIKTOK
- TikTok platform integration, including videos and creator profile data.
- YOUTUBE
- YouTube platform integration, including Shorts, videos, thumbnails, and profile data.
- addCreatorIds [ID!] default []
- Creators already in the workspace to add, by creator id (from creators or creator). Synchronous: each joins the roster during the call, after any removals. A refused id is reported at its own path, e.g. ["input","creators","addCreatorIds","2"]. Refused: an unknown id, an id from another workspace, a full roster, a creator the campaign type does not admit. One already on the roster is a no-op.
- remove [CampaignCreatorInput!] default []
- Creators to take off the roster, now. Their captured posts stay in the campaign; on a CONTENT_CAPTURE or BRAND_MONITORING campaign, take them out with posts.remove. A creator is on the roster once, so any one of their profiles removes them. Also cancels an add of the same profile still waiting to import. One not on the roster is a no-op.
- handle String! required
- The profile's username. Whitespace and a leading '@' are stripped and case is ignored.
- provider Provider! required
- The profile's platform. Which platforms a roster takes is the campaign type's rule: INSTAGRAM and TIKTOK for CREATOR_MONITORING and VETTING_WORKFLOW; INSTAGRAM, TIKTOK and YOUTUBE for CONTENT_CAPTURE and BRAND_MONITORING. No campaign type takes INTERNAL. Any other platform is refused on this entry.
- Instagram platform integration, including posts, reels, stories, and profile data.
- INTERNAL
- Internal Archive-managed source used for synthetic or system-generated content.
- TIKTOK
- TikTok platform integration, including videos and creator profile data.
- YOUTUBE
- YouTube platform integration, including Shorts, videos, thumbnails, and profile data.
- dateEnd DateTime
- New end of the campaign's window (UTC), not before its dateStart. For CREATOR_MONITORING, moving it later also extends tracking for creators already on the roster. For VETTING_WORKFLOW, it may not be more than 24 hours from now. Refused on an open-ended BRAND_MONITORING campaign (one without a dateEnd). Uses the supplied instant at whole-second precision; choose your timezone and day boundaries, then convert to UTC before sending it. Must be between 2000-01-01T00:00:00Z and 2100-01-01T00:00:00Z.
- id ID! required
- UUID of the campaign to update. It must be of a type the API provisions (campaignType not null).
- name String
- New campaign name, under the same rules as CreateCampaignInput.name: a blank or invalid name is a userError on input.name. Omit it, or send the current name back unchanged, to keep the name as stored.
- posts CampaignPostsPatchInput
- Posts to add to or remove from a CONTENT_CAPTURE or BRAND_MONITORING campaign; refused on CREATOR_MONITORING.
- add [ID!] default []
- Item ids to add, as items and itemIdsByUrl return them. Synchronous: each post is in the campaign when the call returns, and its creator joins the campaign's roster. An id already in the campaign is a no-op. An id that is not an item of this workspace, or that would exceed the campaign's post or creator limit, is refused at its index.
- remove [ID!] default []
- Item ids to take out of the campaign, now. The creator stays on the campaign's roster, and a removed post can be added back later; on BRAND_MONITORING, capture can also bring it back on a later replay. An id not in the campaign is a no-op.
- settings CampaignSettingsPatchInput
- Changes to the type-specific options. Only the fields you send change; the rest keep their stored values. Changed rules trigger asynchronous re-evaluation of existing in-window posts; already captured posts are not removed.
- creatorMonitoring CreatorMonitoringSettingsPatchInput
- Tag rule changes for a CREATOR_MONITORING campaign.
- pullLogic CampaignPullLogic
- Whether a post needs any of the tagNames or all of them.
- HAS_ALL
- Capture a post only when it carries every one of the tag names.
- HAS_ANY
- Capture a post that carries any of the tag names.
- tagNames [String!]
- The new tag list, under the createCampaign tagNames rules. An empty list removes tag filtering; content conditions set in the app still apply.