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

Configured tool · write

# `set_posting_limits`

Set how many posts a day Postdom may make and the quiet hours in which nothing goes out, for the whole workspace or for one connected account.

write · non-destructive · closed-world · chat-only

Human and agent roles

## Configured boundary

### Configured workspace

Postdom Chat only, with the signed-in owner's, admin's or member's authority. Not on the agent MCP menu. A day of the week is not a rule the product has, and this tool never pretends one is: the honest alternatives are a daily limit, quiet hours, or asking before every post. On one account it answers the rule it was asked about and keeps the rest: a field this call does not name and the account was not already overriding goes on following the workspace. Propose, then confirm: the API refuses any call the assistant's own previous answer did not propose and the person's current message does not agree to. The proposal is read from the end of that answer only: the last sentence ending in a question mark, plus the one sentence before it. Those sentences carry the new value and where it lands - the asking level as its own sentence, posts per day as a digit, quiet hours as HH:MM to HH:MM or the words no quiet hours, a pause as pause or resume, brand notes as the section text in double quotes - with @handle for one account or the word everywhere for the workspace. One change per question: a question that offers two changes, joins alternatives with or, or names two accounts (or an account and the workspace) is refused, because a yes does not say which. Anything else is refused with rules_change_not_asked before the call. The proposal is what is read: a daily number as digits or words, a quiet hour as 23:00, 11pm or midnight, and turning the quiet hours off named as such - a bare off is not a rule. An account-scoped write has to be proposed for that account by handle or platform, and a workspace-scoped one is refused whenever the proposal names any account and carries no workspace word. A platform two accounts share names neither of them, so a proposal for one of two Instagram accounts has to carry its @handle.

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.

Callable schema

## Input fields

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

| Field | Type | Contract |
| --- | --- | --- |
| account_id Optional | string | A connected account's id from the workspace facts Scopes the limits to one account as an exception. Omit for the workspace. |
| posts_per_day Optional | integer | 1 to 100 The daily cap, counted on the workspace clock. |
| quiet_hours Optional | { start, end } | HH:MM on the workspace clock, both given Nothing goes out between these times. |
| quiet_hours_off Optional | boolean | Not with quiet_hours Turns quiet hours off. |

**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_

```
set_posting_limits({
  posts_per_day: 5,
  quiet_hours: { start: "23:00", end: "07:00" }
})
```

Observed API record

## Return shape

Returns the same rules_change card as set_approval_rule, with posts_per_day and quiet_hours as the fields that moved.

**`kind · subject · scope · applied` (card)** — As on set_approval_rule.

**`before · after · changed` (rules snapshot · field[])** — The limits before and after, read back from the API, and exactly which of them moved.

**`blocked` (object | null)** — policy_version_conflict when someone else saved first twice; invalid_visibility when an account allows no visibility and its exception cannot be saved on its own.

**`timezone · summary` (string)** — The workspace clock, and the one-line before → after such as Posts per day 3 → 5.

Stop conditions

## Agent handoff

`applied`

### Say the change

State before → after from the card in the person's words.

`no posting on a weekday`

### Offer what exists

Say there is no day-of-week rule and offer a daily limit, quiet hours or asking before every post. Set only what the person then chooses.

`one account, one rule`

### Keep the rest

Name only what the person asked for. The quiet hours and allowed visibilities it did not name keep following the workspace.

`rules_change_not_asked`

### Propose, do not retry

The numbers and the destination have to be in the answer they agreed to. Say them in one sentence, ask, and call again on their yes.

 VERIFIED · 26 AUGUST 2026  **PUT /v1/dashboard/policies/workspace-defaults/conditional · POST /v1/dashboard/policies · POST /v1/dashboard/policies/inherit**

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