Update campaign

Change a campaign's settings. The body is a JSON merge patch in the same fields as Create campaign: a field you leave out keeps its value, a field you send replaces it, and null clears it. Delivr recomposes whatever the change affects, so changing budget also moves what is derived from it.

Needs the campaigns:write scope, like every campaign write.

A draft is only stored. A launched campaign's change is sent to DelivrDSP first and stored only once DelivrDSP accepts it, so a failure there changes nothing. Raising a launched campaign's budget is funded first, like a launch. Two changes are refused on a launched campaign with 409: changing its audiences (DelivrDSP keeps serving the lists attached at launch), and clearing with null a field DelivrDSP cannot clear (the refusal names it). daily_budget can be cleared.

Add ?dry_run=true to see the change without making it: the answer is 200 with the campaign as it would be and changes, the fields that would move.

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…
Path Params
uuid
required

Campaign ID (UUID).

Query Params
boolean
Defaults to false

true to compose and check the write without storing anything or calling DelivrDSP.

Body Params

What the campaign should do. Delivr composes the DelivrDSP settings from it. On create, project_id, name and goal are required. On update every field is optional: a field left out keeps its value and null clears it.

Money is in your account's dollars.

uuid

The project the campaign belongs to. Required on create. On update, if sent, it must be the campaign's own.

string
length between 3 and 120
string
enum

What the campaign is for. It seeds the pacing, the default bid and the content category, which the fields below override.

Allowed:
string
enum

The format bought. Omit it for an untyped campaign. A typed campaign buys through an Index Exchange deal, and some types cannot carry an audience or run every goal; such a combination is refused naming why.

Allowed:
audience_ids
array of strings

Audiences to reach, at most 25 distinct. Each must have finished building, and be a people audience, by launch.

audience_ids
excluded_audience_ids
array of strings

Audiences not to reach. None may also be in audience_ids.

excluded_audience_ids
string
enum
Defaults to audience

no_audience serves with no audience list. Naming audiences or exclusions with it is refused.

Allowed:
double

Total budget. Required to launch.

double

Spend cap per day. At most budget.

date

First day, YYYY-MM-DD.

integer
7 to 90

How many days the campaign runs. The end date is derived from it. Defaults from the goal.

double

The price to bid per thousand impressions. Defaults from the goal.

double

Lowest bid. Defaults to bid_cpm. At most cpm_max.

double

Highest bid. Defaults to bid_cpm.

string
enum

How DelivrDSP adjusts the bid.

bid_targets
object

Targets the optimization type reads, by name. A name it does not read is refused.

string

The IAB content category. Defaults from the goal.

contracted
object

The contracted terms DelivrDSP requires. Derived from the budget and the bid unless you set them.

fine_tune
object

Pacing, frequency caps and performance floors. Each is optional, and the goal seeds the frequency caps.

targeting
object
inventory
object
bidding
object

DelivrDSP bidding switches.

Headers
string
enum
Defaults to application/json

Generated from available response content types

Allowed:
Responses

401

Missing or invalid authentication.

404

Campaign not found, or not in the key's organization.

502

DelivrDSP could not apply the change to a launched campaign. Nothing was stored.

Language
Credentials
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json
text/plain