POST under /api/v1 and authenticate with the
X-API-KEY header (see Authentication).
Error shapes differ per endpoint — rely on each operation’s response schema, not one
blanket shape:
javascriptandslack/convertfail with{ "success": false, "error": "..." }.json/extractand theiso8601/*routes return{ "status": "error", "error": "..." }on a Pro-gate failure, and a200withis_valid: false(ISO) or anerrorfield (JSON) when the input can’t be parsed.
Endpoints
| Endpoint | Tier | What it does |
|---|---|---|
POST /javascript | Basic | Run JavaScript in a sandboxed VM (10 KB code cap, ≤10 s) |
POST /json/extract | Pro | Pull the first JSON object/array out of mixed text |
POST /iso8601/format | Pro | Format an ISO 8601 duration into human-readable strings |
POST /iso8601/components | Pro | Decompose an ISO 8601 duration into days/hours/minutes/seconds |
POST /slack/convert | Basic | Convert Markdown to Slack Block Kit (rate limited) |
json/extract and both iso8601/* endpoints require a Pro license — a Basic key
gets you are not a magic meal kits PRO user. See Authentication.Notes
- JavaScript runs in a secure sandbox. Values passed in
argsare available as theargsarray inside the script. Timeout defaults to 5000 ms (max 10000 ms). - Slack convert is rate limited; it returns both the Block Kit
blocksand ablockKitUrlyou can open in Slack’s Block Kit Builder to preview.

