Object
Campaign
A campaign in Archive that groups creators and their content.
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.
- campaignType CampaignType
- What kind of campaign this is; null for a campaign whose type the API does not expose.
- BRAND_MONITORING
- Brand Monitoring: Archive captures native content (Instagram Reels, TikTok, YouTube) between dateStart (required) and dateEnd (optional; omitted means open-ended). One created through the API captures workspace-wide (the app's default "any creator" mode), so its roster does not narrow what is captured. One built in the app may instead be scoped to its roster, in which case adding creators decides what is captured. updateCampaign changes its name, end date, roster and posts; its tag, content and source narrowing are kept as stored. updateCampaign(posts:) adds specific posts on top of automatic capture, and capture never removes posts. Adding a post puts its creator on the roster, which can capture more of that creator's in-window posts from brand-listening sources. A post taken out with posts.remove can be captured again by a later replay (a creator added, a date edit) when it is in-window and from a brand-listening source. Read the posts with items(filter: { campaignsIds: [<campaign id>] }). An open-ended campaign cannot be given a dateEnd through updateCampaign. No options: send no
settings. - CONTENT_CAPTURE
- Content Capture: one created through the API has no capture triggers, so Archive adds no posts on its own and it holds exactly the posts you add with updateCampaign(posts:). One built in the app keeps the capture triggers the app gave it, so Archive can still add posts to it; it is updatable the same way. Read the posts with items(filter: { campaignsIds: [<campaign id>] }); that list is search-indexed and catches up shortly after a change, so diff against it on a later run, not right after patching. dateStart and dateEnd are optional. No options: send no
settings. - CREATOR_MONITORING
- Creator Monitoring: Archive captures the posts every creator on the roster publishes between dateStart and dateEnd (both required). Options:
settings.creatorMonitoring. - VETTING_WORKFLOW
- Vetting Workflow: AI brand safety review of the posts each rostered creator published. The window is dateStart to dateEnd, both required. dateEnd may not be more than 24 hours from now. A creator's posts are pulled once, when they are added. Roster: INSTAGRAM and TIKTOK profiles. Options:
settings.vettingWorkflow. Available only in a workspace whose Archive app lists Vetting Workflow campaigns; elsewhere they are neither listed nor created. - createdAt DateTime!
- When the campaign was created (UTC).
- creatorsCount Int!
- Creators currently on the roster. Creators added by handle through updateCampaign join it once their background import resolves them; creators added by id join it during the call.
- dateEnd DateTime
- End of the campaign's window (UTC); null when it has none.
- dateStart DateTime
- Start of the campaign's window (UTC); null when it has none.
- excludeCreatorsInOtherVettingCampaigns Boolean
- Whether a VETTING_WORKFLOW campaign skips creators already on another one of the workspace. Null for a campaign of another type, or one created before the option existed.
- externalId String
- The key the campaign was created with through createCampaign; null for a campaign created in the Archive app.
- id ID!
- Unique identifier for the campaign in Archive's system.
- maxMediaItemsPerCreator Int
- Most posts per creator a VETTING_WORKFLOW campaign pulls and reviews (1000000 means no limit). Null for a campaign of another type.
- name String!
- Campaign name as shown in Archive.
- pullLogic CampaignPullLogic
- Whether a CREATOR_MONITORING campaign captures posts carrying any or all of its tagNames. Null for a campaign of another type.
- 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!]
- Hashtags and mentions a CREATOR_MONITORING campaign narrows capture to, as stored (lowercased, deduplicated); empty captures every post the roster publishes in the window. Null for a campaign of another type.