Public REST/JSON reference
Changeloggen API
Auto-generate user-facing changelog entries from your merged GitHub pull requests. Connect a repo, watch as PRs are classified (feature, bugfix, security, breaking change, internal), edit copy in-place, and publish a release-notes block to GitHub Releases, a CHANGELOG.md commit, your website, or a webhook. Free tier covers public repos. Part of the Logic Igniter Developer & DevOps bundle.
Access boundary
These examples describe public API calls only. Use the service output to review, score, summarize, analyze, or recommend; do not treat the API reference as permission for an assistant to write, send, publish, charge, schedule, notify, delete, or modify records.
Base URL
https://api.logicigniter.comAuth
Authorization: Bearer YOUR_API_KEYVersion
OpenAPI 3.0.3 · 1.0.0Operations rendered
15
Response models rendered
23
/api/v1/changeloggen/healthService liveness
Liveness probe — returns 200 if the service is reachable.
Public REST/JSON operation
This operation is documented for direct API evaluation. It describes the public payload and response contract only; assistant/MCP usage remains read only and is covered in the MCP guide.
Request example
Replace placeholders with your confirmed access key and your own business data.
curl -X GET "https://api.logicigniter.com/api/v1/changeloggen/health" \ -H "Accept: application/json"
Responses
200Service healthy
/api/v1/changeloggen/customersList customers
Public REST/JSON operation
This operation is documented for direct API evaluation. It describes the public payload and response contract only; assistant/MCP usage remains read only and is covered in the MCP guide.
Parameters
| Name | In | Type | Notes |
|---|---|---|---|
page_size | query | integer | |
page_token | query | string |
Request example
Replace placeholders with your confirmed access key and your own business data.
curl -X GET "https://api.logicigniter.com/api/v1/changeloggen/customers" \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Accept: application/json"
Responses
Page of customers
401ErrorMissing or invalid API key.
/api/v1/changeloggen/customersProvision a customer
Idempotent customer provision. Free tier covers public repos only.
Public REST/JSON operation
This operation is documented for direct API evaluation. It describes the public payload and response contract only; assistant/MCP usage remains read only and is covered in the MCP guide.
Request body (required)
Schema: CreateCustomerRequest
Sample JSON payload for evaluation.
{
"email": "[email protected]",
"name": "Example Inc."
}Request example
Replace placeholders with your confirmed access key and your own business data.
curl -X POST "https://api.logicigniter.com/api/v1/changeloggen/customers" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{"email":"[email protected]","name":"Example Inc."}'/api/v1/changeloggen/customers/{id}Get a customer by id
Public REST/JSON operation
This operation is documented for direct API evaluation. It describes the public payload and response contract only; assistant/MCP usage remains read only and is covered in the MCP guide.
Parameters
| Name | In | Type | Notes |
|---|---|---|---|
idrequired | path | string (uuid) |
Request example
Replace placeholders with your confirmed access key and your own business data.
curl -X GET "https://api.logicigniter.com/api/v1/changeloggen/customers/:id" \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Accept: application/json"
/api/v1/changeloggen/customers/{id}Update a customer
Public REST/JSON operation
This operation is documented for direct API evaluation. It describes the public payload and response contract only; assistant/MCP usage remains read only and is covered in the MCP guide.
Parameters
| Name | In | Type | Notes |
|---|---|---|---|
idrequired | path | string (uuid) |
Request body (required)
Schema: UpdateCustomerRequest
Request example
Replace placeholders with your confirmed access key and your own business data.
curl -X PUT "https://api.logicigniter.com/api/v1/changeloggen/customers/:id" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{}'/api/v1/changeloggen/reposList registered repositories
Public REST/JSON operation
This operation is documented for direct API evaluation. It describes the public payload and response contract only; assistant/MCP usage remains read only and is covered in the MCP guide.
Parameters
| Name | In | Type | Notes |
|---|---|---|---|
page_size | query | integer | |
page_token | query | string |
Request example
Replace placeholders with your confirmed access key and your own business data.
curl -X GET "https://api.logicigniter.com/api/v1/changeloggen/repos" \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Accept: application/json"
Responses
Page of repositories
401ErrorMissing or invalid API key.
/api/v1/changeloggen/reposAdd a GitHub repository
Register a public or private GitHub repo to ingest PRs from. Returns the repo id used in subsequent calls. The first ingest runs asynchronously — poll `GET /repos/{id}/prs` to see PRs land.
Public REST/JSON operation
This operation is documented for direct API evaluation. It describes the public payload and response contract only; assistant/MCP usage remains read only and is covered in the MCP guide.
Request body (required)
Schema: AddRepoRequest
Sample JSON payload for evaluation.
{
"github_owner": "example-org",
"github_repo": "example-repo",
"default_branch": "main"
}Request example
Replace placeholders with your confirmed access key and your own business data.
curl -X POST "https://api.logicigniter.com/api/v1/changeloggen/repos" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{"github_owner":"example-org","github_repo":"example-repo","default_branch":"main"}'Responses
201RepositoryRepository registered
400ErrorMissing owner/repo or unreachable repository
401ErrorMissing or invalid API key.
402ErrorEndpoint requires an active subscription. The free tier covers public repos and entry-level usage; paid plans unlock private repos, custom rules, and unlimited releases.
/api/v1/changeloggen/repos/{repo_id}/prsList PRs for a repo
Return the PRs ingested for a given repository, paginated. Each PR carries an auto-assigned `classification` from the configured rules — reclassify via POST /prs/{pr_id}/reclassify when wrong.
Public REST/JSON operation
This operation is documented for direct API evaluation. It describes the public payload and response contract only; assistant/MCP usage remains read only and is covered in the MCP guide.
Parameters
| Name | In | Type | Notes |
|---|---|---|---|
repo_idrequired | path | string (uuid) | |
page_size | query | integer | |
page_token | query | string |
Request example
Replace placeholders with your confirmed access key and your own business data.
curl -X GET "https://api.logicigniter.com/api/v1/changeloggen/repos/:repo_id/prs" \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Accept: application/json"
Responses
/api/v1/changeloggen/prs/{pr_id}/reclassifyReclassify a PR
Manually override the auto-classifier for a single PR. Most useful when training the classifier on a repo's conventions.
Public REST/JSON operation
This operation is documented for direct API evaluation. It describes the public payload and response contract only; assistant/MCP usage remains read only and is covered in the MCP guide.
Parameters
| Name | In | Type | Notes |
|---|---|---|---|
pr_idrequired | path | string (uuid) |
Request body (required)
Schema: ReclassifyPRRequest
Sample JSON payload for evaluation.
{
"classification": "CHANGELOG_CATEGORY_FEATURE"
}Request example
Replace placeholders with your confirmed access key and your own business data.
curl -X POST "https://api.logicigniter.com/api/v1/changeloggen/prs/:pr_id/reclassify" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{"classification":"CHANGELOG_CATEGORY_FEATURE"}'Responses
200PullRequestUpdated PR
400ErrorInvalid classification
401ErrorMissing or invalid API key.
404ErrorPR not found
/api/v1/changeloggen/rulesSet classification rules
Replace the workspace's classification rules. Each PR is classified by checking, in order: GitHub label → conventional-commit prefix → file-path glob. Empty rules object resets to defaults.
Public REST/JSON operation
This operation is documented for direct API evaluation. It describes the public payload and response contract only; assistant/MCP usage remains read only and is covered in the MCP guide.
Request body (required)
Schema: SetRulesRequest
Sample JSON payload for evaluation.
{
"rules": {
"include_internal": false,
"label_overrides": {
"sec": "security"
},
"prefix_map": {
"feat": "feature",
"fix": "bugfix"
},
"file_rules": {
"docs/**": "docs"
}
}
}Request example
Replace placeholders with your confirmed access key and your own business data.
curl -X PUT "https://api.logicigniter.com/api/v1/changeloggen/rules" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{"rules":{"include_internal":false,"label_overrides":{"sec":"security"},"prefix_map":{"feat":"feature","fix":"bugfix"},"file_rules":{"docs/**":"docs"}}}'/api/v1/changeloggen/repos/{repo_id}/entriesList changelog entries for a repo
List the user-facing changelog entries derived from ingested PRs. Optionally filter by category. Each entry is editable (user_facing_description) and excludable (included = false skips it from generated releases).
Public REST/JSON operation
This operation is documented for direct API evaluation. It describes the public payload and response contract only; assistant/MCP usage remains read only and is covered in the MCP guide.
Parameters
| Name | In | Type | Notes |
|---|---|---|---|
repo_idrequired | path | string (uuid) | |
page_size | query | integer | |
page_token | query | string | |
category_filter | query | ChangelogCategory |
Request example
Replace placeholders with your confirmed access key and your own business data.
curl -X GET "https://api.logicigniter.com/api/v1/changeloggen/repos/:repo_id/entries" \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Accept: application/json"
Responses
/api/v1/changeloggen/entries/{entry_id}Edit a changelog entry
Override the auto-generated user-facing description before publishing.
Public REST/JSON operation
This operation is documented for direct API evaluation. It describes the public payload and response contract only; assistant/MCP usage remains read only and is covered in the MCP guide.
Parameters
| Name | In | Type | Notes |
|---|---|---|---|
entry_idrequired | path | string (uuid) |
Request body (required)
Schema: EditEntryRequest
Sample JSON payload for evaluation.
{
"user_facing_description": "Added bulk import for domain monitoring."
}Request example
Replace placeholders with your confirmed access key and your own business data.
curl -X PUT "https://api.logicigniter.com/api/v1/changeloggen/entries/:entry_id" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{"user_facing_description":"Added bulk import for domain monitoring."}'Responses
/api/v1/changeloggen/entries/{entry_id}/excludeExclude an entry from publication
Mark an entry as excluded (`included = false`). Excluded entries don't appear in the next generated release.
Public REST/JSON operation
This operation is documented for direct API evaluation. It describes the public payload and response contract only; assistant/MCP usage remains read only and is covered in the MCP guide.
Parameters
| Name | In | Type | Notes |
|---|---|---|---|
entry_idrequired | path | string (uuid) |
Request example
Replace placeholders with your confirmed access key and your own business data.
curl -X POST "https://api.logicigniter.com/api/v1/changeloggen/entries/:entry_id/exclude" \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Accept: application/json"
Responses
/api/v1/changeloggen/repos/{repo_id}/releasesGenerate a release
Bundle all included entries since the previous release into a versioned `ReleaseChangelog` with rendered Markdown. Does not publish — call POST /releases/{release_id}/publish to deliver to GitHub Releases / a CHANGELOG.md commit / website / webhook.
Public REST/JSON operation
This operation is documented for direct API evaluation. It describes the public payload and response contract only; assistant/MCP usage remains read only and is covered in the MCP guide.
Parameters
| Name | In | Type | Notes |
|---|---|---|---|
repo_idrequired | path | string (uuid) |
Request body (required)
Schema: GenerateReleaseRequest
Sample JSON payload for evaluation.
{
"version": "v1.4.0"
}Request example
Replace placeholders with your confirmed access key and your own business data.
curl -X POST "https://api.logicigniter.com/api/v1/changeloggen/repos/:repo_id/releases" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{"version":"v1.4.0"}'Responses
/api/v1/changeloggen/releases/{release_id}/publishPublish a release
Deliver the generated release to one or more publish targets. If `targets` is empty, uses the targets stored on the release record from the previous attempt — useful for retries.
Public REST/JSON operation
This operation is documented for direct API evaluation. It describes the public payload and response contract only; assistant/MCP usage remains read only and is covered in the MCP guide.
Parameters
| Name | In | Type | Notes |
|---|---|---|---|
release_idrequired | path | string (uuid) |
Request body (required)
Schema: PublishReleaseRequest
Sample JSON payload for evaluation.
{
"targets": [
"PUBLISH_TARGET_GITHUB_RELEASE",
"PUBLISH_TARGET_CHANGELOG_FILE"
]
}Request example
Replace placeholders with your confirmed access key and your own business data.
curl -X POST "https://api.logicigniter.com/api/v1/changeloggen/releases/:release_id/publish" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{"targets":["PUBLISH_TARGET_GITHUB_RELEASE","PUBLISH_TARGET_CHANGELOG_FILE"]}'Responses
Publish result (may include partial failures in `delivered_to`)
401ErrorMissing or invalid API key.
402ErrorEndpoint requires an active subscription. The free tier covers public repos and entry-level usage; paid plans unlock private repos, custom rules, and unlimited releases.
404ErrorRelease not found
Data models
Error
| Field | Type | Notes |
|---|---|---|
errorrequired | string |
ChangelogCategory
PublishTarget
AddRepoRequest
| Field | Type | Notes |
|---|---|---|
github_ownerrequired | string | Example: "example-org" |
github_reporequired | string | Example: "example-repo" |
default_branch | string | Example: "main" |
Repository
| Field | Type | Notes |
|---|---|---|
id | string (uuid) | |
github_owner | string | |
github_repo | string | |
default_branch | string |
ReposResponse
| Field | Type | Notes |
|---|---|---|
items | array<Repository> | |
next_page_token | string | |
total_count | integer |
PullRequest
| Field | Type | Notes |
|---|---|---|
id | string (uuid) | |
repo_id | string (uuid) | |
pr_number | integer | |
title | string | |
classification | ChangelogCategory | |
merged_at | string (date-time) |
PRsResponse
| Field | Type | Notes |
|---|---|---|
items | array<PullRequest> | |
next_page_token | string | |
total_count | integer |
ReclassifyPRRequest
| Field | Type | Notes |
|---|---|---|
classificationrequired | ChangelogCategory |
ClassificationRules
| Field | Type | Notes |
|---|---|---|
include_internal | boolean | |
label_overrides | object | |
prefix_map | object | |
file_rules | object |
SetRulesRequest
| Field | Type | Notes |
|---|---|---|
rulesrequired | ClassificationRules |
ClassificationRulesRecord
| Field | Type | Notes |
|---|---|---|
id | string (uuid) | |
rules | ClassificationRules |
ChangelogEntry
| Field | Type | Notes |
|---|---|---|
id | string (uuid) | |
repo_id | string (uuid) | |
pr_number | integer | |
category | ChangelogCategory | |
user_facing_description | string | |
included | boolean | |
generated_at | string (date-time) |
EntriesResponse
| Field | Type | Notes |
|---|---|---|
items | array<ChangelogEntry> | |
next_page_token | string | |
total_count | integer |
EditEntryRequest
| Field | Type | Notes |
|---|---|---|
user_facing_descriptionrequired | string |
GenerateReleaseRequest
| Field | Type | Notes |
|---|---|---|
versionrequired | string | Example: "v1.4.0" |
ReleaseChangelog
| Field | Type | Notes |
|---|---|---|
id | string (uuid) | |
repo_id | string (uuid) | |
version | string | |
changelog_markdown | string | |
publish_targets | array<PublishTarget> | |
generated_at | string (date-time) |
PublishReleaseRequest
| Field | Type | Notes |
|---|---|---|
targets | array<PublishTarget> |
PublishResult
| Field | Type | Notes |
|---|---|---|
id | string (uuid) | |
success | boolean | |
delivered_to | array<PublishTarget> |
CreateCustomerRequest
| Field | Type | Notes |
|---|---|---|
emailrequired | string (email) | |
namerequired | string |
UpdateCustomerRequest
| Field | Type | Notes |
|---|---|---|
email | string (email) | |
name | string |
Customer
| Field | Type | Notes |
|---|---|---|
id | string (uuid) | |
email | string (email) | |
name | string | |
created_at | string (date-time) |
CustomersResponse
| Field | Type | Notes |
|---|---|---|
items | array<Customer> | |
next_page_token | string | |
total_count | integer |

