Developers

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

  1. Create your account and mint a key. Run the free Growth Snapshot 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.
  2. Connect over MCP or plain HTTPS. Every request carries the key as a bearer token (Authorization: Bearer al_...). From Claude Code:
    claude mcp add afterlaunch --transport http https://afterlaunch.io/api/mcp --header "Authorization: Bearer al_..."
    Or read the Feed directly:
    curl -H "Authorization: Bearer al_..." https://afterlaunch.io/api/v1/feed

    On 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.

  3. Read, then act. The read scope covers the ranked Feed of prepared growth moves, the measured signal data (AI visibility, SEO, competitors, outcomes, the day-0 snapshot, 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.

EndpointScopeWhat it doesMCP tool
GET /api/v1/feedreadThe ranked backlog of prepared growth moves.list_feed
GET /api/v1/loopsreadThe automated loops on the enrollment and their autonomy.get_loop_status
GET /api/v1/loops/{loopType}readThe automated loops on the enrollment and their autonomy.get_loop_status
GET /api/v1/enrollmentreadThe product-run summary and delivery settings.get_enrollment
GET /api/v1/outputsreadThe enrollment's drafted outputs (id, status, kind, title).list_outputs
GET /api/v1/outputs/{id}readA single drafted output by id.get_output
GET /api/v1/visibilityreadThe 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/seoreadThe site-wide SEO audit: issue groups, score trend, page performance, links and authority, and the day-0 search ranks.get_seo
GET /api/v1/competitorsreadThe competitor roster with the measured stat battery for you and each rival.get_competitors
GET /api/v1/outcomesreadWhat the shipped moves earned: tracked-link clicks, shipped counters, the weekly movement scoreboard.get_outcomes
GET /api/v1/snapshotreadThe Growth Snapshot diagnostic this product run started from (the stable business context).get_snapshot
GET /api/v1/activityreadThe product timeline: what the agent and the founder already did and why. Newest first.get_activity
GET /api/v1/kb/pagesreadThe Memory pages (the shared record): summaries only, no bodies.list_kb_pages
GET /api/v1/kb/pages/{slug}readOne Memory page by slug, with its full markdown body.get_kb_page
GET /api/v1/standupreadThe daily growth standup in one call: what shipped and was verified, what is ready to act on, what is waiting on the founder, what is still running, and when the next scan lands.get_standup
GET /api/v1/moves/{id}readOne 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}/shipactMark a move shipped (the founder's Ship action).ship_move
POST /api/v1/moves/{id}/skipactDismiss a move (the founder's Skip action).skip_move
POST /api/v1/moves/{id}/draftactReplace a pending move's draft body before shipping.update_draft
POST /api/v1/moves/{id}/archiveactArchive a move (a lighter dismissal that hides it from the Feed).archive_move
POST /api/v1/moves/{id}/undoactRestore a just-shipped or just-skipped move to pending (the founder's Undo).undo_move
POST /api/v1/outputs/{id}/statusactResolve 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}/redraftactReplace a drafted output's body with an edited version before it is resolved (manual edit only).redraft_output
POST /api/v1/scans/{scan}/refreshwriteMeteredRun an on-demand AI Visibility scan (metered; one scan per scan type per product per local day).refresh_scan
POST /api/v1/feed/replenishwriteMeteredGenerate a fresh batch of Feed moves on demand (metered).replenish_feed
POST /api/v1/loops/{loopType}/runwriteMeteredRun a loop's 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}/autonomyconfigSet a growth loop's autonomy rung (Founder tier).set_loop_autonomy
POST /api/v1/loops/{loopType}/cadenceconfigSlow or pause a growth loop's cadence for this product (Founder tier).set_loop_cadence
POST /api/v1/scans/ai_visibility/intensityconfigSet how many passes an AI visibility scan makes per question (Founder tier).set_scan_intensity
POST /api/v1/billing/checkoutactMint a Founder-tier checkout link for the founder to complete payment.create_checkout
POST /api/v1/billing/topupactMint a credit top-up checkout link for the founder to complete payment (Founder tier).create_topup
POST /api/v1/outputs/{id}/approveegressMeteredApprove one drafted output for dispatch (metered egress).REST only
GET /api/v1/connectionsreadWhich 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/startwriteMint 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/pollreadLearn the outcome of a connection link the founder was given. Idempotent.poll_connection
POST /api/v1/connections/disconnectconfigDisconnect a source and delete its stored credential. Config scope: it is an account setting, not a move.disconnect_connection
GET /api/v1/visibility/promptsreadThe buyer 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/trackconfigAdd one buyer question to the tracked AI visibility set (Founder tier; hard cap of 15).track_prompt
POST /api/v1/visibility/prompts/untrackconfigRemove one buyer question from the tracked AI visibility set (Founder tier; idempotent).untrack_prompt
GET /api/v1/scoreboardreadThe period proof: measured AI visibility before and after, what was shipped between them, and the verified receipts.get_scoreboard
POST /api/v1/visibility/gaps/dismissactResolve 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/recordactWrite 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/onboard/startpre-authAgent-initiated onboarding: submit a founder URL + email; the founder approves by email. Each site (registrable domain; subdomains count as the same site) gets one free trial, so do not retry with a fresh email or a different subdomain if the site has already been onboarded.REST only
POST /api/v1/onboard/pollpre-authAgent-initiated onboarding: exchange the device code for the minted API key (exactly once).REST only

MCP also exposes whoami, get_setup_snippet 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:

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.

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 Growth Snapshot 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). Access is opening in waves, so a refused request means your wave has not opened yet.

Start with the free Growth Snapshot, then mint a key in Settings.

See what AfterLaunch does