---
title: "Positions"
method: GET
path: "/positions"
tags: ["company"]
---

# Positions

`GET /positions`

## Request

- Base URL: `https://api.taktovka.com/v1`
- URL: `https://api.taktovka.com/v1/positions`
- Auth: HTTP bearer

Roles shifts are planned for (barista, kitchen, floor). Paged by id: `next_cursor` is null on the last page, otherwise pass it back as `cursor`.

## Query parameters

- `limit` integer
- `cursor` string

## Response `200`

OK

- object
  - `data` Position[], required
    - `id` string, uuid, required
    - `name` string, required
    - `color` string, nullable, required
    - `sort_order` integer, required
    - `active` boolean, required
  - `next_cursor` string, nullable, required

## Other responses

- `400`: validation_failed, range_too_long or key_in_query
- `401`: unauthenticated, invalid_key, key_revoked or key_expired
- `403`: insufficient_scope (with required_scope)
- `429`: rate_limited (with retry_after and a Retry-After header)

---

[API](https://skmtc.dev/taktovka/apis/taktovka-api.md) · [All operations](https://skmtc.dev/taktovka/apis/taktovka-api/llms.txt) · [OpenAPI document](https://skmtc.dev/taktovka/apis/taktovka-api/revisions/612199b365e1?raw)
