COUNTCOUNT
Sign Up

API Reference

Workspace

Read and update workspace-level settings for the authenticated workspace: the bookkeeping cutover date and the workspace’s GST configuration.

Last updated 2026-09-22

Overview

The Workspace API reads and updates workspace-level settings that are not owned by a single accounting resource: the bookkeeping `cutoverDate`, and the workspace’s GST configuration.

Everything on or before the cutover date is summarized by opening balances rather than tracked line-by-line. Read the current value from GET /partners/workspace-stats (`workspace.cutoverDate`) before changing it.

GST settings drive the periods, due dates, and obligation figures the GST engine produces, so they are validated strictly at the partner boundary — an unrecognised filing frequency would otherwise be resolved silently to monthly.

Key concepts

Moving the cutover forward

Moving cutover later is a re-baseline guard: it rejects with 400 explaining the entry count if the workspace already has posted activity.

Imported trial balance

Setting the cutover for the first time is rejected with 400 if the workspace already has an imported trial balance with no cutover — contact support to resolve first.

GST settings are normalized, not echoed

Reads return the values the GST engine actually applies: a workspace that has never saved a frequency still reports `monthly`, and anything other than an exact `payments` reports the `invoice` basis. `taxRegime` is derived from the workspace country (`NZ_GST` for New Zealand, otherwise null) and is not writable.

The accounting basis locks after the first filing

Once the workspace has filed a GST return, `accountingBasisLocked` is true and changing `accountingBasis` is refused with 409. Filed periods were snapshotted on the old basis and would stop being scanned for late claims.

Workspace cutover update

PATCH body accepts `cutoverDate` (required).

Attributes

cutoverDatedaterequired

YYYY-MM-DD cutover date. Moving earlier is always allowed; moving later is only allowed when the workspace has zero posted journal entries.

Example
{
  "cutoverDate": "2026-03-01"
}

Opening balances

After setting cutover, use the Opening Balance API to publish conversion balances as of that date.

GST changes need the user’s own authority

Partner tokens carry no scopes, so `PATCH /partners/workspace/gst-settings` checks the `manage_settings` permission of the user who consented to the connection — the same capability the web settings form requires. A connection consented by a user without it gets 403 on that route while every other workspace route keeps working.

MCP equivalents

COUNT_update_workspace, COUNT_get_workspace_gst_settings, COUNT_update_workspace_gst_settings.

Recent changes

2026-09-22

Customer sub-resources, merge, GST settings, and the last bulk routes

Closed every remaining gap between the reference and the backend partner routes — 20 endpoints that existed in count-dev but had no documentation. Customers gained its sub-resources: contacts, addresses, and notes each get full list/create/update/delete coverage, plus GET /partners/customers/{uuid}/revenue-overview and the two-step merge flow (POST /partners/customers/merge/preview, then POST /partners/customers/merge), which repoints every record onto a target customer and cannot be undone through the API. Workspace gained GET and PATCH /partners/workspace/gst-settings, including the manage_settings permission the PATCH requires and the 409 that locks the accounting basis after a return is filed. Also documented GET /partners/invoices/generate/number, POST /partners/projects/bulk, and POST /partners/transactions/review-bulk. npm run check:parity now reports 173 documented routes against 173 backend routes.

2026-07-28

Connections, reconciliations, opening balance, workspace cutover, and transaction bulk ops

Documented Partner API groups for bank Connections (including Plaid Hosted Link connect/complete/reconnect), Reconciliations (create draft + complete), Opening Balance (get/set conversion balance), and Workspace (PATCH cutoverDate). Added PATCH /partners/transactions/change-category-bulk and exclude-bulk. Removed non-existent POST /partners/bills/bulk and /partners/invoices/bulk from the reference. Extended the MCP tool catalog with the matching COUNT_* tools plus remote-only COUNT_get_bulk_task_status and COUNT_remember/recall/forget.

Endpoints