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.
Keys are self-serve. Any account on an active trial or the Founder plan can mint one in Settings, and it carries the read, act and write scopes: read the surface, ship, skip, redraft or archive a move, mint a checkout link, and trigger the metered actions. On the Founder plan the key also carries the config scope for the autonomy and cadence levers. Metered actions draw on your credit balance under the per-tenant spend caps, so what you can run is bounded by credits rather than by a tier wall.
Quickstart
- Create your account and mint a key. Run the free scan to enrol your product, then open Settings and create an API key under API access. It carries the read, act and write scopes (plus config on the Founder plan). The key is shown once; store it securely. An agent can do this part for you instead: see agent-driven onboarding below.
- Connect over MCP or plain HTTPS. Every request carries the key as a bearer token (Authorization: Bearer al_...). From Claude Code:
Or read the Board 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/feedOn claude.ai or ChatGPT, add https://afterlaunch.io/api/mcp as a custom connector and sign in. Discovery runs over OAuth, so there is no key to paste.
- Read, then act. The read scope covers the ranked Board of prepared growth moves, the measured signal data (AI visibility, SEO, competitors, outcomes, the day-0 scan, the Timeline), the Memory pages, the automated loops and their autonomy, the enrollment summary and drafted outputs. The act scope ships, skips, redrafts, archives and restores moves and mints a checkout link, all of it free. The write scope triggers the metered runs, bounded by credits and the per-tenant spend caps. Every key minted in Settings and every key the device flow delivers carries all three. The autonomy and cadence levers need the config scope, which Settings adds to keys minted on the Founder plan, and publishing to a channel needs the egress scope, which self-serve keys never carry, so an agent can never post on your behalf without a human. A key holding write also satisfies act, so an older key keeps working unchanged.
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 and monthly spend caps.
| Endpoint | Scope | What it does | MCP tool |
|---|---|---|---|
| GET /api/v1/content/calendar | read | The shared social calendar, source drafts and current Board state. | get_content_calendar |
| POST /api/v1/content/calendar | act | File an idea, original X post or research outcome on its original idea. | record_content |
| GET /api/v1/content/experiments | read | The growth content experiments already run for this product, newest first. | get_experiments |
| GET /api/v1/whoami | read | Confirm the key works and see what it is bound to. | whoami |
| 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 | read | The enrollment's drafted outputs (id, status, kind, title). | list_outputs |
| GET /api/v1/outputs/{id} | read | A single drafted output by id. | get_output |
| GET /api/v1/visibility | read | The measured AI visibility (GEO) results: share of voice, per-engine coverage, tracked questions, gaps, cited sources, trend, plus the off-site reach signals. | get_visibility |
| GET /api/v1/seo | read | The site-wide SEO audit: issue groups, score trend, page performance, links and authority, and the day-0 search ranks. | get_seo |
| GET /api/v1/competitors | read | The competitor roster with the measured stat battery for you and each rival. | get_competitors |
| GET /api/v1/outcomes | read | What the shipped moves earned: tracked-link clicks, shipped counters, the weekly movement scoreboard. | get_outcomes |
| GET /api/v1/snapshot | read | The scan this product run started from (the stable business context). | get_snapshot |
| GET /api/v1/activity | read | The product timeline: what the agent and the founder already did and why. Newest first. | get_activity |
| GET /api/v1/kb/pages | read | The Memory pages (the shared record): summaries only, no bodies. | list_kb_pages |
| GET /api/v1/kb/pages/{slug} | read | One Memory page by slug, with its full markdown body. | get_kb_page |
| GET /api/v1/kb/voice-profile | read | The structured voice the engine drafts in: tone, characteristic phrases, vocabulary, sentence style and what it avoids, in the register you ask for. | get_voice_profile |
| GET /api/v1/kb/business-context | read | The structured positioning facts and latest saved growth strategy: audience, value proposition, competitors, stage, bottleneck, bets and non-goals. | get_business_context |
| GET /api/v1/kb/claims | read | The measured numbers this founder will stand behind in public, each with the caveat that travels with it and the keywords that say when it is the relevant one. | get_claims |
| POST /api/v1/kb/claims/record | act | Put one measured number the founder will stand behind, with its caveat, into this product run's claim library. | record_claim |
| POST /api/v1/kb/voice-axes | act | Write the calibrated leans from a voice round into the founder's OWN voice profile, never the brand's. | set_voice_axes |
| POST /api/v1/kb/voice-rules/record | act | Save one writing rule the person approved into their OWN voice, which their morning posts follow. | record_voice_rule |
| GET /api/v1/standup | read | The daily growth standup in one call: what shipped and was verified, what is ready to act on, what the engine did on its own, what is still running, and when the next scan lands. | get_standup |
| GET /api/v1/moves/{id} | read | One growth move in full: the writing brief (evidence, deliverable, receipt, the rules the finished work must meet and the voice to write it in). | get_move |
| POST /api/v1/moves/{id}/accept | act | Accept a move and create or reuse its durable preparation attempt. | accept_move |
| POST /api/v1/moves/{id}/ship | act | Record the founder's explicit confirmation that work is complete. | ship_move |
| POST /api/v1/moves/{id}/review | act | Revise, withdraw or adopt the current preparation result. | review_move |
| POST /api/v1/moves/{id}/skip | act | Dismiss a move (the founder's Skip action). | skip_move |
| POST /api/v1/moves/{id}/draft | act | Replace a pending move's draft body before shipping. | update_draft |
| POST /api/v1/moves/{id}/archive | act | Archive a move (a lighter dismissal that hides it from the Board). | archive_move |
| POST /api/v1/moves/{id}/undo | act | Restore a just-shipped or just-skipped move to pending (the founder's Undo). | undo_move |
| POST /api/v1/outputs/{id}/status | act | Resolve one drafted output in the review queue: ship (mark done / posted-status, no channel publish) or skip. | set_output_status |
| POST /api/v1/outputs/{id}/redraft | act | Replace a drafted output's body with an edited version before it is resolved (manual edit only). | redraft_output |
| POST /api/v1/scans/{scan}/refresh | writeMetered | Run an on-demand AI Visibility scan (metered; one scan per scan type per product per local day). | refresh_scan |
| POST /api/v1/feed/replenish | writeMetered | Generate a fresh batch of Board moves on demand (metered). | replenish_feed |
| POST /api/v1/loops/{loopType}/run | writeMetered | Administrator-only loop generation once, on demand (metered; 1 credit per loop per cycle, repeats in the same cycle replay at no cost). | run_loop |
| POST /api/v1/loops/{loopType}/autonomy | config | Set a growth loop's autonomy rung (admin only). | set_loop_autonomy |
| POST /api/v1/loops/{loopType}/cadence | config | Slow or pause a growth loop's cadence for this product (admin only). | set_loop_cadence |
| POST /api/v1/scans/ai_visibility/config | config | Configure AI visibility engines, questions and cadence (administrator only). | set_scan_config |
| POST /api/v1/scans/ai_visibility/intensity | config | Configure AI visibility engines, questions and cadence (administrator only). | set_scan_config |
| POST /api/v1/billing/checkout | act | Mint a Founder-tier checkout link for the founder to complete payment. | create_checkout |
| POST /api/v1/billing/topup | act | Mint a credit top-up checkout link for the founder to complete payment (Founder tier). | create_topup |
| POST /api/v1/outputs/{id}/approve | egressMetered | Approve one drafted output for dispatch (metered egress). | REST only |
| GET /api/v1/connections | read | Which growth data sources and posting channels are connected to this product run, and honestly why the rest are not. | list_connections |
| POST /api/v1/connections/start | write | Mint a one-time link the founder opens to connect a source. The founder completes the consent; the agent never does. | start_connection |
| POST /api/v1/connections/poll | read | Learn the outcome of a connection link the founder was given. Idempotent. | poll_connection |
| POST /api/v1/connections/disconnect | config | Disconnect a source and delete its stored credential. Config scope: it is an account setting, not a move. | disconnect_connection |
| GET /api/v1/visibility/prompts | read | The customer questions this product run is measured on across the AI answer engines, with the cap and how much of it is used. | list_tracked_prompts |
| POST /api/v1/visibility/prompts/track | config | Add one customer question to the tracked AI visibility set (Founder tier; hard cap of 15). | track_prompt |
| POST /api/v1/visibility/prompts/untrack | config | Remove one customer question from the tracked AI visibility set (Founder tier; idempotent). | untrack_prompt |
| GET /api/v1/scoreboard | read | The period proof: measured AI visibility before and after, what was shipped between them, and the verified receipts. | get_scoreboard |
| POST /api/v1/visibility/gaps/dismiss | act | Resolve an AI visibility gap the founder is not going to act on, on both the AI Visibility surface and the Feed. | dismiss_gap |
| POST /api/v1/memory/insights/record | act | Write one durable thing the founder just revealed (a preference, a voice rule, a fact, an outcome) into this product run's Memory. | record_insight |
| POST /api/v1/moves/propose | act | Put a thread you found on somebody else's venue onto this product run's board as a pending move, with the reason and an optional draft. | propose_move |
| GET /api/v1/queue | act | Unclaimed preparation jobs, oldest first, with their current attempt ids. | list_queue |
| POST /api/v1/queue/{id}/pick-up | act | Claim one queued job so no other agent works the same move. | pick_up_job |
| POST /api/v1/queue/{id}/report | act | Report running, ready for review, failed, or a legacy completion. | report_job |
| POST /api/v1/onboard/start | pre-auth | Agent-initiated onboarding: submit a founder URL + email; the founder approves by email. Each email gets one free trial. Different people may analyse the same public site in separate accounts. Follow the existing request status when retrying for the same email. | REST only |
| POST /api/v1/onboard/poll | pre-auth | Agent-initiated onboarding: exchange the device code for the minted API key (exactly once). | REST only |
| POST /api/v1/starter/redeem | pre-auth | Redeem a one-time starter token for an API key carrying the read and act scopes. The key is minted at redemption and returned exactly once; the token dies in the same moment and starters expire after 15 minutes either way. | REST only |
- get_setup_snippet: The paste-able 'Growth (AfterLaunch)' section for a repo's CLAUDE.md or AGENTS.md.
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.
Find AfterLaunch in the MCP registries
The same server, listed where agents and their operators look for MCP tools. Every entry resolves to the endpoint above, https://afterlaunch.io/api/mcp.
- Official MCP registry: io.afterlaunch/agentic-growth-marketing (v1.0.0).
- Glama.
- Smithery.
- npm: afterlaunch.
- GitHub: github.com/afterlaunch/mcp.
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 an API key exactly once, carrying the read, act and write scopes. The founder's free scan and trial start at approval.
The flow is open. It is rate limited per IP address and per email address, and each site gets one free trial (per registrable domain, so subdomains count as the same site).
Start with the free scan, then mint a key in Settings.
See what AfterLaunch does