# Nylas Java SDK v2.17.0

Source: https://developer.nylas.com/docs/changelogs/2026-06-15-nylas-java-v2-17-0/

## Added

- **Application administration**: manage applications, domains, and workspaces from the SDK.
  - `Applications.update()` for `PATCH /v3/applications`, with sparse branding fields and `callback_uris` (including callback URI IDs, so existing callback URIs are preserved).
  - Redirect URI updates through `PATCH /v3/applications/redirect-uris/{id}`.
  - Manage Domains admin CRUD and verification on `client.domains()` via `/v3/admin/domains`. These support `ServiceAccountSigner` for Nylas Service Account request-signing auth (canonical signed wire bodies, manually signed headers in `RequestOverrides.headers`, base64-encoded PEM service-account keys, and request-only verification types). See the [Manage Domains guide](/docs/v3/email/domains/).
  - A [`Workspaces`](/docs/reference/api/workspaces/) resource via `client.workspaces()`: CRUD, paginated listing with `limit` and `page_token`, plus `autoGroup`, `manualAssign`, `default`, `policyId`, explicit `clearPolicyId`, and `ruleIds`. `CreateWorkspaceRequest` validates that `domain` is present when `autoGroup` is true, and `WorkspaceAutoGroupRequest.invalidAlso` includes invalid grants in auto-grouping when enabled.
- **Transactional email** via `Domains.sendTransactionalEmail()`:
  - A `SendTransactionalEmailRequest` model and fluent `Builder` for composing messages from a verified domain, with `to`, `from`, `cc`, `bcc`, `reply_to`, `subject`, `body`, `send_at`, `reply_to_message_id`, `tracking_options`, `use_draft`, `custom_headers`, and `is_plaintext`.
  - A `NylasClient.domains()` accessor that returns the new `Domains` resource.
  - Automatic `multipart/form-data` upload when the total attachment size exceeds the JSON limit.
  - New `TransactionalEmailExample.java` and `KotlinTransactionalEmailExample.kt` examples.
  - See the [Transactional Send quickstart](/docs/v3/getting-started/transactional-send/) and the [API reference](/docs/reference/api/transactional-send/send-transactional-email/).
- **Policies, Rules, and Lists** (app-level administration, `nylas` provider only). See [Policies, Rules, and Lists](/docs/v3/agent-accounts/policies-rules-lists/).
  - A [`Policies`](/docs/reference/api/policies/) resource via `client.policies()`: full CRUD (`list`, `find`, `create`, `update`, `destroy`) with `CreatePolicyRequest` / `UpdatePolicyRequest` and the supporting `Policy`, `PolicyLimits`, `PolicyOptions`, and `PolicySpamDetection` models.
  - A [`Rules`](/docs/reference/api/rules/) resource via `client.rules()`: full CRUD plus `listEvaluations` for grant rule-evaluation audit records. It handles the nested `/v3/rules` list envelope the API returns.
  - A [`NylasLists`](/docs/reference/api/lists/) resource via `client.lists()`: full CRUD plus `listItems`, `addItems`, and `removeItems` for managing list contents, with `NylasList`, `NylasListItem`, `NylasListType`, and `ListItemsRequest` models. `NylasLists.create()` maps to `POST /v3/lists` with `CreateNylasListRequest` (`name`, `type`, and optional `description`).