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

EndpointScopeWhat it doesMCP tool
GET /api/v1/content/calendarreadThe shared social calendar, source drafts and current Board state.get_content_calendar
POST /api/v1/content/calendaractFile an idea, original X post or research outcome on its original idea.record_content
GET /api/v1/content/experimentsreadThe growth content experiments already run for this product, newest first.get_experiments
GET /api/v1/whoamireadConfirm the key works and see what it is bound to.whoami
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 scan 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/kb/voice-profilereadThe 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-contextreadThe 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/claimsreadThe 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/recordactPut 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-axesactWrite 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/recordactSave one writing rule the person approved into their OWN voice, which their morning posts follow.record_voice_rule
GET /api/v1/standupreadThe 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}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}/acceptactAccept a move and create or reuse its durable preparation attempt.accept_move
POST /api/v1/moves/{id}/shipactRecord the founder's explicit confirmation that work is complete.ship_move
POST /api/v1/moves/{id}/reviewactRevise, withdraw or adopt the current preparation result.review_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 Board).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 Board moves on demand (metered).replenish_feed
POST /api/v1/loops/{loopType}/runwriteMeteredAdministrator-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}/autonomyconfigSet a growth loop's autonomy rung (admin only).set_loop_autonomy
POST /api/v1/loops/{loopType}/cadenceconfigSlow or pause a growth loop's cadence for this product (admin only).set_loop_cadence
POST /api/v1/scans/ai_visibility/configconfigConfigure AI visibility engines, questions and cadence (administrator only).set_scan_config
POST /api/v1/scans/ai_visibility/intensityconfigConfigure AI visibility engines, questions and cadence (administrator only).set_scan_config
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 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/trackconfigAdd one customer question to the tracked AI visibility set (Founder tier; hard cap of 15).track_prompt
POST /api/v1/visibility/prompts/untrackconfigRemove one customer 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/moves/proposeactPut 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/queueactUnclaimed preparation jobs, oldest first, with their current attempt ids.list_queue
POST /api/v1/queue/{id}/pick-upactClaim one queued job so no other agent works the same move.pick_up_job
POST /api/v1/queue/{id}/reportactReport running, ready for review, failed, or a legacy completion.report_job
POST /api/v1/onboard/startpre-authAgent-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/pollpre-authAgent-initiated onboarding: exchange the device code for the minted API key (exactly once).REST only
POST /api/v1/starter/redeempre-authRedeem 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
MCP also exposes, with no REST endpoint:
  • 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:

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