Overview
Base URL, versioning, content types, authentication and the full endpoint list for the Nick Launches REST API.
The REST API covers the same ground as the MCP server, for callers that are not MCP clients: scripts, CI jobs, and anything that already speaks HTTP.
https://nicklaunches.com/api/v1/An OpenAPI document is published at
https://nicklaunches.com/api/v1/openapi.json. It is
generated from the same schemas the handlers validate against, so it cannot drift from the
implementation.
Endpoints
| Method | Path | Auth |
|---|---|---|
GET | /api/v1/products/ | None |
GET | /api/v1/products/{slug}/ | None |
GET | /api/v1/directories/ | None |
POST | /api/v1/launch-readiness/ | None, rate limited |
POST | /api/v1/submissions/ | Bearer |
GET | /api/v1/me/launches/ | Bearer |
Search the catalog and read one listing.
Audit a URL before submitting.
Open a launch draft.
Conventions
Trailing slashesrequiredThe site sets trailingSlash: true. /api/v1/products answers with a 308 to /api/v1/products/. Most HTTP
clients follow that on a GET and quietly drop the body on a POST, so always send the slashed form.
Content typeapplication/jsonRequests with a body send Content-Type: application/json. Every response is JSON.
VersioningpathThe version lives in the path. Breaking changes arrive as /api/v2/, they never change the meaning of a field under
/api/v1/.
CORSanonymous reads onlyThe anonymous GET endpoints answer with Access-Control-Allow-Origin: *, so they can be called from a browser.
Authenticated endpoints do not, because a bearer token has no business being in front end code.
Authentication
Reads need nothing. Writes need a bearer token, which you get once from the approval page described in Authentication. There is no key creation screen and no client secret.
curl -X POST https://nicklaunches.com/api/v1/submissions/ \
-H "Authorization: Bearer nl_ct_your_token" \
-H "Content-Type: application/json" \
-d '{"url":"https://example.com"}'The token is shown once and only its hash is stored. If you lose it, revoke the connection at /profile/connections/ and pair again.
Directories
GET /api/v1/directories/
The vetted launch directory catalog. Anonymous.
limit1-100default: 25How many directories to return.
curl "https://nicklaunches.com/api/v1/directories/?limit=50"Your launches
GET /api/v1/me/launches/
Every launch on the account the token belongs to, drafts included. Takes no parameters and never returns anyone else's products.
curl https://nicklaunches.com/api/v1/me/launches/ \
-H "Authorization: Bearer nl_ct_your_token"Errors
Errors carry the same codes as the MCP tools, so one table covers both transports:
UNAUTHORIZED, FORBIDDEN, NOT_FOUND, BAD_REQUEST, TOO_MANY_REQUESTS,
INTERNAL_SERVER_ERROR. See Errors for the HTTP status each maps to.
What the API will not do
There is no endpoint that publishes a launch, selects a plan, reserves a week or takes a payment. POST /api/v1/submissions/ creates a draft and stops. A human finishes at /submit/plan/ and an admin
reviews before anything goes live.