Step 1 - Request
POST /v1/card-present/devices HTTP/1.1
Host: api.blinkpayment.co.uk
Content-Type: application/json
Authorization: Basic ACCESS_TOKEN # from Blink pos_api_key:pos_api_secret
User-Agent: AcmeApp/1.2.0 (ReactNative; Android 11+; POS2.0+; Build/123)
{}
Field Name | Type | Description | Nullable |
---|---|---|---|
Authorization (header) | varchar(512) | Authorization header for authenticating the request made up of pos_api_key and pos_api_secret. (e.g., | NO |
Content-type (header) | varchar(50) |
| NO |
User-Agent (header) | varchar(255) | A brief overview of the app or software, version and comments related to the software stack and minimum client specifications. e.g. | NO |
metadata | json(1024) | Optional field that can be used for debugging, filtering linking to other systems. It contains custom vendor, POS, customer or order details in JSON format. (e.g. | YES |
Step 2 - Response
HTTP/1.1 200 OK
Content-Type: application/json
{
"terminals": [
{
"serial_number": "451-962-212",
"terminal_id": "T650M-451-962-212-MOHSIN",
"state": "CONNECTED",
"last_connected_at": "2025-03-13T07:47:42.113Z",
"last_active_at": "2025-03-13T09:08:07.72Z",
"last_connected_pos": "POS-25",
"device_software_version": "5.339.8"
},
{
"serial_number": "452-299-737",
"terminal_id": "P630-452-299-737-RAPHI",
"state": "DISCONNECTED",
"last_connected_at": "2025-03-13T02:11:01.316Z",
"last_active_at": null,
"last_connected_pos": null,
"device_software_version": "5.339.8"
},
{
"serial_number": "451-863-867",
"terminal_id": "T650P-451-863-867-MADAN",
"state": "DISCONNECTED",
"last_connected_at": "2025-03-10T15:23:47.93Z",
"last_active_at": null,
"last_connected_pos": null,
"device_software_version": "5.339.8"
}
]
}
Field Name | Type | Description |
---|---|---|
terminals[] | json | Array of terminals. Returns |
serial_number | varchar(15) | Format |
terminal_id | varchar(35) | Usually model and serial number. (e.g., |
state | varchar(15) |
|
last_connected_at | datetime | ISO 8601 datetime string (e.g., |
last_active_at | datetime | ISO 8601 datetime string (e.g., |
last_connected_pos | varchar(16) | This is the |
device_software_version | varchar(15) | Format |
Errors
400 Bad Request
Missing authorization header
HTTP/1.1 400 Bad Request
Content-Type: application/json
{
"result": "FAILURE",
"message": "Devices request failed",
"errors": {
"Authorisation": "The Authorization header is required and must be provided in the format: Basic <encoded_api_key:secret_key>."
}
}
401 Unauthorized
Acquirer token not found
HTTP/1.1 401 Unauthorized
Content-Type: application/json
{
"result": "FAILURE",
"message": "Devices request failed",
"errors": {
"acquirer_token": "The acquirers token was not found in our system. Please contact the support team."
}
}
Invalid acquirer Token
HTTP/1.1 401 Unauthorized
Content-Type: application/json
{
"result": "FAILURE",
"message": "Devices request failed",
"errors": {
"acquirer_token": "The acquirers token provided is invalid in our system. Please contact the support team."
}
}
Invalid authorization header
HTTP/1.1 401 Unauthorized
Content-Type: application/json
{
"result": "FAILURE",
"message": "Devices request failed",
"errors": {
"Authorisation": "The provided Authorization header is invalid. Ensure it follows the correct format: Basic <encoded api_key:secret_key>."
}
}
403 Forbidden
API key or secret key is invalid
HTTP/1.1 403 Forbidden
Content-Type: application/json
{
"result": "FAILURE",
"message": "Devices request failed",
"errors": {
"Authorisation": "The provided api_key or secret_key is invalid. Please ensure the credentials are correct and try again."
}
}
500 Internal Server Error
Generic error
HTTP/1.1 500 Internal Server Error
Content-Type: application/json
{
"result": "FAILURE",
"message": "Devices request failed",
"errors": {
"We're experiencing an issue with our server, but rest assured our team is already working to resolve it. Please try again later, and we apologize for the inconvenience."
}
}