Provision app
provision_appProvisions a monitored app in one transaction with website, SSL/domain, status page, and cron heartbeat checks, plus optional Supabase and Stripe monitors.
Instructions
Set up a new app in one transaction: its website check, an automatic SSL/domain check when url is https on port 443 with a hostname that has no SSL monitor yet, a status page, and one heartbeat per crons_from entry. Optional checks come in pairs, supabase_url with supabase_key and stripe_key with stripe_endpoints: half a pair is reported in skipped, and a full pair that fails verification refuses the whole call. mcp_url and status_domain are reported in skipped when supplied. A new app's explicit name must be free; without one, the hostname is made unique. Every option is validated and checked first; then, if url matches an existing app, that app comes back with its monitors as they were (add checks with create_monitor), plus a status page if it had none. A plan_limit error creates nothing and lists what was not created. Heartbeat URLs are returned only to this request and its retries with the same request_id. Needs write access.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Public HTTP(S) app address with a hostname of at most 80 characters. Repeated provisioning of its normalized URL returns the existing setup. | |
| name | No | App name, 1 to 60 characters and unique in the workspace ignoring case. Defaults to the hostname, shortened and suffixed as needed to be unique. | |
| mcp_url | No | MCP server address; currently reported as skipped because that monitor type is Coming soon. | |
| crons_from | No | Cron definitions read by your agent from vercel.json or netlify.toml. Send definitions, never a local file path: a remote server cannot read your checkout. | |
| request_id | Yes | A new UUID for this write. Retry with the same UUID and identical inputs after a lost reply; never reuse it for another operation. | |
| stripe_key | No | Restricted Stripe key; also supply stripe_endpoints. Never returned. | |
| supabase_key | No | That project's publishable or legacy anon key, stored encrypted. | |
| supabase_url | No | Supabase project URL. Supply supabase_key too to create its health monitor. | |
| status_domain | No | Desired status-page hostname. Domain setup is reported as skipped until the separate status-edge stage is available. | |
| stripe_endpoints | No | Stripe webhook endpoint ids to monitor with stripe_key. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| app | Yes | ||
| cname | Yes | ||
| created | Yes | ||
| skipped | Yes | ||
| monitors | Yes | ||
| heartbeats | Yes | ||
| status_page_url | Yes |