# Changelog

Changes to the Aiwyn Product API, newest first. Entries appear here when a release
reaches production, so everything on this page is live and callable today.

Each release is grouped by the kind of change it contains:

- **⚠️ Breaking changes** — require action before you upgrade
- **Added** — new endpoints, parameters, or response fields
- **Changed** — behavior or response shape changed in a backward-compatible way
- **Deprecated** — still works, but scheduled for removal
- **Removed** — no longer available
- **Fixed** — corrected behavior


Questions about a change? Email [api-support@aiwyn.ai](mailto:api-support@aiwyn.ai).

## v9.7.0 — 2026-09-02

### Added

- **`POST /api/v1/clients/v1/onboard`** — Onboard a client with its own `address` and an optional `billingAddress` (ISO alpha-2 `country`, US states stored as abbreviations), saved exactly as the Firm Portal "Create New Client" dialog saves them; the response returns the new `clientContactInfoId` and `billingAddressId`.


## v9.6.0 — 2026-08-18

### Added

- **`GET /gql/v1/client_types`, `GET /gql/v1/tax_regions`** — Two read-only lookup endpoints for resolving the `clientTypeId` and tax region values accepted by client onboarding (`POST /api/v1/clients/v1/onboard`). Both support basic page and pageSize pagination.


### Changed

- **`GET /gql/v1/engagement/{id}`, `POST /gql/v1/engagements`, `POST /gql/v1/engagements/search`** — Engagement read responses now include the engagement's `clientId` and a `jobs` array of linked jobs (id, name, status, `clientId`, `pmsRef`, `jobRef`, `sysRefs`, plus each link's `isActive` flag), so an engagement's client and jobs can be resolved without a separate lookup.