# AfterLaunch public API API

**Canonical:** https://apis.io/apis/afterlaunch-io/afterlaunch-public-api-api/  
**Provider:** AfterLaunch — https://apis.io/providers/afterlaunch-io/  
**Base URL:** https://afterlaunch.io  
**Documentation:** https://afterlaunch.io/openapi.json

AfterLaunch public API API is one of 2 APIs that [AfterLaunch](https://apis.io/providers/afterlaunch-io/) publishes on the [APIs.io](https://apis.io/) network, described by a machine-readable OpenAPI specification. The published artifact set on APIs.io includes an OpenAPI specification.

AfterLaunch is the agentic growth engine: continuous measurement of how a product gets found, kept as a record and ranked into briefed growth moves. This API is access to one AfterLaunch product run: read the ranked Feed of prepared growth moves, the automated loops and their autonomy, and drafted o

## Operations (60 of 70)

| Method | Path | Summary |
|---|---|---|
| GET | `/api/v1/content/calendar` | Read this product run's calendar, up to 100 saved source drafts and their current canonical Feed state. Requires read. Honour queue_position and needs_data. ... |
| POST | `/api/v1/content/calendar` | File a research idea, original X post or append-only research outcome. Research records preserve the original question, evidence, hold and lifecycle. The cal... |
| GET | `/api/v1/content/experiments` | Read the growth content experiments already run for this product run, newest first by ran_at. Requires read. Each result is one observation with its stated s... |
| GET | `/api/v1/whoami` | Confirm the key works and see what it is bound to, in one call: enrollment_id, key_name, key_prefix and scopes, the product_url this run is about, tier and a... |
| GET | `/api/v1/feed` | The ranked backlog of prepared growth moves. Live (pending) moves only by default; resolved moves (shipped, skipped, archived, expired) keep stale ranks, so ... |
| GET | `/api/v1/loops` | Every loop PROVISIONED on the enrollment with its autonomy, plus runnable_loop_types: the loop types POST /loops/{loopType}/run accepts. The sets differ: a r... |
| GET | `/api/v1/loops/{loopType}` | One loop by type. |
| GET | `/api/v1/enrollment` | The product-run summary and delivery settings, including the product identity: product_url (the site this run is about), tier (free, founder, growth or scale... |
| GET | `/api/v1/outputs` | The enrollment's drafted outputs (summary; newest first). |
| GET | `/api/v1/outputs/{id}` | A single drafted output. |
| GET | `/api/v1/visibility` | The measured AI visibility (GEO) results: share of voice, per-engine coverage, tracked questions with per-engine presence, cited sources with their outreach ... |
| GET | `/api/v1/seo` | The site-wide SEO audit: issue groups with severity, affected pages and recommendations (recommendations blank on the free tier, as in the app), the weekly s... |
| GET | `/api/v1/competitors` | The competitor roster with the measured stat battery for you and each rival (performance, SEO, Core Web Vitals, domain age and authority, G2 and Product Hunt... |
| GET | `/api/v1/outcomes` | What the shipped growth moves earned: tracked-link clicks per move, shipped-move counters, the weekly movement scoreboard, and the GA4 / Search Console conne... |
| GET | `/api/v1/snapshot` | The scan this product run started from: positioning, the prioritised actions with impact and effort, the competitor set, and the day-0 SEO and AI visibility ... |
| GET | `/api/v1/activity` | The product timeline: what the agent and the founder already did and why (drafts, ships, skips, scans, observations, decisions with rationale), newest first.... |
| GET | `/api/v1/kb/pages` | The Memory pages (the shared record the growth engine drafts from): summaries with a content-size hint, no bodies. Fetch one body via /api/v1/kb/pages/{slug}... |
| GET | `/api/v1/kb/pages/{slug}` | One Memory page by slug, with its full markdown body (capped at 20000 characters; truncated flags a cut tail). Slugs come from /api/v1/kb/pages. |
| GET | `/api/v1/kb/voice-profile` | The structured voice the engine drafts in: tone, characteristic phrases, vocabulary, sentence style and what it avoids, capped exactly as the drafting contex... |
| GET | `/api/v1/kb/business-context` | The structured positioning facts the engine drafts from: strategic_positioning (one-liner, primary value prop, target audience, notable differentiators), cat... |
| GET | `/api/v1/kb/claims` | The claim library on this product run: the measured numbers the founder will stand behind in public, newest first. Each carries text (the claim in one senten... |
| POST | `/api/v1/kb/claims/record` | Put one measured number the founder will stand behind in public, with the caveat that travels with it, into this product run's claim library. Scope 'act'; fr... |
| POST | `/api/v1/kb/voice-axes` | Write the calibrated leans from a voice round into the FOUNDER'S OWN voice profile, the personal register. It can never touch the brand register: the brand v... |
| POST | `/api/v1/kb/voice-rules/record` | Save one writing rule the person approved into their OWN voice profile, the personal register, never the brand's. The morning posts drafted for them follow i... |
| POST | `/api/v1/profiles/record` | File one public profile or listing the person already has on a directory site (Settings, Your profiles), so AfterLaunch counts it as a verified presence and ... |
| POST | `/api/v1/competitors/add` | Add one company the person confirmed they compete with to their rival roster (Memory, Who you're up against), which the next AI visibility scan measures them... |
| GET | `/api/v1/standup` | The daily growth standup in one call: receipts (recently shipped moves with what was verified live and the clicks they earned), ready (the top ranked moves t... |
| GET | `/api/v1/moves/{id}` | One growth move in full. Source move material remains distinct from prepared_result, the durable worker result for this exact move and attempt. A ready resul... |
| POST | `/api/v1/moves/{id}/accept` | Accept a move after the founder says yes. Atomically records or reuses one durable preparation attempt. A configured worker starts only when launch_won is tr... |
| POST | `/api/v1/moves/{id}/ship` | Record explicit founder-confirmed completion. prepared_result confirms the exact reviewed attempt; independent_work records work the founder performed separa... |
| POST | `/api/v1/moves/{id}/review` | Record an explicit founder review decision: revise, withdraw, adopt an inspected legacy result, or correct a publication record. Revision creates a new attem... |
| POST | `/api/v1/moves/{id}/skip` | Dismiss a move (the founder's Skip action). Free; scope 'act'. |
| POST | `/api/v1/moves/{id}/draft` | Replace a pending move's draft body before shipping. Free; scope 'act'. |
| POST | `/api/v1/moves/{id}/archive` | Archive a move (a lighter dismissal that hides it from the moves list). Free; scope 'act'. |
| POST | `/api/v1/moves/{id}/undo` | Restore a just-shipped or just-skipped move to pending (the founder's Undo): the self-correction verb for a wrong ship or skip. Free; scope 'act'. Idempotent... |
| POST | `/api/v1/outputs/{id}/status` | Resolve one drafted output in the review queue: ship (mark done / posted-status WITHOUT publishing to a channel) or skip. Never posts anywhere; real channel ... |
| POST | `/api/v1/outputs/{id}/redraft` | Replace a drafted output's body with an edited version before it is resolved. Manual replacement only: the instruction-driven AI redraft stays in the app. Th... |
| POST | `/api/v1/scans/{scan}/refresh` | METERED: run an on-demand AI Visibility scan. Scope 'write'; Founder tier; ONE scan per scan type per product per local day (any repeat that day replays the ... |
| POST | `/api/v1/feed/replenish` | METERED: generate a fresh batch of growth moves on demand (the in-app 'Find more moves'). Scope 'write'; Founder tier; once a day per product; per-tenant dai... |
| POST | `/api/v1/loops/{loopType}/run` | METERED: administrator-only loop generation once, on demand. Scope 'write'; costs 1 credit per loop per cycle (a repeat run in the same cycle replays at no c... |
| POST | `/api/v1/outreach/preenrol` | Administrator only: pre-enrol outreach products. Each row gets an account under the alias outreach-<slug>@guest.afterlaunch.io, a snapshot and a paused enrol... |
| POST | `/api/v1/outreach/drafts` | Administrator only: file the day's outreach email drafts into the review queue the owner sends from. Keyed (host, campaign, kind): a new key is inserted as q... |
| GET | `/api/v1/outreach/drafts` | Administrator only: one batch date's outreach drafts with their status, sent time, Resend id and any error, oldest first, at most 500. Scope 'read'. |
| GET | `/api/v1/outreach/loops` | Administrator only: the outreach send loop's and draft loop's switches (the cold-mail transport, the per-mailbox cap and the hand-raisers source's four among... |
| POST | `/api/v1/outreach/loops` | Administrator only: set any of the outreach loops' fifteen switches, at least one, within the log strip's own bounds (the hand-raiser four within their own).... |
| POST | `/api/v1/outreach/loops/fire` | Administrator only: run the outreach send loop or draft loop now. Emits the event the loop's own daily tick emits; the loop's live switch and its day claim g... |
| POST | `/api/v1/loops/{loopType}/autonomy` | Administrator-only loop autonomy configuration (review, one_click, autonomous). Scope 'config'. Social channels never accept 'autonomous'. |
| POST | `/api/v1/loops/{loopType}/cadence` | Slow or pause a loop's cadence for this product. Scope 'config'; administrator access. The bounded enum can only SLOW or pause a loop, never speed it up. 'de... |
| POST | `/api/v1/scans/ai_visibility/config` | Set how AI visibility scans run: which engines to ask and how often. Every paid scan asks the included 50 questions, so the question count is fixed: only 50 ... |
| POST | `/api/v1/scans/ai_visibility/intensity` | RETIRED, kept live for one release: use POST /api/v1/scans/ai_visibility/config instead. Forwards to the same verb, so an existing integration keeps working.... |
| POST | `/api/v1/billing/checkout` | Mint a Founder-tier checkout link for this product run. Returns a checkout_url the founder opens to pay; once payment succeeds the Dodo webhook upgrades THIS... |
| POST | `/api/v1/billing/topup` | Mint a credit top-up checkout link for this product run. Pass pack_id ('small', 'medium' or 'large'). Returns a checkout_url the founder opens to pay; once p... |
| POST | `/api/v1/outputs/{id}/approve` | METERED: approve one drafted output for dispatch (the in-app Post now). Scope 'egress'; Founder tier; credits metered with the output id as the idempotency r... |
| GET | `/api/v1/connections` | Which growth data sources and distribution channels are connected to this product run: Google Analytics 4, Search Console, Google Business Profile, and the L... |
| POST | `/api/v1/connections/start` | Mint a one-time link the FOUNDER opens in their own browser to connect a source. A machine credential never completes third-party OAuth consent, so this retu... |
| POST | `/api/v1/connections/poll` | Did the founder finish the connection you handed them a link for? POST rather than GET because the poll token is a credential and a credential in a query str... |
| POST | `/api/v1/connections/disconnect` | Disconnect a source and delete the credential AfterLaunch stored for it (for Google it is also revoked at Google). Scope 'config', not act: destroying a cred... |
| GET | `/api/v1/visibility/prompts` | The customer questions this product run is measured on across the AI answer engines. Returns prompts (in tracking order), cap (the hard limit of 15), used, a... |
| POST | `/api/v1/visibility/prompts/track` | Add one customer question to the tracked AI visibility set. Scope 'config'; Founder tier; free and unmetered (no LLM call, no paid API, no email). Two conseq... |
| POST | `/api/v1/visibility/prompts/untrack` | Remove one customer question from the tracked AI visibility set, freeing a slot against the included cap of 50. POST rather than DELETE because the question ... |

…and 10 more operations. They are listed in full on the page.

## Machine-readable artifacts (1)

- **OpenAPI** — https://artifacts.apis.io/afterlaunch-io/openapi/_original/afterlaunch-io-api-openapi.json

## Other AfterLaunch APIs (1)

- [AfterLaunch API](https://apis.io/apis/afterlaunch-io/afterlaunch-api/)

---

Profiled by [API Evangelist](https://apievangelist.com) and published on [APIs.io](https://apis.io/apis/afterlaunch-io/afterlaunch-public-api-api/). The API's provider profile, Kin Score and agent-readiness rating are at https://apis.io/providers/afterlaunch-io/.
