REST API

Base URL https://release-ripple-roadmap.lovable.app/api/public/v1. Feed endpoints are public and CORS-enabled; publishing endpoints take an API key. The full contract is in the OpenAPI 3.1 spec.

Authentication

Reading changelogs needs nothing. To publish, create a key in Dashboard → Agents & API and send it as Authorization: Bearer lp_…. Keys have scopes — read, releases:write, roadmap:write — and act on one workspace. Revoke a key and it stops working immediately.

Errors

FieldTypeDescription
400 bad_requestdetails[]Invalid input. details lists each field and what's wrong.
401 unauthorizedMissing, malformed or revoked API key.
402 plan_limitThe Free plan's 10-release limit was reached.
403 forbiddenThe key doesn't have the scope this endpoint needs.
404 not_foundUnknown changelog, release or roadmap item.
409 conflictAnother release already uses this version.
413 payload_too_largeBody over the size limit (200 KB, or 1 MB for /convert).
429 rate_limitedToo many requests. Wait for the seconds in Retry-After.
502 upstream_error/convert couldn't read from GitHub. Try again, or send the text instead.

Changelog feed

get/changelogs/{slug}

Get a changelog

Name, repository, packages, latest version and links to every feed.

Example
curl https://release-ripple-roadmap.lovable.app/api/public/v1/changelogs/acme
get/changelogs/{slug}/releases

List releases

Published releases, newest first, with versions, breaking changes, migration steps and deprecations.

Example
curl "https://release-ripple-roadmap.lovable.app/api/public/v1/changelogs/acme/releases?limit=5&breaking=true"
get/changelogs/{slug}/releases/{release}

Get one release

Look up a release by version (2.0.0 or v2.0.0), URL slug or id.

Example
curl https://release-ripple-roadmap.lovable.app/api/public/v1/changelogs/acme/releases/2.0.0
get/changelogs/{slug}/diff

Compare two versions

Everything that changed after `from` up to and including `to`: releases, breaking changes with migration steps, and deprecations. Use format=markdown for an upgrade guide an agent can follow.

Example
curl "https://release-ripple-roadmap.lovable.app/api/public/v1/changelogs/acme/diff?from=1.4.0&to=2.0.0"
get/changelogs/{slug}/roadmap

Get the public roadmap

Public roadmap items with status and vote counts.

Example
curl "https://release-ripple-roadmap.lovable.app/api/public/v1/changelogs/acme/roadmap?status=planned"
get/changelogs/{slug}/feed.json

JSON Feed 1.1

Standard JSON Feed with LogPulse extensions (`_logpulse`) for version, breaking changes and deprecations.

Example
curl https://release-ripple-roadmap.lovable.app/api/public/v1/changelogs/acme/feed.json
get/changelogs/{slug}/llms.txt

Changelog as llms.txt

The whole changelog as plain text for AI tools.

Example
curl https://release-ripple-roadmap.lovable.app/api/public/v1/changelogs/acme/llms.txt

Tools

get/convert

Convert a GitHub changelog

Free, no key. Fetches a GitHub release, releases page, repository (its CHANGELOG.md, or its releases) or markdown file and returns it as a machine-readable changelog plus an llms.txt-style summary. Rate limit: 10/minute and 100/day per IP.

Example
curl "https://release-ripple-roadmap.lovable.app/api/public/v1/convert?url=https://github.com/vercel/next.js/releases/tag/v15.0.0&format=llms"
post/convert

Convert a changelog

Free, no key. Send CHANGELOG.md text (JSON `markdown`, or a raw text/markdown body) or a GitHub `url`. Understands Keep a Changelog, conventional-changelog, changesets and GitHub release notes. Nothing is stored. Up to 1 MB. Rate limit: 10/minute and 100/day per IP.

Example
curl -X POST https://release-ripple-roadmap.lovable.app/api/public/v1/convert \
  -H "Content-Type: text/markdown" \
  --data-binary @CHANGELOG.md

Publishing

get/me API key

Check an API key

The workspace, plan and scopes an API key belongs to.

Example
curl https://release-ripple-roadmap.lovable.app/api/public/v1/me -H "Authorization: Bearer $LOGPULSE_API_KEY"
get/releases API key

List your releases

Your workspace's releases including drafts. Scope: read.

Example
curl "https://release-ripple-roadmap.lovable.app/api/public/v1/releases?status=draft" -H "Authorization: Bearer $LOGPULSE_API_KEY"
post/releases API key

Create a release

Creates a draft, or publishes right away with status=published (a future published_at schedules it). Publishing updates the widget, hosted changelog, feeds and — on Pro — emails subscribers. Scope: releases:write.

Example
curl -X POST https://release-ripple-roadmap.lovable.app/api/public/v1/releases \
  -H "Authorization: Bearer $LOGPULSE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "title": "Webhooks retry automatically",
    "version": "2.1.0",
    "category": "improved",
    "status": "published",
    "body": "Failed webhook deliveries now retry with backoff for 24 hours.",
    "deprecations": [{ "item": "retry_once option", "replacement": "retry_policy", "removal_version": "3.0" }]
  }'
patch/releases/{release} API key

Update or publish a release

Send only the fields to change. Set status=published to publish a draft. Scope: releases:write.

Example
curl -X PATCH https://release-ripple-roadmap.lovable.app/api/public/v1/releases/2.1.0 \
  -H "Authorization: Bearer $LOGPULSE_API_KEY" \
  -d '{ "status": "published" }'
get/roadmap API key

List your roadmap

Every roadmap item in your workspace, private ones included. Scope: read.

Example
curl https://release-ripple-roadmap.lovable.app/api/public/v1/roadmap -H "Authorization: Bearer $LOGPULSE_API_KEY"
post/roadmap API key

Create a roadmap item

Creates an item, or updates one when `id` is given. Scope: roadmap:write.

Example
curl -X POST https://release-ripple-roadmap.lovable.app/api/public/v1/roadmap \
  -H "Authorization: Bearer $LOGPULSE_API_KEY" \
  -d '{ "title": "SAML single sign-on", "status": "planned", "eta": "Q1" }'
patch/roadmap/{id} API key

Update a roadmap item

Move an item between columns (e.g. to shipped) and link the release that shipped it. Scope: roadmap:write.

Example
curl -X PATCH https://release-ripple-roadmap.lovable.app/api/public/v1/roadmap/ITEM_ID \
  -H "Authorization: Bearer $LOGPULSE_API_KEY" \
  -d '{ "status": "shipped", "linked_release": "2.1.0" }'