API Changelog

This page lists the changes to the parts of the API reference marked as stable or preview. See Stability for what each of them promises.

Deprecations

A deprecated item keeps working until its removal date. Until then, every response that uses it carries these headers:

  • Deprecation: the date the item was deprecated
  • Sunset: the day after the removal date, the first day it stops working for API tokens
  • Link: a link to the item’s row below

After the removal date, reading a removed field fails with 400 unknown_field (or unknown_relation, unknown_model), the same as for a typo. Calling a removed action fails as well. A removed param is ignored without an error, like any param the action doesn’t know.

Entries marked internal were never part of the reference. They are listed because the headers above link to them. Entries marked preview could be removed without the 6 months’ notice.

itemdeprecatedremoved afteruse instead
integration.disabled field, internal2026-09-092027-09-09–
_root.apps relation, internal2026-09-042027-09-04–
account.appInstallations relation, internal2026-09-042027-09-04–
app model, internal2026-09-042027-09-04–
appInstallation model, internal2026-09-042027-09-04–
workflowItem.sortOrder field, preview2026-09-042027-09-04–
file.selfHosted field, internal2026-06-222027-06-22–
cards/bulkCreate action, internal2026-05-182026-11-18cards/bulkImport
account.seats field, internal2026-03-302027-03-30–
visionBoard.isDeleted field, internal2026-02-062027-02-06–
deck.allowedCardTypes field, internal2025-11-272026-11-27–
pinnedMilestone.autoAssignNewCard field, internal2025-10-072026-10-07–
pinnedMilestone.autoAssignStartedCard field, internal2025-10-072026-10-07–
user.projectAccess relation, internal2022-09-222022-12-22explicitProjectAccess

Changes

2026-10-08

  • resolvables/updateParticipantDone refuses "done": true with 400 last_participant when no other participant of the thread is still active. The app never allowed this; the API did.

2026-10-05

  • An action refused for a missing scope answers with "error": "missing_scope" and a requiredScope field, the same as a query. The message still names the scope, e.g. requires card:write; it was also the error before.

2026-10-02

  • New preview actions decks/renameZone, milestones/renameZone and sprints/renameZone rename a zone and move its cards to the new name in one call. Renaming a zone through manualOrderLabels in decks/update, milestones/update or sprints/updateSprint leaves the cards with the old name, so they show up in the zone without a name.

2026-09-30

  • cards/update and cards/bulkUpdate reject "deckId": null with a validation error. A card can’t be moved out of its deck, so these calls never worked; they failed with an internal error before.

2026-09-25

  • The API leaves beta. The API reference now lists the stable and preview models, fields and relations, and the actions for writing data, with their params and responses.
  • decks/create and decks/update no longer take a content param. It only ever answered with an error.
  • decks/delete and milestones/delete are stable.
  • handQueue/addCardsToHand no longer takes an accountId param. It was never read, so calls that still send it keep working.