---
title: "Update a work assignment"
method: PUT
path: "/work_assignments/{work_assignment}"
tags: ["Work Assignments"]
---

# Update a work assignment

`PUT /work_assignments/{work_assignment}`

## Path parameters

- `work_assignment` string, required

## Request body

- object
  - `pay_split_id` string
  - `is_primary` boolean — When `true`, the standard tax reductions are applied to this work assignment's Pay Stubs. Only one work assignment per Employee per Business Entity may be primary. If none is explicitly set to primary, the earliest work assignment is treated as primary.
  - `title` string, nullable — An optional label for this work assignment, used to distinguish between multiple work assignments for the same Employee or Contractor.
  - `title_translations` Translations, nullable
    - `en` string
    - `fr` string
  - `archived_at` string, date — The date the work assignment was archived. Archiving ends the work assignment's participation in future Payrolls. The archive date must not fall before any active Pay Rate's effective period.
  - `external_ref` string
  - `tag_assignment` object
    - `unit` 'percentage'
    - `is_component_locked` boolean
    - `tag_allocations` object[]
      - `tags` string[]
      - `value` number
  - `tag_assignment_patch` object — Additive changes to the existing tag assignment, as an alternative to replacing it with `tag_assignment`. The two keys are mutually exclusive. `tag_assignment_patch.add_tags` — Tag IDs to add to every existing allocation. Adding a tag replaces any other tag from the same tag group on that allocation. `tag_assignment_patch.remove_tags` — Tag IDs to remove from every existing allocation. An allocation left with no tags is deleted; the distribution strategy decides what happens to its value. `tag_assignment_patch.distribution_strategy` (optional) — Governs the value of allocations deleted by `remove_tags`. Defaults to `reallocate` when omitted. Accepted values: `reallocate` (spread the deleted value proportionally across the remaining allocations), `unallocated` (drop the value; the assignment's allocations will sum to less than before), `error` (refuse the patch if any allocation would be deleted).
    - `add_tags` string[]
    - `remove_tags` string[]
    - `distribution_strategy` 'error' | 'reallocate' | 'unallocated'

## Response `200`

OK

- object
  - `id` string — The unique identifier of the object in Nmbr.
  - `object` string — The type of the object in Nmbr (`"work_assignment"`).
  - `data` WorkAssignment
    - `title` string, nullable — An optional label for this work assignment, used to distinguish between multiple work assignments for the same Employee or Contractor.
    - `title_translations` Translations, nullable
      - `en` string
      - `fr` string
    - `title_translated` string — The translation of the `title` property for the request locale. Computed using the values in `title` and `title_translations` and the value of the request's `Accept-Language` header.
    - `employee` object
      - `id` string — The unique identifier of the object in Nmbr.
      - `object` string — The type of the object in Nmbr (`"employee"`).
    - `pay_schedule` object
      - `id` string — The unique identifier of the object in Nmbr.
      - `object` string — The type of the object in Nmbr (`"pay_schedule"`).
    - `business_entity` object
      - `id` string — The unique identifier of the object in Nmbr.
      - `object` string — The type of the object in Nmbr (`"business_entity"`).
    - `current_tax_jurisdiction` string, nullable — The current Province of Employment (POE) for the work assignment, derived from the `ca::province_of_employment` Tax Property on the work assignment or, if none is set, from the Business Entity.
    - `is_primary` boolean — When `true`, the standard tax reductions are applied to this work assignment's Pay Stubs. Only one work assignment per Employee per Business Entity may be primary. If none is explicitly set to primary, the earliest work assignment is treated as primary.
    - `accrued_vacation_pay` number — This attribute is deprecated and will be removed.
    - `paid_vacation_pay` number — This attribute is deprecated and will be removed.
    - `first_non_draft_period_start` string, date, nullable — The start of the first pay period for which this work assignment has a non-draft Payroll. `null` if the work assignment has never appeared on an approved or paid Payroll.
    - `last_non_draft_period_end` string, date, nullable — The end of the most recent pay period for which this work assignment has a non-draft Payroll. `null` if the work assignment has never appeared on an approved or paid Payroll.
    - `available_tax_properties` string[], nullable — A list of Tax Property template identifiers supported for this work assignment, based on its jurisdiction.
    - `external_ref` string, nullable — A reference to the object in an external system, e.g. the primary key of the object in your application's database. Nmbr doesn't use, validate, parse, or require this value to be unique - it simply stores it for your reference.
    - `archived_at` string, dateTime, nullable — The date the work assignment was archived. Archiving ends the work assignment's participation in future Payrolls. The archive date must not fall before any active Pay Rate's effective period.
    - `created_at` string, dateTime — The date and time the object was created in Nmbr.
    - `updated_at` string, dateTime — The date and time the object was last updated in Nmbr.

---

[API](https://skmtc.net/nmbr/apis/nmbr-api.md) · [All operations](https://skmtc.net/nmbr/apis/nmbr-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/nmbr/nmbr-api/versions/a0c7a815860f/schema)
