---
title: "List a merchant's scanners"
method: GET
path: "/v1/merchants/{id}/scanners"
tags: ["Point of Sale"]
---

# List a merchant's scanners

`GET /v1/merchants/{id}/scanners`

## Request

- Base URL: `https://api.insumermodel.com`
- URL: `https://api.insumermodel.com/v1/merchants/{id}/scanners`
- Auth: API key in header `X-API-Key`

List the scanners configured on a merchant you manage. Owner key only. Returns id and name only — PINs are never exposed.

## Path parameters

- `id` string, required

## Response `200`

Scanner list

- object
  - `ok` true
  - `data` object
    - `scanners` object[]
      - `id` string
      - `name` string
  - `meta` Meta
    - `version` string
    - `timestamp` string, date-time

## Other responses

- `401`: Invalid or missing API key
- `403`: API key does not own this merchant
- `404`: Merchant not found
- `429`: Rate limit exceeded. API-key requests count against the key's daily limit; every authenticated response carries X-RateLimit-Limit and X-RateLimit-Remaining headers, and a 429 additionally carries Retry-After (seconds until the window resets).
- `500`: Unexpected server error. Safe to retry; no credits are charged on a 500. Router endpoints return the standard error envelope; standalone endpoints (the ones whose 200 is a flat object) return a flat {"error": "..."} object.

---

[API](https://skmtc.dev/insumermodel/apis/insumerapi.md) · [All operations](https://skmtc.dev/insumermodel/apis/insumerapi/llms.txt) · [OpenAPI document](https://skmtc.dev/insumermodel/apis/insumerapi/revisions/91f56fe9e3d8?raw)
