August 6th, 2026
Improved
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