Skip to content

Campaign

A Campaign is a bounded effort toward a Goal, with a budget, a window, and the Ads or Messages it sends to Audiences.

Properties

PropertyTypeRequiredDescription
budgetmoneyWhat it may spend.
startsAtdatetimeWhen it starts.
endsAtdatetimeWhen it ends.

Object

JSON
{
  "$id": "https://api.sb/tutorloop.com/campaigns/campaign_1",
  "$type": "Campaign",
  "budget": {
    "amount": 60,
    "currency": "USD"
  },
  "startsAt": "2026-10-22T12:00:00Z",
  "endsAt": "2026-10-22T12:00:00Z"
}

Relationships

  • A Campaign advances one Goal: a Campaign spends its budget and window toward one Goal. advances, inverse advancedBy.
  • A Campaign runs many Ads: a Campaign places Ads that share its budget and window. runs, inverse runIn.

Verbs

  1. createCreates a Campaign.
    POST /{namespace}/campaignsdoCampaign.created
  2. getReturns one Campaign by id.
    GET /{namespace}/campaigns/{id}readNo Event
  3. listReturns Campaigns, newest first, one page at a time.
    GET /{namespace}/campaignsreadNo Event
  4. updateChanges the given properties of a Campaign.
    PATCH /{namespace}/campaigns/{id}doCampaign.updated
  5. deleteDeletes a Campaign; its history is kept.
    DELETE /{namespace}/campaigns/{id}doCampaign.deleted

Permissions

Which Access level may call each Verb. One-way Verbs wait their delay window.

Operationowneradminmemberviewer
Campaign.createYesYesYesNo
Campaign.getYesYesYesYes
Campaign.listYesYesYesYes
Campaign.updateYesYesYesNo
Campaign.deleteYesYesYesNo

Call it

Text
Add a campaign to QuietCopy.

Example

A three-week Campaign for a dropship store of espresso-machine filters spends $1,500 on short-video Ads. Its Goal is 120 first Orders, and it ends on day 21 even if the Goal falls short.