KintsugiKintsugi
API reference / Changelog / 2026

API changelog: 2026

Every change to the Kintsugi API in 2026, newest first. For the latest changes and every release, see the API changelog.

2026-10-05

Breaking changes
Requires a unique name when a portfolio creates an organizationBreaking change
Breaking changeOrganizations

When a portfolio credential creates an organization with POST /organizations, the name must now be unique, ignoring letter case. A name already in use answers 409 with code conflict and the message An organization with this name already exists. Before, the 2026-07-21 release accepted any name, including one already in use or one that differed only in letter case, such as acme beside Acme. Creating an organization from a user session without a portfolio is unchanged.

What to do
  • Handle 409 with code conflict by asking for a different name.
  • Do not retry a refused name with different letter case: it is refused the same way.
Sets a billing mode and business websites when a portfolio creates an organization
NewOrganizations

With a portfolio credential, POST /organizations accepts two optional fields. billingMode, PARTNER_MANAGED or CLIENT_MANAGED, sets how the new organization is billed; a portfolio that already has a billing type passes it on and the field is ignored, as it is for a test portfolio. businessWebsites lists the organization's websites: an address without a scheme is saved as https, blank entries and duplicates are dropped, and only http and https addresses are accepted. An invalid address or more than 10 unique addresses answers 422. Sending either field from a user session that is not acting for a portfolio also answers 422.

Adds filing metrics to the organizations list
NewOrganizations

GET /organizations accepts expand=filingMetrics, which adds a filingMetrics object to each organization: totalFilings, filed, pendingApproval (unfiled returns not yet past their due date), overdue (unfiled returns past their due date) and liabilityByCurrency, one { currency, amount } entry per currency. Returns marked do not file are left out of pendingApproval and overdue. Currencies are listed in code order, with returns that have no currency yet last as currency: null, and amounts are decimal strings that are never converted between currencies. An organization with no returns gets zero counts and an empty liabilityByCurrency. Without expand the response is unchanged, an unknown expand value answers 422, and a cursor stays valid with or without expand.

What to do
  • Pass expand=filingMetrics to get each organization's filing status in the same call as the list.
Kintsugi API Changelog: 2026