Skip to content

Update a campaign

Changes the words on one campaign. A draft or paused campaign is written straight away. A live campaign's change is held for the team to review, so creators keep reading what they signed up to until it goes through.

PATCH/v1/campaigns/{campaignId}
  • Scopecampaigns:write
  • Write
  • Safe to retry
  • MCP toolscouty_update_campaign

Markdown version for your agent

Authorization

Send a Scouty token as a bearer token in the Authorization header. The token needs the campaigns:write scope, or the call answers 403 insufficient_scope. Tokens and scopes

Authorization: Bearer $SCOUTY_TOKEN

Path parameters

NameTypeRequiredDescription
campaignIdintegerRequired

The campaign to change.

Headers

NameTypeRequiredDescription
Idempotency-KeystringOptional

The same key the body's idempotencyKey carries. Send one or the other, or both with the same value.

Body parameters

A JSON object, sent with Content-Type: application/json.

NameTypeRequiredDescription
idempotencyKeystringRequired

A key you choose for this call, 8 to 128 characters of letters, digits, dot, underscore, colon or hyphen. Sending the same key with the same arguments replays the first answer and changes nothing, so a retry after a timeout is safe.

changesobjectRequired

Only the fields you are changing. Everything else is left as it is.

changes.titlestringOptional

The campaign's name, as creators read it.

changes.overviewstringOptional

A short description of what the campaign is.

changes.payLinestringOptional

What the campaign pays, in one line, exactly as a creator is shown it.

changes.deliverablesstring[]Optional

What a creator is asked to make.

changes.requirementsstring[]Optional

What a creator has to be or do to take part.

changes.marketCountryCodesstring[]Optional

Two-letter country codes for the markets. An empty list reaches everywhere.

changes.applicationDeadlinestring | nullOptional

The last day to apply, as YYYY-MM-DD, or null for no deadline.

changes.activationModestringOptional

What happens when a creator signs: auto walks them in, manual waits for you, off does nothing.

One of auto manual off

Errors

A refusal answers { "error": { "code", "message" } }. Branch on code; the message is for a person. Every error and its fix

Statuserror.codeMeaning
400 Bad Requestinvalid_requestThe request was not the shape this capability takes, or its body was not JSON.
401 Unauthorizedmissing_token invalid_token token_revoked token_expired token_orphanedNo token, or one that is not recognized, revoked or expired.
403 Forbiddeninsufficient_scope wrong_principalThe token does not carry the scope this capability needs.
404 Not Foundnot_foundNo such route, or no such campaign for this client.
409 Conflictidempotency_conflictThat idempotency key was already used for a different request. Nothing was changed.
429 Too Many Requestsrate_limitedToo many requests this minute. Retry-After says how long is left.