Create a payment link
checkoutCreate a Stripe Checkout Session so the user can pay for a VibeRooster feature in this chat. Returns { checkoutUrl, sessionId, grant, amountCents } — ALWAYS show checkoutUrl to the user (open it / paste it). After they pay, call poll_checkout with sessionId until status is complete. The webhook applies the grant (Pin, Pack, Roost, Roost Audit, custom domain).
Required ids by grant: publish / record / credit_topup / workspace_coin_pack (Pack) → hatchId; workspace_subscription (Roost) / custom_domain → workspaceId (or hatchId in that workspace); agentic_pro (Roost Audit) → orgId or workspaceId/hatchId attached to the org.
Do not use Stripe MCP (mcp.stripe.com) for VibeRooster features — that would charge a different Stripe account. Hatch checkout stamps hatch/workspace/org metadata the webhook expects.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| grant | Yes | `publish` = Pin ($4.99/yr, 1-year keep; also overage after 10 subscription Pins). `workspace_subscription` = Roost ($259/mo). `agentic_pro` = Roost Audit ($459/mo). `workspace_coin_pack` = Pack ($4.99/yr per GB). `custom_domain` = +$29/mo on Roost / Roost Audit. | |
| orgId | No | Organization id. Required for Roost Audit (`agentic_pro`) unless derivable from workspace/hatch. | |
| hatchId | No | Hatch id from hatch/lookup. Required for publish (Pin), record, credit_topup, and Pack. | |
| priceId | No | Optional Stripe Price id from `catalog`. Omit to use the mapped default for this grant. | |
| quantity | No | Line-item quantity (Pack GB, custom domain slots). Default 1. | |
| tenantId | No | Legacy alias for `hatchId`. | |
| workspaceId | No | Workspace id. Required for Roost (`workspace_subscription`) and custom_domain. |