--- title: "plan_move_dates: Move a plan's dates | distribution.tech" description: "Move a plan awaiting approval to new dates in one step: start and end (YYYY-MM-DD) become the plan's launch window and the campaign's dates, and every." canonical: https://distribution.tech/docs/mcp/tools/plan-move-dates generator: md-live-route generated: 2026-10-21T11:44:45.505Z --- # plan_move_dates: Move a plan's dates | distribution.tech - [Getting started](https://distribution.tech/docs) - [API reference](https://distribution.tech/docs/api) - [MCP and agents](https://distribution.tech/docs/agents) - [Changelog](https://distribution.tech/docs/changelog) Search the docs Docs - Agents › - [Run a campaign with your agent](https://distribution.tech/docs/agents) - [MCP server](https://distribution.tech/docs/mcp) - MCP tools › - [inventory](https://distribution.tech/docs/mcp/tools/inventory) - [resolve\_audience](https://distribution.tech/docs/mcp/tools/resolve-audience) - [campaign\_status](https://distribution.tech/docs/mcp/tools/campaign-status) - [evidence](https://distribution.tech/docs/mcp/tools/evidence) - [results](https://distribution.tech/docs/mcp/tools/results) - [brain\_get](https://distribution.tech/docs/mcp/tools/brain-get) - [creators\_search](https://distribution.tech/docs/mcp/tools/creators-search) - [creator\_get](https://distribution.tech/docs/mcp/tools/creator-get) - [creator\_ask\_price](https://distribution.tech/docs/mcp/tools/creator-ask-price) - [plan\_quote](https://distribution.tech/docs/mcp/tools/plan-quote) - [create\_campaign](https://distribution.tech/docs/mcp/tools/create-campaign) - [plan\_add\_creator](https://distribution.tech/docs/mcp/tools/plan-add-creator) - [plan\_remove\_creator](https://distribution.tech/docs/mcp/tools/plan-remove-creator) - [plan\_move\_dates](https://distribution.tech/docs/mcp/tools/plan-move-dates) - [plan\_swap\_creator](https://distribution.tech/docs/mcp/tools/plan-swap-creator) - [set\_creator\_guidelines](https://distribution.tech/docs/mcp/tools/set-creator-guidelines) - [approve\_plan](https://distribution.tech/docs/mcp/tools/approve-plan) - [archive\_campaign](https://distribution.tech/docs/mcp/tools/archive-campaign) - [rename\_campaign](https://distribution.tech/docs/mcp/tools/rename-campaign) - [delete\_campaign](https://distribution.tech/docs/mcp/tools/delete-campaign) - [feedback\_send](https://distribution.tech/docs/mcp/tools/feedback-send) - [feedback\_list](https://distribution.tech/docs/mcp/tools/feedback-list) 1. [distribution](https://distribution.tech/) 2. / [Docs](https://distribution.tech/docs) 3. / [MCP tools](https://distribution.tech/docs#mcp) 4. / plan\_move\_dates MCP tool # Move a plan's dates plan\_move\_dates Move a plan awaiting approval to new dates in one step: start and end (YYYY-MM-DD) become the plan's launch window and the campaign's dates, and every. Copy page as markdown [View .md](https://distribution.tech/docs/mcp/tools/plan-move-dates.md) ## Overview Move a plan awaiting approval to new dates in one step: start and end (YYYY-MM-DD) become the plan's launch window and the campaign's dates, and every creator's post date moves with them, keeping its place in the window (a post three days in stays three days in) and pulled inside the new window when it is shorter. Both happen or neither does. start is today or later, end is on or after start, at most a year apart (conflict, reason bad\_dates); two posts by one creator that would land on the same day are refused (conflict, reason same\_day) and nothing moves; a signed plan or one the team wrote is refused (conflict, reason plan\_signed). Prices do not change. Returns lines\_moved and the plan as plan\_quote returns it. Needs an idempotency\_key. Server `https://app.distribution.tech/api/mcp` Scope `campaigns:write` Changes data Yes, pass an idempotency\_key REST endpoint [POST /plans/{id}/dates](https://distribution.tech/docs/api/post-plans-id-dates) ## Arguments | Name | Type | Required | Description | | --- | --- | --- | --- | | `idempotency_key` | string | Yes | Your unique id for this request. Retry with the same id and the same arguments to get the same answer; it never runs twice. | | `plan_id` | string (uuid) | Yes | The plan, from campaign\_status or plan\_quote. | | `start` | string | Yes | The new first day, YYYY-MM-DD, today or later. | | `end` | string | Yes | The new last day, YYYY-MM-DD, on or after start. | ## Call with curl The server speaks streamable HTTP, so one JSON-RPC `tools/call` request runs the tool. Set `DISTRIBUTION_API_KEY` to a key from Developers with the `campaigns:write` scope; the arguments shown are the required ones. curl ``` curl -X POST "https://app.distribution.tech/api/mcp" \ -H "Authorization: Bearer $DISTRIBUTION_API_KEY" \ -H "Content-Type: application/json" \ -H "Accept: application/json, text/event-stream" \ -d '{ "jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": { "name": "plan_move_dates", "arguments": { "idempotency_key": "", "plan_id": "", "start": "", "end": "" } } }' ``` ## Result The answer's `structuredContent` follows the tool's output schema (the same JSON is in its text content). It has these fields: | Name | Type | Required | Description | | --- | --- | --- | --- | | `lines_moved` | integer | Yes | How many creators' post dates moved. | | `plan` | object | Yes | A plan as the person sees it and as an agent signs it (v1-product-spec 8.5 Quote). | structuredContent, every field with its type ``` { "lines_moved": 0, "plan": { "plan_id": "", "campaign_id": "", "version": 0, "status": "awaiting_approval", "currency": "", "launch_window_start": "", "launch_window_end": "", "terms_fingerprint": "", "total_cents": 0, "totals": {}, "lines": [ { "id": "", "creator": { "id": "", "name": "", "handle": "", "profile_url": "", "avatar_url": "", "followers": 0 }, "creator_id": "", "unit_id": "", "stage_id": "planned", "stage": "", "channel": "", "channel_label": "", "format": "", "deliverable": "", "scheduled_date": "", "price_cents": 0, "vetting": "", "reason": "", "expected_views_low": 0, "expected_views_high": 0, "on_sale": false } ], "payment_options": [ { "rail": "checkout", "label": "", "clears": "" } ], "agent_payment": "checkout", "brand_terms": { "current_version": "", "current_number": 0, "url": "", "accepted_for_this_key": "", "accepted_number_for_this_key": 0 }, "mandate": { "key_id": "", "version": 0, "max_plan_cents": 0, "monthly_cap_cents": 0, "channels": [ "" ], "may_approve": false, "may_exceed_budget": false, "expires_at": "", "updated_at": "", "spent_this_month_cents": 0, "terms_version": "", "terms_accepted_at": "", "terms_accepted_email": "" }, "policy": { "allowed": false, "refusal": {} }, "blocked_lines": [ "" ], "over_budget": { "budget_cents": 0, "total_cents": 0, "over_by_cents": 0 }, "order": {}, "valid_while": "terms_fingerprint_unchanged" } } ``` ## Other tools - [`inventory`](https://distribution.tech/docs/mcp/tools/inventory): Network coverage - [`resolve_audience`](https://distribution.tech/docs/mcp/tools/resolve-audience): Resolve an audience - [`campaign_status`](https://distribution.tech/docs/mcp/tools/campaign-status): Campaign status - [`evidence`](https://distribution.tech/docs/mcp/tools/evidence): Proof of delivery - [`results`](https://distribution.tech/docs/mcp/tools/results): Results - [`brain_get`](https://distribution.tech/docs/mcp/tools/brain-get): Company context - [`creators_search`](https://distribution.tech/docs/mcp/tools/creators-search): Find creators - [`creator_get`](https://distribution.tech/docs/mcp/tools/creator-get): One creator - [`creator_ask_price`](https://distribution.tech/docs/mcp/tools/creator-ask-price): Ask for a price - [`plan_quote`](https://distribution.tech/docs/mcp/tools/plan-quote): Quote a plan - [`create_campaign`](https://distribution.tech/docs/mcp/tools/create-campaign): Start a campaign - [`plan_add_creator`](https://distribution.tech/docs/mcp/tools/plan-add-creator): Add a creator - [`plan_remove_creator`](https://distribution.tech/docs/mcp/tools/plan-remove-creator): Remove a creator - [`plan_swap_creator`](https://distribution.tech/docs/mcp/tools/plan-swap-creator): Swap a creator - [`set_creator_guidelines`](https://distribution.tech/docs/mcp/tools/set-creator-guidelines): Set the creator guidelines - [`approve_plan`](https://distribution.tech/docs/mcp/tools/approve-plan): Approve and get the pay link - [`archive_campaign`](https://distribution.tech/docs/mcp/tools/archive-campaign): Archive a campaign - [`rename_campaign`](https://distribution.tech/docs/mcp/tools/rename-campaign): Rename a campaign - [`delete_campaign`](https://distribution.tech/docs/mcp/tools/delete-campaign): Delete a draft campaign - [`feedback_send`](https://distribution.tech/docs/mcp/tools/feedback-send): Send feedback - [`feedback_list`](https://distribution.tech/docs/mcp/tools/feedback-list): Your feedback ## Get access Keys are created in Developers once your brand is approved. [Connect an agent](https://distribution.tech/distribution#access) to ask for access, then read [the agent guide](https://distribution.tech/docs/agents) for the full flow. On this page - [Overview](#overview) - [Arguments](#arguments) - [Call with curl](#curl) - [Result](#result) - [Other tools](#related) - [Get access](#access) [![distribution.tech](https://distribution.tech/brand/wordmark-light.svg)![distribution.tech](https://distribution.tech/brand/wordmark.svg)](https://distribution.tech/) Your agent buys your distribution. Distribution we run for - ClickUp - Gushwork - Tab Platform - [How it works](https://distribution.tech/how-it-works) - [Network](https://distribution.tech/network) - [Workspace](https://app.distribution.tech/login) - [For your agents](https://distribution.tech/distribution) Solutions - [Product launch](https://distribution.tech/solutions/product-launch) - [Funding announcement](https://distribution.tech/solutions/funding-announcement) - [Feature release](https://distribution.tech/solutions/feature-release) - [For brands](https://distribution.tech/for-brands) - [For creators](https://distribution.tech/for-creators) Resources - [Blog](https://distribution.tech/blog) - [Launch playbook](https://distribution.tech/playbook) - [X creator rates](https://distribution.tech/rates/x-creators) Company - [Customers](https://distribution.tech/customers) - [Pricing](https://distribution.tech/pricing) - [Changelog](https://distribution.tech/changelog) - [Build a distribution plan](https://app.distribution.tech/login) - [Join the creator network](https://distribution.tech/for-creators#apply) - [Log in](https://app.distribution.tech/login) Legal - [Privacy](https://distribution.tech/privacy) - [Terms](https://distribution.tech/terms) © 2026 distribution.tech [Contact: team@distribution.tech](mailto:team@distribution.tech)Cookie settings Light Dark System