Build with AfterLaunch
The AfterLaunch API and MCP server let AI agents and software read a product run's ranked growth moves, automated loops and drafted outputs, and act on them.
The API is in a private preview. Access is admin-only today; keys open up with the Founder plan at launch.
Quickstart
- Create your account and mint a key. Run the free Growth Snapshot to enrol your product, then open Settings and create a read-only API key under API access. The key is shown once; store it securely.
- Connect over MCP or plain HTTPS. Every request carries the key as a bearer token (Authorization: Bearer al_...). From Claude Code:
Or read the Feed directly:claude mcp add afterlaunch --transport http https://afterlaunch.io/api/mcp --header "Authorization: Bearer al_..."curl -H "Authorization: Bearer al_..." https://afterlaunch.io/api/v1/feed - Read, then act. A read-scoped key reads the ranked Feed of prepared growth moves, the automated loops and their autonomy, the enrollment summary and drafted outputs. Keys carrying the write or config scopes can also ship, skip or redraft moves, trigger a loop run and set loop autonomy; those scopes are not self-serve yet.
Endpoints and tools
This reference is generated from the same action registry that produces the OpenAPI document and the MCP tool list, so it always matches the shipped API. Metered actions can cause a per-call charge and are subject to the per-tenant daily spend cap.
| Endpoint | Scope | What it does | MCP tool |
|---|---|---|---|
| GET /api/v1/feed | read | The ranked backlog of prepared growth moves. | list_feed |
| GET /api/v1/loops | read | The automated loops on the enrollment and their autonomy. | get_loop_status |
| GET /api/v1/loops/{loopType} | read | The automated loops on the enrollment and their autonomy. | get_loop_status |
| GET /api/v1/enrollment | read | The product-run summary and delivery settings. | get_enrollment |
| GET /api/v1/outputs/{id} | read | A single drafted output by id. | REST only |
| POST /api/v1/moves/{id}/ship | write | Mark a move shipped (the founder's Ship action). | ship_move |
| POST /api/v1/moves/{id}/skip | write | Dismiss a move (the founder's Skip action). | skip_move |
| POST /api/v1/moves/{id}/draft | write | Replace a pending move's draft body before shipping. | update_draft |
| POST /api/v1/loops/{loopType}/run | writeMetered | Run a loop's generation once, on demand (metered). | run_loop |
| POST /api/v1/loops/{loopType}/autonomy | config | Set a loop's autonomy rung. | set_loop_autonomy |
| POST /api/v1/outputs/{id}/approve | writeMetered | Approve one drafted output for dispatch (metered egress). | REST only |
| POST /api/v1/onboard/start | write | Agent-initiated onboarding: submit a founder URL + email; the founder approves by email. | REST only |
| POST /api/v1/onboard/poll | write | Agent-initiated onboarding: exchange the device code for the minted API key (exactly once). | REST only |
MCP also exposes whoami as a handshake convenience with no REST endpoint: it confirms the key works and reports what it is bound to.
Machine-readable docs
Everything an agent needs to self-wire, served from stable public URLs:
- /api/v1/openapi.json : the OpenAPI 3.1 description of every endpoint.
- /.well-known/mcp.json : the MCP discovery descriptor (endpoint, auth scheme, docs).
- /llms.txt : plain-language instructions for AI agents, including the onboarding flow.
Agent-driven onboarding
An AI agent can set AfterLaunch up for its founder without a browser session. The device flow works like this: the agent submits the founder's site URL and email to POST /api/v1/onboard/start and receives a device code; the founder gets one approval email and nothing runs until they click it; the agent polls POST /api/v1/onboard/poll and, on approval, receives a read-scoped API key exactly once. The founder's free Growth Snapshot and trial start at approval.
This flow is built but not yet open: it sits behind a flag that is off by default while the API is in private preview.
Start with the free Growth Snapshot, then mint a key in Settings.
See what AfterLaunch does