ThreadPage
All docs

API and MCP changelog

Every change to the Integration API, events, the MCP server and endpoint URLs, newest first. The API changes in place at https://thread.page/api/integrations/v1; info.version in the OpenAPI description goes up with each release that changes the contract.

View as Markdown

1.1.0

Integration API

Added

  • GET /statuses and the MCP tool list_statuses: the workspace's list of thread statuses, at Edit and organize. A thread's status is now an open string, a key of that list, with status_name beside it. An unknown status is invalid_request with details.statuses.
  • thread.statuses_changed: the list changed; on a delete, replaced: {from, to}.
  • The endpoint preset github_release: a note for each GitHub release.
  • reply_url: a connection made with Send notes you @ to a URL replies in its response or later at this URL of the request.
  • The level Read and add (read_add): read and search notes, add notes, threads and reminders, and change or move to Trash the notes the connection added.
  • Routes for everything a level allows, the same as the MCP tools: PUT /notes/{note_id}/content, PATCH /notes/{note_id}, POST /notes/{note_id}/move, /trash and /restore, GET /notes/{note_id}/versions and /versions/{version_id}, POST /notes/{note_id}/versions/{version_id}/restore, POST /threads, PATCH /threads/{thread_id}, POST /threads/{thread_id}/archive, /unarchive, /trash, /restore and /move, GET and POST /folders, PATCH /folders/{folder_id}, POST /folders/{folder_id}/move, /trash and /restore, GET /threads/{thread_id}/reminders, and GET, PUT and DELETE on /threads/{thread_id}/reminder and /notes/{note_id}/reminder.
  • ChangeReceipt, answered by those writes and by GET /operations/{operation_id}.
  • tp_ tokens of custom connections on /mcp, on Add to Inbox, Add only, Read only and Read and add; Edit and organize there answers 403 oauth_required.
  • GET /connection: level, can, cannot, manage_url and shared_places. Its name is the connection’s one name, unique among the owner’s connections; the owner changes it with Rename….
  • GET /notes/{note_id}: context_receipt, editable and changed_via.
  • shared on threads and folders.
  • GET /search: state and folder_id.
  • Codes: token_expired (401), edit_not_allowed and organize_not_allowed (403), request_note_locked, shared_place_write and confirmation_required (409). Level refusals carry details.needs and details.manage_url.
  • details.reason of a 429: changes_hour, changes_day and trash_hour.

Changed

  • Every write takes the Operation-Id header, also POST /threads/{thread_id}/notes, POST /inbox/notes, the request writes and the subscription writes.
  • The levels are shown as Edit and organize (full), Read and add (read_add), Read only (read), Add only (append) and Add to Inbox (inbox). Connections on full became read_add.
  • A token lives 30, 90 or 365 days, as the owner chooses, and at most 90 days on Edit and organize. A token unused for 90 days stops working. Both ends answer 401 token_expired, and Renew brings back the same token.
  • A connection that reads writes into a thread or folder shared with other people only where the owner allowed it.

Removed

  • operation_id in request bodies. Send the Operation-Id header instead.

Events

Added

  • note.purged, thread.renamed, thread.updated, thread.unarchived, thread.moved, thread.purged, folder.created, folder.renamed, folder.moved, folder.trashed, folder.restored, folder.purged, import.completed, reminder.set, reminder.changed and reminder.removed.
  • changes on note.updated: content, checklist, pinned, done.
  • pinned and done on the event’s note.
  • connection_id on the request of request events: your connection, whatever it is called. handle stays the name the note was sent to, also after a rename.

Changed

  • note.updated is also sent for a checklist tick, a pin and Done.
  • Note updates in ThreadPage offers the groups Notes, Threads, Folders and Reminders; existing subscriptions hear every type of their groups.

MCP server

Added

  • get_access answers level, can, cannot, manage_url and shared_places.
  • Confirmation for folder moves and Trash when the folder holds threads: elicitation, or confirmation_required with confirm. A declined question answers declined.

Changed

  • tools/list follows the grant’s scopes. Read and add and Edit and organize list the same tools; a call the level does not allow is refused with needs and manage_url.
  • An assistant’s default level is Read and add. Assistant connections on full became read_add.

Removed

  • The tool that prepared a result for the owner’s review.
  • reorder_thread. Threads have no manual order.

Endpoint URLs

Changed

  • Endpoint URLs work on Read and add too.
  • An endpoint URL whose connection’s token ended answers 409 token_expired with outcome blocked.