> ## Documentation Index
> Fetch the complete documentation index at: https://docs.fire.rest/llms.txt
> Use this file to discover all available pages before exploring further.

# List store terminals

> List the POS registers, kiosks and kitchen displays registered in a store, with their current status.

Returns the terminals registered in one store: **POS** registers, self-service **kiosks** and
**KDS** kitchen displays. By default you get what the store has enabled today, which means active
and suspended terminals. Revoked terminals are only returned when you ask for them with `status`.

If the store does not exist, or belongs to another tenant, the response is `404` (existence is
never leaked across tenants).

## Authentication

**x-api-key** `string` *required*

Your Fire API key with the `store:read` scope. The key **must be vendor-scoped**. Keys without a
`vendorId` are rejected with `403`.

## Path parameters

**storeId** `string` *required*

Store UUID (`stores.id`).

## Query parameters

**type** `string`

Comma-separated terminal types: `POS`, `KIOSK`, `KDS`. Omit to return all three.

**status** `string` (default: ACTIVE,SUSPENDED)

Comma-separated statuses: `ACTIVE`, `SUSPENDED`, `REVOKED`.

**fields** `string`

Comma-separated list of fields to return (projection). See
[Field projection](https://docs.fire.rest/en/api-reference/list-stores.md#field-projection). Omit to return every field.

## Request

```http theme={null}
GET https://api.fire.rest/api/v1/fire/external/stores/550e8400-e29b-41d4-a716-446655440000/terminals?type=KIOSK,POS
x-api-key: <your_api_key>
```

## Response

**terminals** `object[]`

**terminal**

**id** `string`

Terminal UUID.

**storeId** `string`

Store UUID.

**name** `string`

Display name of the terminal.

**type** `string`

`POS`, `KIOSK` or `KDS`.

**status** `string`

`ACTIVE` operating, `SUSPENDED` paused by an administrator, `REVOKED` decommissioned.

**externalId** `string | null`

External identifier of the device. For kiosks, the device ID shown on the QR screen. `null` for POS and KDS.

**lastSeenAt** `string | null`

Last time the terminal contacted Fire (ISO 8601). `null` if it never connected.

**createdAt** `string`

When the terminal was registered (ISO 8601).

**total** `number`

Number of terminals returned.

```json 200 theme={null}
{
  "terminals": [
    {
      "id": "8d0f6b1e-3c2a-4f57-9a61-0e2d4b7c9a10",
      "storeId": "550e8400-e29b-41d4-a716-446655440000",
      "name": "Caja 1",
      "type": "POS",
      "status": "ACTIVE",
      "externalId": null,
      "lastSeenAt": "2026-10-06T15:02:11Z",
      "createdAt": "2026-09-01T10:00:00Z"
    },
    {
      "id": "2b7e4a90-61d3-4c0e-8f2b-7a5c1d9e3f44",
      "storeId": "550e8400-e29b-41d4-a716-446655440000",
      "name": "Kiosco Entrada",
      "type": "KIOSK",
      "status": "ACTIVE",
      "externalId": "K082-94",
      "lastSeenAt": "2026-10-06T14:58:40Z",
      "createdAt": "2026-09-03T12:30:00Z"
    }
  ],
  "total": 2
}
```

```json 400 — unknown status theme={null}
{
  "success": false,
  "error": "VALIDATION_ERROR",
  "message": "Datos de entrada inválidos",
  "details": [
    { "code": "custom", "path": ["status"], "message": "Invalid status: BROKEN. Allowed: ACTIVE, SUSPENDED, REVOKED" }
  ]
}
```

```json 404 — not found or another tenant theme={null}
{
  "success": false,
  "error": "NOT_FOUND",
  "message": "Store not found with ID 550e8400-e29b-41d4-a716-446655440000"
}
```

## Related

> **[Get store](https://docs.fire.rest/en/api-reference/get-store.md)**
>
> Read the full configuration of this store.

> **[Terminal administration](https://docs.fire.rest/en/manuals/pos/terminal-admin.md)**
>
> Suspend, reactivate or revoke terminals from the backoffice.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.