Skip to main content

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.com

Auth

Authorization: Bearer YOUR_API_KEY

Version

OpenAPI 3.0.3 · 1.0.0

Operations rendered

15

Response models rendered

23

GET/api/v1/changeloggen/health

Service 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

200

Service healthy

GET/api/v1/changeloggen/customers

List 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

NameInTypeNotes
page_sizequeryinteger
page_tokenquerystring

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

Missing or invalid API key.

POST/api/v1/changeloggen/customers

Provision 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."}'

Responses

Customer created or returned

Invalid email or missing name

Missing or invalid API key.

GET/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

NameInTypeNotes
idrequiredpathstring (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"

Responses

Customer record

Missing or invalid API key.

Customer not found

PUT/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

NameInTypeNotes
idrequiredpathstring (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 '{}'

Responses

Updated customer

Invalid update

Missing or invalid API key.

Customer not found

GET/api/v1/changeloggen/repos

List 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

NameInTypeNotes
page_sizequeryinteger
page_tokenquerystring

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

Missing or invalid API key.

POST/api/v1/changeloggen/repos

Add 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

Repository registered

Missing owner/repo or unreachable repository

Missing or invalid API key.

Endpoint requires an active subscription. The free tier covers public repos and entry-level usage; paid plans unlock private repos, custom rules, and unlimited releases.

GET/api/v1/changeloggen/repos/{repo_id}/prs

List 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

NameInTypeNotes
repo_idrequiredpathstring (uuid)
page_sizequeryinteger
page_tokenquerystring

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

Page of PRs

Missing or invalid API key.

Repository not found

POST/api/v1/changeloggen/prs/{pr_id}/reclassify

Reclassify 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

NameInTypeNotes
pr_idrequiredpathstring (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

Updated PR

Invalid classification

Missing or invalid API key.

PR not found

PUT/api/v1/changeloggen/rules

Set 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"}}}'

Responses

Invalid category key in rules

Missing or invalid API key.

Endpoint requires an active subscription. The free tier covers public repos and entry-level usage; paid plans unlock private repos, custom rules, and unlimited releases.

GET/api/v1/changeloggen/repos/{repo_id}/entries

List 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

NameInTypeNotes
repo_idrequiredpathstring (uuid)
page_sizequeryinteger
page_tokenquerystring
category_filterqueryChangelogCategory

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

Page of entries

Missing or invalid API key.

Repository not found

PUT/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

NameInTypeNotes
entry_idrequiredpathstring (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

Updated entry

Missing or invalid API key.

Entry not found

POST/api/v1/changeloggen/entries/{entry_id}/exclude

Exclude 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

NameInTypeNotes
entry_idrequiredpathstring (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

Entry excluded

Missing or invalid API key.

Entry not found

POST/api/v1/changeloggen/repos/{repo_id}/releases

Generate 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

NameInTypeNotes
repo_idrequiredpathstring (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

Generated release

Missing or duplicate version

Missing or invalid API key.

Endpoint requires an active subscription. The free tier covers public repos and entry-level usage; paid plans unlock private repos, custom rules, and unlimited releases.

Repository not found

POST/api/v1/changeloggen/releases/{release_id}/publish

Publish 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

NameInTypeNotes
release_idrequiredpathstring (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`)

Missing or invalid API key.

Endpoint requires an active subscription. The free tier covers public repos and entry-level usage; paid plans unlock private repos, custom rules, and unlimited releases.

Release not found

Data models

Error

FieldTypeNotes
errorrequiredstring

ChangelogCategory

PublishTarget

AddRepoRequest

FieldTypeNotes
github_ownerrequiredstringExample: "example-org"
github_reporequiredstringExample: "example-repo"
default_branchstringExample: "main"

Repository

FieldTypeNotes
idstring (uuid)
github_ownerstring
github_repostring
default_branchstring

ReposResponse

FieldTypeNotes
itemsarray<Repository>
next_page_tokenstring
total_countinteger

PullRequest

FieldTypeNotes
idstring (uuid)
repo_idstring (uuid)
pr_numberinteger
titlestring
classificationChangelogCategory
merged_atstring (date-time)

PRsResponse

FieldTypeNotes
itemsarray<PullRequest>
next_page_tokenstring
total_countinteger

ReclassifyPRRequest

FieldTypeNotes
classificationrequiredChangelogCategory

ClassificationRules

FieldTypeNotes
include_internalboolean
label_overridesobject
prefix_mapobject
file_rulesobject

SetRulesRequest

FieldTypeNotes
rulesrequiredClassificationRules

ClassificationRulesRecord

FieldTypeNotes
idstring (uuid)
rulesClassificationRules

ChangelogEntry

FieldTypeNotes
idstring (uuid)
repo_idstring (uuid)
pr_numberinteger
categoryChangelogCategory
user_facing_descriptionstring
includedboolean
generated_atstring (date-time)

EntriesResponse

FieldTypeNotes
itemsarray<ChangelogEntry>
next_page_tokenstring
total_countinteger

EditEntryRequest

FieldTypeNotes
user_facing_descriptionrequiredstring

GenerateReleaseRequest

FieldTypeNotes
versionrequiredstringExample: "v1.4.0"

ReleaseChangelog

FieldTypeNotes
idstring (uuid)
repo_idstring (uuid)
versionstring
changelog_markdownstring
publish_targetsarray<PublishTarget>
generated_atstring (date-time)

PublishReleaseRequest

FieldTypeNotes
targetsarray<PublishTarget>

PublishResult

FieldTypeNotes
idstring (uuid)
successboolean
delivered_toarray<PublishTarget>

CreateCustomerRequest

FieldTypeNotes
emailrequiredstring (email)
namerequiredstring

UpdateCustomerRequest

FieldTypeNotes
emailstring (email)
namestring

Customer

FieldTypeNotes
idstring (uuid)
emailstring (email)
namestring
created_atstring (date-time)

CustomersResponse

FieldTypeNotes
itemsarray<Customer>
next_page_tokenstring
total_countinteger