Skip to content

Commit 318e702

Browse files
authored
Add Since column to API coverage matrix (#461)
* Add Since column to API coverage matrix Backfill all 46 documented sections as BC4 so subsequent BC5 absorption PRs can mark new endpoints as BC5 and the matrix doubles as a per-version coverage tracker. Column dropped post-BC4 decommission. * Clarify Since column scope and qualify summary count discrepancy Per review of #461: the Since column tags rows (sections), not individual endpoints, so reword to match. Add the rule that BC5 endpoints introduced to an existing BC4 section land on a new row, not by bumping the BC4 row's count — keeps the column unambiguous. Add a note acknowledging that the Summary's endpoint totals do not match the per-row Endpoints column. The discrepancy predates this PR; the row count (46 sections) is authoritative for Since tracking.
1 parent b0c6bd1 commit 318e702

1 file changed

Lines changed: 54 additions & 50 deletions

File tree

API-COVERAGE.md

Lines changed: 54 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -14,80 +14,84 @@ Coverage of Basecamp 3 API endpoints. Source: [bc3-api/sections](https://github.
1414

1515
Out-of-scope sections are excluded from parity totals and scripts: chatbots (different auth), legacy Clientside (deprecated)
1616

17+
> Note: the per-row `Endpoints` column in the Coverage by Section table sums higher than the Summary totals above. The discrepancy predates the BC5 baseline; the row count (46 sections) is authoritative for the `Since` column. Reconciling endpoint counts is pre-existing maintenance, tracked separately.
18+
1719
**SDK version:** v0.7.3 — maintenance bump: API date advanced to 2026-03-23, transitive dependency updates. No new services or methods.
1820

1921
## Coverage by Section
2022

21-
| Section | Endpoints | CLI Command | Status | Priority | Notes |
22-
|---------|-----------|-------------|--------|----------|-------|
23+
The **Since** column tags each row with the Basecamp version that introduced its section: `BC4` for sections that shipped before Basecamp 5, `BC5` for sections introduced in Basecamp 5. If a BC5 release adds endpoints to an existing BC4 section, split them into a new row tagged `BC5` rather than bumping the BC4 row's `Endpoints` count — that keeps the column unambiguous per row. Column dropped post-BC4 decommission.
24+
25+
| Section | Endpoints | CLI Command | Status | Since | Priority | Notes |
26+
|---------|-----------|-------------|--------|-------|----------|-------|
2327
| **Core** |
24-
| projects | 9 | `projects` || - | list, show, create, update, delete |
25-
| todos | 11 | `todos`, `todo`, `done`, `reopen` || - | list, show, create, update, complete, uncomplete, position |
26-
| todolists | 8 | `todolists` || - | list, show, create, update |
27-
| todosets | 3 | `todosets` || - | Container for todolists, accessed via project dock |
28-
| todolist_groups | 8 | `todolistgroups` || - | list, show, create, update, position |
28+
| projects | 9 | `projects` || BC4 | - | list, show, create, update, delete |
29+
| todos | 11 | `todos`, `todo`, `done`, `reopen` || BC4 | - | list, show, create, update, complete, uncomplete, position |
30+
| todolists | 8 | `todolists` || BC4 | - | list, show, create, update |
31+
| todosets | 3 | `todosets` || BC4 | - | Container for todolists, accessed via project dock |
32+
| todolist_groups | 8 | `todolistgroups` || BC4 | - | list, show, create, update, position |
2933
| **Hill Charts** |
30-
| hill_charts | 2 | `hillcharts` || - | show, track/untrack todolists |
31-
| gauges | 7 | `gauges` || - | list, needles, needle, create, update, delete, enable/disable |
34+
| hill_charts | 2 | `hillcharts` || BC4 | - | show, track/untrack todolists |
35+
| gauges | 7 | `gauges` || BC4 | - | list, needles, needle, create, update, delete, enable/disable |
3236
| **Communication** |
33-
| messages | 10 | `messages`, `message` || - | list, show, create, update, publish, pin, unpin. Create supports `--subscribe`/`--no-subscribe` and `--draft`. Publish promotes drafts to active |
34-
| message_boards | 3 | `messageboards` || - | Container, accessed via project dock |
35-
| message_types | 5 | `messagetypes` || - | list, show, create, update, delete |
36-
| campfires | 14 | `chat` || - | list, messages, post, line show/delete. @mentions in content |
37-
| comments | 8 | `comment`, `comments` || - | list, show, create, update. @mentions in content |
38-
| boosts | 6 | `boost`, `react` || - | list (recording + event), show, create (recording + event), delete |
39-
| notifications | 2 | `notifications` || - | list, mark as read |
37+
| messages | 10 | `messages`, `message` || BC4 | - | list, show, create, update, publish, pin, unpin. Create supports `--subscribe`/`--no-subscribe` and `--draft`. Publish promotes drafts to active |
38+
| message_boards | 3 | `messageboards` || BC4 | - | Container, accessed via project dock |
39+
| message_types | 5 | `messagetypes` || BC4 | - | list, show, create, update, delete |
40+
| campfires | 14 | `chat` || BC4 | - | list, messages, post, line show/delete. @mentions in content |
41+
| comments | 8 | `comment`, `comments` || BC4 | - | list, show, create, update. @mentions in content |
42+
| boosts | 6 | `boost`, `react` || BC4 | - | list (recording + event), show, create (recording + event), delete |
43+
| notifications | 2 | `notifications` || BC4 | - | list, mark as read |
4044
| **Cards (Kanban)** |
41-
| card_tables | 3 | `cards` || - | Accessed via project dock |
42-
| card_table_cards | 9 | `cards` || - | list, show, create, update, move |
43-
| card_table_columns | 11 | `cards columns` || - | list columns |
44-
| card_table_steps | 4 | `cards steps` || - | Workflow steps on cards |
45+
| card_tables | 3 | `cards` || BC4 | - | Accessed via project dock |
46+
| card_table_cards | 9 | `cards` || BC4 | - | list, show, create, update, move |
47+
| card_table_columns | 11 | `cards columns` || BC4 | - | list columns |
48+
| card_table_steps | 4 | `cards steps` || BC4 | - | Workflow steps on cards |
4549
| **People** |
46-
| people | 12 | `people`, `me` || - | list, show, pingable, add, remove |
50+
| people | 12 | `people`, `me` || BC4 | - | list, show, pingable, add, remove |
4751
| **Search & Recordings** |
48-
| my_assignments | 3 | `assignments` || - | list (priorities/non-priorities), completed, due (with scope filter) |
49-
| search | 2 | `search` || - | Full-text search |
50-
| recordings | 4 | `recordings` || - | Browse by type/status, trash/archive/restore |
52+
| my_assignments | 3 | `assignments` || BC4 | - | list (priorities/non-priorities), completed, due (with scope filter) |
53+
| search | 2 | `search` || BC4 | - | Full-text search |
54+
| recordings | 4 | `recordings` || BC4 | - | Browse by type/status, trash/archive/restore |
5155
| **Files & Documents** |
52-
| uploads | 8 | `files`, `uploads` || - | list, show |
53-
| vaults | 8 | `files`, `vaults` || - | list, show, create |
54-
| documents | 8 | `files`, `docs` || - | list, show, create, update. Create supports `--subscribe`/`--no-subscribe` |
55-
| attachments | 1 | `uploads`, `attachments` || - | Upload via `attach`; list embedded attachments via `attachments list` (parses `<bc-attachment>` from content) |
56+
| uploads | 8 | `files`, `uploads` || BC4 | - | list, show |
57+
| vaults | 8 | `files`, `vaults` || BC4 | - | list, show, create |
58+
| documents | 8 | `files`, `docs` || BC4 | - | list, show, create, update. Create supports `--subscribe`/`--no-subscribe` |
59+
| attachments | 1 | `uploads`, `attachments` || BC4 | - | Upload via `attach`; list embedded attachments via `attachments list` (parses `<bc-attachment>` from content) |
5660
| **Schedule** |
57-
| schedules | 2 | `schedule` || - | Schedule container + settings |
58-
| schedule_entries | 5 | `schedule` || - | list, show, create, update, occurrences. Create supports `--subscribe`/`--no-subscribe` |
59-
| events | 1 | `events` || - | Recording change audit trail |
61+
| schedules | 2 | `schedule` || BC4 | - | Schedule container + settings |
62+
| schedule_entries | 5 | `schedule` || BC4 | - | list, show, create, update, occurrences. Create supports `--subscribe`/`--no-subscribe` |
63+
| events | 1 | `events` || BC4 | - | Recording change audit trail |
6064
| **Webhooks** |
61-
| webhooks | 7 | `webhooks` || - | list, show, create, update, delete |
65+
| webhooks | 7 | `webhooks` || BC4 | - | list, show, create, update, delete |
6266
| **Templates** |
63-
| templates | 7 | `templates` || - | list, show, create, update, delete, construct, construction |
67+
| templates | 7 | `templates` || BC4 | - | list, show, create, update, delete, construct, construction |
6468
| **Time Tracking** |
65-
| timesheets | 6 | `timesheet` || - | list, show, create, update, delete |
69+
| timesheets | 6 | `timesheet` || BC4 | - | list, show, create, update, delete |
6670
| **Subscriptions** |
67-
| subscriptions | 4 | `subscriptions` || - | show, subscribe, unsubscribe, add/remove |
71+
| subscriptions | 4 | `subscriptions` || BC4 | - | show, subscribe, unsubscribe, add/remove |
6872
| **Check-ins (Automatic)** |
69-
| questionnaires | 2 | `checkins` || - | Container for check-in questions |
70-
| questions | 5 | `checkins` || - | list, show, create, update |
71-
| question_answers | 4 | `checkins` || - | list, show |
73+
| questionnaires | 2 | `checkins` || BC4 | - | Container for check-in questions |
74+
| questions | 5 | `checkins` || BC4 | - | list, show, create, update |
75+
| question_answers | 4 | `checkins` || BC4 | - | list, show |
7276
| **Inbox (Email Forwards)** |
73-
| inboxes | 1 | `forwards` || - | Inbox container |
74-
| forwards | 2 | `forwards` || - | list, show |
75-
| inbox_replies | 2 | `forwards` || - | list replies, show reply |
77+
| inboxes | 1 | `forwards` || BC4 | - | Inbox container |
78+
| forwards | 2 | `forwards` || BC4 | - | list, show |
79+
| inbox_replies | 2 | `forwards` || BC4 | - | list replies, show reply |
7680
| **Clients** |
77-
| client_visibility | 1 | `recordings visibility` || - | Toggle client visibility on recordings |
81+
| client_visibility | 1 | `recordings visibility` || BC4 | - | Toggle client visibility on recordings |
7882
| **Client Portal (Legacy Clientside)** |
79-
| client_approvals | 6 | - | ⏭️ | skip | Legacy Clientside only (see notes) |
80-
| client_correspondences | 6 | - | ⏭️ | skip | Legacy Clientside only (see notes) |
81-
| client_replies | 6 | - | ⏭️ | skip | Legacy Clientside only (see notes) |
83+
| client_approvals | 6 | - | ⏭️ | BC4 | skip | Legacy Clientside only (see notes) |
84+
| client_correspondences | 6 | - | ⏭️ | BC4 | skip | Legacy Clientside only (see notes) |
85+
| client_replies | 6 | - | ⏭️ | BC4 | skip | Legacy Clientside only (see notes) |
8286
| **Chatbots** |
83-
| chatbots | 10 | - | ⏭️ | skip | Requires chatbot key, not OAuth (see notes) |
87+
| chatbots | 10 | - | ⏭️ | BC4 | skip | Requires chatbot key, not OAuth (see notes) |
8488
| **Account** |
85-
| account | 4 | `accounts` || - | show, update name, upload logo, remove logo |
89+
| account | 4 | `accounts` || BC4 | - | show, update name, upload logo, remove logo |
8690
| **Lineup** |
87-
| lineup_markers | 4 | `lineup` || - | list, create, update, delete markers |
91+
| lineup_markers | 4 | `lineup` || BC4 | - | list, create, update, delete markers |
8892
| **Reference Only** |
89-
| basecamps | 0 | - | - | - | Documentation reference, no endpoints |
90-
| rich_text | 0 | - | - | - | Documentation reference, no endpoints |
93+
| basecamps | 0 | - | - | - | - | Documentation reference, no endpoints |
94+
| rich_text | 0 | - | - | - | - | Documentation reference, no endpoints |
9195

9296
## Priority Guide
9397

0 commit comments

Comments
 (0)