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

# Jobs and Salary Bands Available

<br />

## Summary

Two new resources are now available through the Personio API:

1. **Jobs** — `GET /v2/jobs` and `GET /v2/jobs/{id}`
2. **Salary Bands** — `GET /v2/salary-bands` and `GET /v2/salary-bands/{id}`

Both resources are exposed as first-class endpoints, with filtering and sorting capabilities, and integrate with the existing `Employment` object through the `job.id`.

## Details

### What is a "Job"?

A `Job` in Personio is a composite entity that bundles together several attributes that historically lived as separate fields on an employment:

| Attribute         | Description                                                                                                                                                              |
| ----------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `name`            | The human-readable title of the job (e.g. "Senior Software Engineer").                                                                                                   |
| `job_family`      | The functional grouping the job belongs to (e.g. "Engineering", "Product").                                                                                              |
| `level`           | The seniority / career-step indicator associated with the job (e.g. "L4", "Senior").                                                                                     |
| `job_track`       | The career track the job's level belongs to (e.g. "Management", "Individual Contributor").                                                                               |
| `global_grade`    | The global rank the job's level belongs to. A single global grade can span multiple levels — for example, levels `L3.1` and `L3.2` both belong to the same global grade. |
| `salary_band_ids` | References to the salary bands associated with the job.                                                                                                                  |

### Jobs

`GET /v2/jobs` returns a paginated list of jobs. `GET /v2/jobs/{id}` returns a single job by ID. Each job exposes a `salary_band_ids` array linking it to the salary bands it is associated with (population of the array requires the `personio:salary-bands:read` scope; otherwise the array will be empty).

Filtering by `id` and `name` and sorting by `name` are supported.

**Required scope:** `personio:jobs:read`

#### List jobs

```bash
curl -X GET "https://api.personio.de/v2/jobs" \
  -H "Authorization: Bearer $ACCESS_TOKEN" \
  -H "Accept: application/json"
```

#### Filter jobs by name

```bash
curl -X GET "https://api.personio.de/v2/jobs?name=Software%20Engineer" \
  -H "Authorization: Bearer $ACCESS_TOKEN" \
  -H "Accept: application/json"
```

#### Retrieve a single job

```bash
curl -X GET "https://api.personio.de/v2/jobs/a1b2c3d4-e5f6-7890-abcd-ef1234567890" \
  -H "Authorization: Bearer $ACCESS_TOKEN" \
  -H "Accept: application/json"
```

### Salary Bands

`GET /v2/salary-bands` returns a paginated list of salary bands. `GET /v2/salary-bands/{id}` returns a single salary band by ID. Salary bands expose minimum, midpoint (optional), and maximum values along with currency and metadata.

Filtering by `id` is supported.

**Required scope:** `personio:salary-bands:read`

#### List salary bands

```bash
curl -X GET "https://api.personio.de/v2/salary-bands" \
  -H "Authorization: Bearer $ACCESS_TOKEN" \
  -H "Accept: application/json"
```

#### Filter salary bands by ID

```bash
curl -X GET "https://api.personio.de/v2/salary-bands?id=e1f2a3b4-c5d6-7890-abcd-ef1234567890,a2b3c4d5-e6f7-8901-bcde-f23456789012" \
  -H "Authorization: Bearer $ACCESS_TOKEN" \
  -H "Accept: application/json"
```

#### Retrieve a single salary band

```bash
curl -X GET "https://api.personio.de/v2/salary-bands/e1f2a3b4-c5d6-7890-abcd-ef1234567890" \
  -H "Authorization: Bearer $ACCESS_TOKEN" \
  -H "Accept: application/json"
```