GET /devices

Prev Next

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., Basic ZjdkNDcxNjYtMThhYy00????)

NO

Content-type (header)

varchar(50)

application/json

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. AcmeApp/1.2.0 (ReactNative; iOS 15+; iPhone 12+; Android 11+; Build/12345)

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. {"note": "Refund for overcharge"}, {"salesforce_id": "SF123456"}, {"server": "dev"}, {"partner": "Shopify", "order_id": "98765"})

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 [] if there are no records.

serial_number

varchar(15)

Format 451-962-212

terminal_id

varchar(35)

Usually model and serial number. (e.g., T650m-451-962-212)

state

varchar(15)

CONNECTED or DISCONNECTED

last_connected_at

datetime

ISO 8601 datetime string (e.g., 2025-02-02T14:43:59+01:00)

last_active_at

datetime

ISO 8601 datetime string (e.g., 2025-02-02T14:43:59+01:00)

last_connected_pos

varchar(16)

This is the pos_location used in the last request.

device_software_version

varchar(15)

Format 5.339.8

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."
    }
}