---
agentTools:
  projectIndex: https://developer.personio.de/llms.txt
---

# Job reference now available on Employment

<br />

## 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:

```json
"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.