> Discover all available Postdom documentation from the machine-readable index: https://postdom.com/llms.txt

Configured tool · write

# `submit_plan`

Propose a time-bounded publication plan for one human approval.

write · non-destructive · closed-world

Human and agent roles

## Configured boundary

### Configured workspace

The agent proposes accounts, timing, purpose, and capacity. Only a human supervisor can authorize the plan.

This reference describes the hosted server at https://api.postdom.com/mcp, which runs current source, with a workspace-scoped key created under Connected apps → For developers. The published `@postdom/mcp@0.4.0` package has 14 of these tools: it lacks list_posts, create_slideshow, account_music and the media array.

**For AI agents:** Stop on approval, policy, trust, pause, or exception states and return the exact resource ID.

**Known failure:** Never approve yourself, expand trust, or exercise a human-only route.

Callable schema

## Input fields

Field names match the configured tool schema. Runtime-only constraints are labeled separately from schema validation.

| Field | Type | Contract |
| --- | --- | --- |
| account_ids Required | string[] | At least one value · Runtime: unique account/platform targets Connected destination account identifiers inside the proposed boundary. |
| title Required | string | 1–120 characters A short human-readable name for the plan. |
| objective Required | string | 1–1,000 characters The outcome the bounded schedule should support. |
| starts_at Required | datetime | RFC 3339 UTC ending in Z The opening instant of the proposed plan window. |
| ends_at Required | datetime | Schema: UTC ending in Z · Runtime: after start, ≤14 days The closing instant of the proposed plan window. |
| max_posts Required | integer | 1–20 The maximum posts the plan can authorize. |
| brief_version Optional | integer | Positive · must exist in this workspace The Workspace Brief version used to plan or write the proposed work. |
| intent Required | string | 1–500 characters The calling agent's reason for proposing this plan. |
| agent_identity Optional | string | 1–120 characters Caller identity when the configured client does not supply one. |
| idempotency_key Optional | string | Non-empty Caller-supplied replay key. The adapter generates a UUID when omitted. |

**For AI agents:** Send only fields exposed by the current tool schema.

**Known failure:** Do not invent platform settings, account IDs, media fields, or setup steps.

Synthetic values

## Example call

Identifiers and values are examples. They do not represent a connected workspace or accepted media source.

_EXAMPLE CALL · CONFIGURED TOOL SCHEMA_

```
submit_plan({
  account_ids: ["acct_example_ig", "acct_example_yt"],
  title: "Launch week",
  objective: "Coordinate the approved launch schedule",
  starts_at: "2026-09-01T00:00:00Z",
  ends_at: "2026-09-07T23:59:59Z",
  max_posts: 12,
  intent: "Schedule approved short-form video"
})
```

Observed API record

## Return shape

Returns the plan record directly, including its exact state and any structured human feedback.

**`id · version · request_hash` (identity)** — Stable plan identity and immutable review reference.

**`title · objective` (string)** — The submitted human-readable plan purpose.

**`starts_at · ends_at` (datetime)** — The bounded plan window.

**`max_posts · posts_authorized` (integer)** — Approved capacity and posts already authorized.

**`source · agent · created_at` (metadata)** — Submission source, caller context, and creation time.

**`brief_version` (integer | null)** — The retained Workspace Brief version, when supplied.

**`destinations` (array)** — Authorized account, platform, and nullable handle records.

**`status` (plan state)** — One of the six exact plan states.

**`approval_feedback` (object | null)** — Decision, category, and text when a reviewer returns feedback.

**`outcome` (object | null)** — Null until the plan closes, then evidence-backed counts, top post, and available metric aggregates.

Stop conditions

## Agent handoff

`requires_approval`

### Wait for review

Stop plan-backed scheduling until a human changes the state.

`changes_requested`

### Revise the plan

Use the returned category and text, then submit a deliberate revision.

`rejected · expired · cancelled`

### Return control

Stop plan-backed work and return the exact state to a human.

`approved`

### Use the boundary

Stay inside its accounts, UTC window, and remaining post capacity.

 VERIFIED · 26 AUGUST 2026  **Configured MCP schema · Runtime response model**

Examples are synthetic. Human workspace-key creation and revocation remain in Postdom under Connected apps → For developers.
