Skip to content

Campaign lifecycle

A campaign starts as a DRAFT, passes review and booking, then runs on its dates.

A campaign is either indoor or outdoor. All its screens must share one placing and one provider; the campaign takes both from its screens.

Status Meaning You can
DRAFT Being prepared Edit, upload creatives, submit
IN_REVIEW In provider or platform review Withdraw
REJECTED Not approved. See rejectionReason Edit, replace creatives, submit again
SCHEDULED Approved and booked Cancel
RUNNING Playing Cancel
COMPLETED Finished Read stats
CANCELLED Stopped. See cancellationSource Read stats
CONTENT_FAILED A video could not be converted Replace the creative

New statuses may be added, so handle unknown values.

  1. Provider review runs first, for providers that have their own moderation. Today that is CITYSCREEN (outdoor screens).
  2. Platform review follows, according to your account’s moderation mode.
  3. Booking reserves every screen, or none.
Mode Who approves
MANUAL A Smartcast Media moderator
AUTO_APPROVE The system, once provider review passes

AUTO_APPROVE skips only the moderator. Provider review, file checks and booking still apply, so a campaign can still be rejected. Smartcast Media can cancel any campaign.

With AUTO_APPROVE and no provider review, submit usually answers with the campaign already SCHEDULED. If booking cannot be completed at that moment, the campaign stays IN_REVIEW and a moderator decides instead.

A campaign keeps the mode it was last submitted with, shown in its moderationMode. A change to your account’s mode applies to campaigns created or submitted after it.

Follow progress by reading the campaign: GET /v1/campaigns/{campaignId}, or GET /v1/campaigns?status=IN_REVIEW for all in review. Polling every few minutes is enough; review takes minutes to hours. A rejected campaign carries the reason in rejectionReason.

Providers set their own timing:

Provider Earliest start Automatic cancel
SMARTCAST (indoor) Today None
CITYSCREEN (outdoor) Tomorrow If not approved by 23:30 the day before the start, in the campaign’s time zone

When a campaign has an automatic cancel, the exact moment is on the campaign as autoCancelAt.