---
title: "Claim Next Print Job"
method: GET
path: "/kiosk/print-jobs/next"
tags: ["kiosk-print"]
---

# Claim Next Print Job

`GET /kiosk/print-jobs/next`

Long-poll for the next job. 204 when the block expires with nothing —
the agent simply calls again, which is the whole reconnect protocol.

`db` is safe to take here: a session checks out no connection until its
first statement, so the CLAIM_BLOCK_SECONDS block below holds nothing
from the pool, and the one UPDATE runs only once a job is in hand.

## Query parameters

- `printer` string, nullable — station id

## Response `200`

Successful Response

- unknown

## Other responses

- `422` — Validation Error

## Changes

- **2026-09-10** `03a9621c5178` — 2 info
  - added the new optional `query` request parameter `printer`
  - added the non-success response with the status `422`
- **2026-09-08** `6ea721316081` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/stardrift/apis/fastapi/changes/kiosk/print-jobs/next/get.md)

---

[API](https://skmtc.dev/stardrift/apis/fastapi.md) · [All operations](https://skmtc.dev/stardrift/apis/fastapi/llms.txt) · [OpenAPI document](https://skmtc.dev/stardrift/apis/fastapi/revisions/6d2ccd9ff8ca?raw)
