---
title: "List positions with filtering and pagination"
method: GET
path: "/os/v1/positions"
tags: ["Position", "Position"]
---

# List positions with filtering and pagination

`GET /os/v1/positions`

Retrieves a paginated list of positions with optional filtering by name, status, area, role, parent position, and other criteria. Supports both UUID-based and name/code-based filtering.

## Query parameters

- `name` string
- `externalCode` string
- `status` 'OPEN' | 'FILLED' | 'CLOSED' | 'FROZEN'
- `areaUuid` string, uuid
- `roleUuid` string, uuid
- `parentUuid` string, uuid
- `areaName` string
- `areaExternalCode` string
- `roleName` string
- `roleExternalCode` string
- `parentName` string
- `parentExternalCode` string
- `page` number
- `maxPageSize` number

## Response `200`

Positions retrieved successfully

## Other responses

- `400` — Bad Request - Invalid query parameters
- `401` — Unauthorized - Invalid or missing token
- `500` — Internal Server Error - Unexpected failure

---

[API](https://skmtc.net/gupy/apis/gupy-public-api.md) · [All operations](https://skmtc.net/gupy/apis/gupy-public-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/gupy/gupy-public-api/revisions/3f26defa2a42/schema)
