August 6th, 2026

Improved

API Changes - 2026-08-05

This is an API-only update that includes breaking changes.

⚠️ API - Every response is now wrapped in a standard envelope (StatusCode, IsSuccess, Data, DataContext, Notifications) and all response fields are PascalCase -- read your payload from Data. The OpenAPI spec (swagger.json) has been updated to match the new response format -- regenerating your client is the quickest way to pick up the envelope and PascalCase changes.

⚠️ API - Pagination metadata has moved from the top level into DataContext.Pagination, and cursors are now signed -- a cursor held across the release will be rejected once, so restart from the first page

⚠️ API - pageSize outside 1-200 is now rejected with a 400 instead of being silently clamped

⚠️ API - sortBy and sortOrder on the ticket list are now rejected if they aren't a documented value, instead of falling back to updatedOn / desc

⚠️ API - statusId is now required when creating a ticket via POST /ticket/public

⚠️ API - Request bodies containing unknown or misspelled fields are now rejected with a 400 instead of the field being ignored

API - Every failure now returns a 6-digit Code in Notifications[] -- branch on that instead of message text