Skip to content

Endpoint matrix

The pinned OpenAPI contract contains 30 operations. Every row has a typed SDK method and an entry in EndpointCatalog.All.

HTTP Path Scope SDK method
GET /organizations/{organization} organization:read Organizations.GetAsync
GET /organizations/{organization}/projects projects:read Organizations.ListProjectsAsync
POST /organizations/{organization}/projects projects:write Organizations.CreateProjectAsync
GET /projects/{project} projects:read Projects.GetAsync
PATCH /projects/{project} projects:write Projects.UpdateAsync
DELETE /projects/{project} projects:write Projects.DeleteAsync
GET /projects/{project}/members projects:read Projects.ListMembersAsync
GET /projects/{project}/labels projects:read Projects.ListLabelsAsync
GET /projects/{project}/boards boards:read Projects.ListBoardsAsync
POST /projects/{project}/boards boards:write Projects.CreateBoardAsync
PUT /projects/{project}/boards/reorder boards:write Projects.ReorderBoardsAsync
PATCH /boards/{board} boards:write Boards.UpdateAsync
DELETE /boards/{board} boards:write Boards.DeleteAsync
GET /projects/{project}/tickets tickets:read Projects.ListTicketsAsync
POST /projects/{project}/tickets tickets:write Projects.CreateTicketAsync
PUT /projects/{project}/tickets/reorder tickets:write Projects.ReorderTicketsAsync
GET /projects/{project}/analytics analytics:read Projects.GetAnalyticsAsync
GET /tickets/{ticket} tickets:read Tickets.GetAsync
PATCH /tickets/{ticket} tickets:write Tickets.UpdateAsync
DELETE /tickets/{ticket} tickets:write Tickets.DeleteAsync
POST /tickets/{ticket}/move tickets:write Tickets.MoveAsync
POST /tickets/{ticket}/comments comments:write Tickets.CreateCommentAsync
GET /organizations/{organization}/documents documents:read Organizations.ListDocumentsAsync
POST /organizations/{organization}/documents documents:write Organizations.CreateDocumentAsync
GET /documents/{document} documents:read Documents.GetAsync
PATCH /documents/{document} documents:write Documents.UpdateAsync
DELETE /documents/{document} documents:write Documents.DeleteAsync
POST /documents/{document}/comments document_comments:write Documents.CreateCommentAsync
POST /organizations/{organization}/notifications notifications:write Organizations.SendNotificationsAsync
GET /projects/{project}/tags projects:read Projects.ListTagsAsync

The OpenAPI coverage test reads resources/openapi.yaml at test time and compares its method/path set with EndpointCatalog.All. This catches both missing SDK operations and stale SDK-only entries.