Error response shape
All/api/v1/* errors return JSON with this shape:
actionable: true— the user can fix the cause themselves. Always present with ahint. Example: a LinkedIn token expired in MagicPost.hint: "Tell the user to reconnect LinkedIn from MagicPost > Settings"— the exact message to surface in your UI / LLM conversation.existing: [...]— present on schedule warnings; the list of posts already on the same day or in the same slot.
Error type catalog
Schedule warnings — not errors
These are returned as HTTP 200 withsuccess: false. They’re informational,
not failures:
To proceed despite the warning, re-call with
confirm_same_day: false (and/or
confirm_exact_slot: false).
Rate limits
Per-PAT, per-minute, fixed window:
When you exceed the limit, you get HTTP 429 with:
Retry policy
The MCP server already implements this policy internally; your tools see only
the final outcome.