Campaign
campaignChange a Campaign (a named workstream inside a Space). For reads prefer list_campaigns and get_campaign. Actions: open (name, optional purpose); park (reason) to pause; resume; propose_close (outcome_draft); close, approved by a different principal, or confirmed by the proposer with confirm=true when only one active principal remains; reassign_owner (to; default you) when the owner seat is revoked or you own it. Action get needs campaign_id. Close also writes an Articles receipt. Writes need write scope; not idempotent.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | reassign_owner: new owner seat_id; default you. | |
| name | No | open: the Campaign name. | |
| action | Yes | One of open, park, resume, propose_close, close, reassign_owner, list, get. | |
| reason | No | park: why it is paused. | |
| confirm | No | close: true as the second step when you are the only active principal. | |
| purpose | No | One or two sentences on what this is for. Shown to everyone invited. | |
| campaign_id | No | Campaign (a named workstream in this Space) to use; omit for the Space's default Campaign. Ids come from list_campaigns. | |
| outcome_draft | No | propose_close: the outcome text to record. | |
| idempotency_key | No | Optional. A string you generate once per intended action (a UUID is good) and repeat on retry. A retry with the same key and arguments returns the first result instead of acting twice; the same key with different arguments is refused. Kept 24 hours. |