# May 26, 2026 

** May 26, 2026 Karbon API release adds WorkTemplateKey filtering on the Work Items endpoint, introduces a PATCH endpoint for ending a Work Schedule, and changes how null RegistrationNumber values are handled on Contacts and Organizations. **
---

## Filter Work Items by WorkTemplateKey

Making a `GET` request to `/v3/WorkItems` now supports filtering by `WorkTemplateKey`, making it easy to retrieve all work items created from a specific template.

For example:

```
GET /v3/WorkItems?$filter=WorkTemplateKey eq '2vBsCfGk9hJD'
```

This returns only work items whose `WorkTemplateKey` matches the provided value. The filter supports `eq` only — `contains` is not supported. You can retrieve a template's key from `GET /v3/WorkTemplates`.

You can also combine this with other filters:

```
GET /v3/WorkItems?$filter=WorkTemplateKey eq '2vBsCfGk9hJD' and PrimaryStatus eq 'In Progress'
```

## Null RegistrationNumber Values Now Delete the Entry

`POST` and `PUT` requests to `/v3/Contacts` and `/v3/Organizations` that include a `RegistrationNumber` entry with a null, empty, or whitespace `RegistrationNumber` value will now delete any existing registration number of that `Type`, rather than returning a `500` error.

For example, sending this payload to `PUT /v3/Organizations/{OrganizationKey}`:

```json
{
  "AccountingDetails": {
    "RegistrationNumbers": [
      { "Type": "ABN", "RegistrationNumber": "" }
    ]
  }
}
```

...will remove the existing `ABN` registration number from the organization. If no registration number of that `Type` exists, the request succeeds without making any changes. Non-blank values continue to be added or updated as before.

## End a Work Schedule with PATCH

A new `PATCH /v3/WorkSchedules/{WorkScheduleKey}` endpoint accepts a `ScheduleEndDate` value, making it easier to wind down a repeating work schedule without rebuilding the full `PUT` payload.

For example, to end a schedule on a specific date:

```
PATCH /v3/WorkSchedules/Bm6CGxrWp8W
{
  "ScheduleEndDate": "2026-12-31T00:00:00Z"
}
```

Pass `null` to clear an existing end date and let the schedule continue indefinitely. `ScheduleEndDate` is the only property this endpoint accepts — any other fields in the request body will return a `400`. For broader updates, continue to use `PUT /v3/WorkSchedules/{WorkScheduleKey}`.
