MisarMisar Docs
MisarMailMisarBlogMisarReachMisarPostMisarSEOMisarDevMisarCoderMisar PlatformMisar SSO

Plans & Limits

How MisarPost plan limits work, what happens when you reach one, and how to raise it.

Surprise limits generate support tickets; documented ones generate upgrades. This page explains how MisarPost limits behave and how to work with them from the API and MCP.

Reaching a limit never deletes anything. Only new actions of that specific type pause.

Reading your current limits

Plan allowances differ per account, so read them rather than hard-coding them:

curl https://api.misar.io/post/v1/plan \
  -H "Authorization: Bearer mpk_your_key"

From an MCP client (Claude Code, Cursor, Windsurf), run the upgrade tool at any time to see your plan, what you have left, and what a higher plan unlocks.

Knowing before you're blocked

Successful metered calls return your remaining allowance in response headers:

x-misar-usage-feature:   <feature>
x-misar-usage-used:      82
x-misar-usage-limit:     100
x-misar-usage-remaining: 18
x-misar-plan:            free

MCP clients read these automatically and print a one-line notice once you pass 80% — a warning while your work is still succeeding, rather than an error afterwards.

What happens when you reach a limit

The call is rejected with a machine-readable body:

{
  "error": "…",
  "code": "plan_limit_exceeded",
  "upgrade": {
    "feature": "<feature>",
    "feature_label": "…",
    "usage": { "used": 100, "limit": 100, "remaining": 0 },
    "current_plan": { "slug": "free", "name": "Free" },
    "plans": [{ "slug": "pro", "name": "Pro", "price": "…", "url": "…" }]
  }
}

Check for code === "plan_limit_exceeded" rather than the HTTP status — that field is stable across products, and the upgrade object carries everything needed to show a user their options.

MCP clients render this as a formatted upgrade card automatically. No handling required.

Raising a limit

Upgrade from your account's billing settings. Upgrades apply instantly to the current period, and you can downgrade at any time with your data left in place.

Rate limits

Separate from plan limits and unrelated to your plan. Exceeding them returns 429 with a Retry-After header and no plan_limit_exceeded code.