---
title: "Get receipt print job with real-time updates"
method: GET
path: "/poslink/v1/receipt-requests/{receipt_id}/status"
tags: ["Print Receipts (ePOS)"]
---

# Get receipt print job with real-time updates

`GET /poslink/v1/receipt-requests/{receipt_id}/status`

## Request

- Base URL: `https://api.teya.com`
- URL: `https://api.teya.com/poslink/v1/receipt-requests/{receipt_id}/status`
- Auth: OAuth 2
  - Authorization code: `https://id.teya.com/oauth/v2/oauth-authorize`
  - Token URL: `https://id.teya.com/oauth/v2/oauth-token`
- TypeScript: <https://skmtc.dev/teya/apis/poslink-api/docs/poslink/v1/receipt-requests/:receipt_id/status/get.ts> (a function with typed inputs; its response is checked against the schema)

Streams real-time updates for a receipt print job using Server‑Sent Events (SSE) with content type text/event-stream.

Each message in the stream is an SSE event with:
- data: a JSON object with receipt status fields (no formal schema available for SSE payload)
- a blank line terminates each event frame

Semantics:
- The stream emits receipt status updates as they occur.
- When the receipt reaches a final status (for example, PRINTED or FAILED), a last event is sent and the stream is closed.
- If the receipt is already final when requested, a single event is sent and the connection is closed immediately.

Possible statuses:
- NOT_PRINTED
- ENQUEUED
- PRINTING
- PRINTED
- FAILED
- UNKNOWN

Possible status reasons:
- TIMEOUT
- BUSY
- OUT_OF_PAPER
- OVERHEATED
- COVER_OPEN
- LOW_BATTERY
- OTHER

Connection behavior:
- The server may close the connection after approximately one minute of inactivity; clients should reconnect if updates are still expected.

Wire example:
data: {"receipt_id":"...","status":"PRINTED","status_reason":null,"updated_at":"2025-09-10T12:30:45Z"}

Note: The response schema below describes the structure of the JSON object placed in the SSE data field, not the SSE framing itself.

## Path parameters

- `receipt_id` string, required

## Response `200`

SSE stream

## Other responses

- `400`: Bad request
- `401`: Lacks valid authentication credentials for the requested resource
- `403`: The server understands the request but refuses to authorise it
- `429`: Too many requests in a given amount of time
- `500`: Internal Server Error

---

[API](https://skmtc.dev/teya/apis/poslink-api.md) - [All operations](https://skmtc.dev/teya/apis/poslink-api/llms.txt) - [OpenAPI document](https://skmtc.dev/teya/apis/poslink-api/revisions/cc7c1bd11e93?raw)
