processing (AI generation in progress), draft (ready for editing), published (finalized and visible).
List Releases
GET /api/projects/:projectId/releases
Returns all releases for the specified project, ordered by creation date descending.
Path Parameters
string
required
The UUID of the project.
Generate Release
POST /api/projects/:projectId/releases/generate
Triggers AI generation of release notes from GitHub commits in the given date range. The release is created immediately with status: "processing" and transitions to status: "draft" when the AI finishes (or status: "draft" with an errorMessage if generation fails). Poll the Get Release endpoint to check progress.
Path Parameters
string
required
The UUID of the project.
string
required
Start of the commit date range, ISO 8601 format (e.g.,
2024-01-01).string
required
End of the commit date range, ISO 8601 format (e.g.,
2024-01-31).array
required
One or more GitHub repository URLs to pull commits from (e.g.,
["https://github.com/org/repo"]).201 Created
Get Release
GET /api/projects/:projectId/releases/:releaseId
Returns a single release by its ID. Use this to poll for status transitions from processing to draft.
Path Parameters
string
required
The UUID of the project.
string
required
The UUID of the release.
Update Release
PUT /api/projects/:projectId/releases/:releaseId
Updates the title or content of a release. You can edit draft releases before publishing.
Path Parameters
string
required
The UUID of the project.
string
required
The UUID of the release to update.
string
Updated release title.
string
Updated Markdown content.
Delete Release
DELETE /api/projects/:projectId/releases/:releaseId
Permanently deletes a release and all its attachments.
Path Parameters
string
required
The UUID of the project.
string
required
The UUID of the release to delete.
Publish Release
POST /api/projects/:projectId/releases/:releaseId/publish
Marks a draft release as published and records the current timestamp in publishedAt.
Path Parameters
string
required
The UUID of the project.
string
required
The UUID of the release to publish.
Export Release
GET /api/projects/:projectId/releases/:releaseId/export
Returns the release content as a downloadable Markdown file.
Path Parameters
string
required
The UUID of the project.
string
required
The UUID of the release to export.
200 OK with Content-Type: text/markdown and a Content-Disposition: attachment header containing the Markdown content.
Send to Slack
POST /api/projects/:projectId/releases/:releaseId/send-slack
Sends the release to the Slack channel configured in the project’s release settings. Requires a Slack integration to be set up for the project.
Path Parameters
string
required
The UUID of the project.
string
required
The UUID of the release to send.
Send via Email
POST /api/projects/:projectId/releases/:releaseId/send-email
Sends the release to the email recipients configured in the project’s release settings.
Path Parameters
string
required
The UUID of the project.
string
required
The UUID of the release to send.
Release Object
string
UUID that uniquely identifies the release.
string
UUID of the project that owns this release.
string
The release title, editable after generation.
string
The release body in Markdown format. Empty string while
status is processing.string
Current lifecycle state. One of
processing, draft, or published.string
ISO 8601 timestamp for the start of the commit range used to generate this release.
string
ISO 8601 timestamp for the end of the commit range.
array
Array of GitHub repository URLs that were analyzed.
integer
Number of commits included in the generated release notes.
string
Populated if AI generation failed;
null otherwise.string
ISO 8601 timestamp of when the release was published, or
null if still a draft.string
ISO 8601 timestamp of creation.
string
ISO 8601 timestamp of the last update.