Home

August 31, 2026

Deadline Date on Work Schedules

GET, POST and PUT on /v3/WorkSchedules now support a deadline date, in addition to the existing due date. Three new properties on WorkScheduleDTO control it, mirroring the shape of ScheduleDueDateMethod/ScheduleDueDateDays/ScheduleDueDateMonthMultiple:

POST /v3/WorkSchedules
{
  "CreatedFromWorkItemKey": "4jgPTtcXxwC2",
  "RecurrenceFrequency": "Monthly",
  "ScheduleStartDate": "2026-09-01T00:00:00Z",
  "ScheduleDeadlineDateMethod": "DayOfNextMonth",
  "ScheduleDeadlineDateDays": 15
}

ScheduleDeadlineDateMethod accepts one of the following values:

ScheduleDeadlineDateMethod Deadline date is calculated as
DaysFromStartDate ScheduleDeadlineDateDays days after the start date
DayOfMonth The ScheduleDeadlineDateDaysth day of the current month
LastDayOfMonth The last day of the current month
DayOfNextMonth The ScheduleDeadlineDateDaysth day of the following month
DayOfSubsequentMonth The ScheduleDeadlineDateDaysth day of the ScheduleDeadlineDateMonthMultipleth month after the start month
NoDeadlineDate The work has no deadline date

ScheduleDeadlineDateDays doesn’t apply when ScheduleDeadlineDateMethod is LastDayOfMonth or NoDeadlineDate. ScheduleDeadlineDateMonthMultiple only applies when ScheduleDeadlineDateMethod is DayOfSubsequentMonth.

Karbon also supports deadline dates driven by Companies House filing dates, but those methods aren’t available through the API — a request with ScheduleDeadlineDateMethod set to CompaniesHouseAccountsDueDate, CompaniesHouseConfirmationStatementDueDate or OnFilingDate is rejected with a 400.

These fields aren’t part of PATCH /v3/WorkSchedules/{WorkScheduleKey} — that endpoint still only accepts ScheduleEndDate and AssigneeUserKey. Use PUT to change a schedule’s deadline date.

Omitting ScheduleDeadlineDateMethod on PUT leaves the existing deadline configuration unchanged — it does not clear it. This matches how PUT already treats AssigneeUserKey, and means existing integrations that PUT without these fields are unaffected. To remove a deadline date, send ScheduleDeadlineDateMethod: "NoDeadlineDate" explicitly (ScheduleDeadlineDateDays and ScheduleDeadlineDateMonthMultiple can be omitted).

Assigned Service Types on Contacts and Organizations

GET /v3/Contacts/{key} and GET /v3/Organizations/{key} now support $expand=ServiceTypes, returning the service types assigned to that client.

GET /v3/Contacts/RXq4mB32PXg?$expand=ServiceTypes
{
  "ContactKey": "RXq4mB32PXg",
  "FullName": "Jane Smith",
  "ServiceTypes": [
    {
      "ServiceTypeKey": "3h5Tbh9GgLs7",
      "Name": "Tax Return"
    }
  ]
}

The same $expand=ServiceTypes works on GET /v3/Organizations/{key}. ServiceTypes isn’t available when listing multiple contacts or organizations — it’s only returned on a single-record GET by key.