/v0.1/merchants/{merchant_code}/readers/{reader_id}/statusProvides the last known status for a Reader.
This endpoint allows you to retrieve updates from the connected card reader, including the current screen being displayed during the payment process and the device status (battery level, connectivity, and update state).
Supported States
IDLE– Reader ready for next transactionSELECTING_TIP– Waiting for tip inputWAITING_FOR_CARD– Awaiting card insert/tapWAITING_FOR_PIN– Waiting for PIN entryWAITING_FOR_SIGNATURE– Waiting for customer signatureUPDATING_FIRMWARE– Firmware update in progress
Device Status
ONLINE– Device connected and operationalOFFLINE– Device disconnected (last state persisted)
Note: If the target device is a Solo, it must be in version 3.3.39.0 or higher.
OAuth scopes: Requires one of: readers.read.
Required permissions:
readers.view
Path parameters
Merchant Code
The unique identifier of the Reader
Responses
200application/json
Response with the device status.
Show 7 properties
- Options:
"ONLINE""OFFLINE"Status of a device
Example:
"ONLINE" - battery_levelnumberformat:
floatminimum:0maximum:100Battery level percentage
Example:
10.5 - battery_temperatureinteger
Battery temperature in Celsius
Example:
35 - connection_typestringOptions:
"btle""edge""gprs""lte""umts""usb""Wi-Fi"Type of connection used by the device
Example:
"Wi-Fi" - firmware_versionstring
Firmware version of the device
Example:
"3.3.3.21" - last_activitystringformat:
date-timeTimestamp of the last activity from the device
Example:
"2025-09-25T15:20:00Z" - statestringOptions:
"IDLE""SELECTING_TIP""WAITING_FOR_CARD""WAITING_FOR_PIN""WAITING_FOR_SIGNATURE""UPDATING_FIRMWARE"Latest state of the device
Example:
"IDLE"
400application/json
Response when given params (or one of them) are invalid
application/problem+json
- format:
uriA URI reference that identifies the problem type.
Example:
"https://developer.sumup.com/problem/not-found" - titlestring
A short, human-readable summary of the problem type.
Example:
"Requested resource couldn't be found." - statusinteger
The HTTP status code generated by the origin server for this occurrence of the problem.
Example:
404 - detailstring
A human-readable explanation specific to this occurrence of the problem.
Example:
"The requested resource doesn't exist or does not belong to you." - instancestringformat:
uriA URI reference that identifies the specific occurrence of the problem.
{
"detail": "Bad Request",
"status": 400,
"title": "Bad Request",
"type": "https://developer.sumup.com/problem/bad-request"
}401application/json
Response when given merchant's token is invalid
application/problem+json
- format:
uriA URI reference that identifies the problem type.
Example:
"https://developer.sumup.com/problem/not-found" - titlestring
A short, human-readable summary of the problem type.
Example:
"Requested resource couldn't be found." - statusinteger
The HTTP status code generated by the origin server for this occurrence of the problem.
Example:
404 - detailstring
A human-readable explanation specific to this occurrence of the problem.
Example:
"The requested resource doesn't exist or does not belong to you." - instancestringformat:
uriA URI reference that identifies the specific occurrence of the problem.
{
"detail": "Unauthorized",
"status": 401,
"title": "Unauthorized",
"type": "https://developer.sumup.com/problem/unauthorized"
}404application/json
Response when given reader is not found
Show 1 property
Fuller message giving context to error
application/problem+json
- format:
uriA URI reference that identifies the problem type.
Example:
"https://developer.sumup.com/problem/not-found" - titlestring
A short, human-readable summary of the problem type.
Example:
"Requested resource couldn't be found." - statusinteger
The HTTP status code generated by the origin server for this occurrence of the problem.
Example:
404 - detailstring
A human-readable explanation specific to this occurrence of the problem.
Example:
"The requested resource doesn't exist or does not belong to you." - instancestringformat:
uriA URI reference that identifies the specific occurrence of the problem.
{
"detail": "The requested resource doesn't exist or does not belong to you.",
"status": 404,
"title": "Requested resource couldn't be found.",
"type": "https://developer.sumup.com/problem/not-found"
}