Improved

Job reference now available on Employment


Summary

The job field has been added to the Employment object across the Persons and Employments endpoints. Each employment now exposes the ID of the job it is associated with, enabling consumers to both read the job assigned to an existing employment and set or change the job assigned during employee creation or employment updates.

Details

The new job field follows the existing nested-id pattern already used for supervisor, office, legal_entity, and cost_center on the Employment object:

"job": {
  "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
}

The job.id must reference an existing job. job is optional and nullable, so existing integrations are not affected.

Read endpoints

The job field is now returned on the Employment object by:

  • GET /v2/persons/{person_id}/employments and GET /v2/persons/{person_id}/employments/{employment_id}

Write endpoints

The job field can now also be set or updated through the following write endpoints:

  • POST /v2/persons - accepts job.id on each Employment object in the create payload. The new person will be created with their initial employment already linked to the specified job.
  • PATCH /v2/persons/{person_id}/employments/{employment_id} - accepts job.id to assign or reassign the job linked to an existing employment. Pass "job": null to clear the association.

This change is backwards-compatible: job is an optional field on both read and write payloads, and existing integrations continue to work unchanged.