{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"https://upwolf.com/dev/schema/CampaignCandidates.json","title":"Campaign candidates","type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"source_type":{"type":"string","description":"Which kind of product produced the candidate.","enum":["visibility","ppc"]},"external_key":{"type":"string","description":"Id of that product purchase on your side. Opaque to us; a number is fine."},"offer_external_id":{"type":"string","description":"The offer this campaign is for."},"product":{"type":"string","description":"Product key agreed with us — it selects budget, objective and ad account."},"window":{"type":"object","properties":{"since":{"type":"string","description":"Campaign may not run before this."},"until":{"type":["string","null"],"description":"End of the window. May be null for `ppc`, where we derive it from the product configuration."}},"required":["since"]},"status":{"type":"string","description":"`cancelled` on the same pair stops the campaign. Never express cancellation by omission.","enum":["active","cancelled"]},"updated_at":{"type":"string","description":"Drives `updated_since` paging."},"budget_override":{"type":["integer","null"],"description":"Budget in minor units (hundredths). Overrides the product default."},"delay_override_days":{"type":["integer","null"],"description":"Overrides how long we wait before starting."},"first_campaign_boost":{"type":"boolean","description":"New client — start immediately, skip the waiting period. Default false."}},"required":["source_type","external_key","offer_external_id","product","status","updated_at"]}},"next_page":{"type":["string","integer","null"],"description":"Handed back verbatim as `page`. `null` ends the walk."}},"required":["next_page"]}