post
https://sandbox-api.softpoint.io/interface/v1/locations/YOUR_LOCATION_ID/terminals/30845
Updates a registered terminal. A common use is pairing a customer-facing reader with a POS terminal, but any mutable device attribute can be changed. Only the fields you send are overwritten.
Request Headers
| Header | Required | Description |
|---|---|---|
| Authorization | Yes | Bearer YOUR_ACCESS_TOKEN |
| Content-Type | Yes | application/json |
Request Parameters
Path Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
| location_id | integer | Yes | Location the terminal belongs to. |
| terminal_id | integer | Yes | ID of the terminal to update. |
Request Body Fields (send only what you want to change):
| Field | Type | Required | Description |
|---|---|---|---|
| paired_terminal_id | integer | No | ID of the Tethered Terminal to link to this workstation. |
| global_manufacturer_terminal_id | integer | No | Device model identifier (manufacturer + model). See Device Model IDs below. |
| global_terminal_mode_id | integer | No | Operating mode of the terminal. See Terminal Mode IDs below. |
| global_tip_id | integer | No | Tip-prompt configuration. 1 = Before, 2 = Tip Adjust, 3 = No Tips. |
| serial_number | string | No | Device serial number. Must remain unique. Max 100 characters. |
| name | string | No | Friendly name shown in the SoftPoint dashboard. Max 64 characters. |
| tid | string | No | Processor terminal ID. Max 100 characters. |
| status | integer | No | 1 = active (default), 0 = inactive. |
| screen_timeout | integer | No | Idle screen timeout, in seconds. |
| connected_reader | integer | No | Whether a card reader is attached. 1 = active, 0 = inactive (default). |
| user_id | integer | No | ID of the current (acting) user. |
Field Value Reference
Device Model IDs (global_manufacturer_terminal_id)
global_manufacturer_terminal_id)| ID | Model |
|---|---|
| 14 | PAX A30 |
| 15 | PAX A35 |
| 16 | PAX A50 |
| 17 | PAX A60 |
| 18 | PAX A77 |
| 19 | PAX A80 |
| 20 | PAX A910 |
| 21 | PAX A920 |
| 22 | PAX A920 PRO |
| 23 | PAX A930 |
| 24 | PAX Aries6 |
| 25 | PAX Aries8 |
| 26 | PAX E500 |
| 27 | PAX E600 |
| 28 | PAX E700 |
| 29 | PAX E800 |
| 37 | External Workstation |
| 52 | PAX IM30 |
Terminal Mode IDs (global_terminal_mode_id)
global_terminal_mode_id)| ID | Mode |
|---|---|
| 1 | Table Service |
| 2 | Quick Service |
| 3 | Payment Terminal |
| 4 | Kiosk |
| 5 | Kitchen Display |
| 6 | Dispenser Kiosk |
| 7 | External Workstation |
| 8 | Tethered Terminal |
| 9 | Security Terminal |
Tip IDs (global_tip_id)
global_tip_id)| ID | Behavior |
|---|---|
| 1 | Before |
| 2 | Tip Adjust |
| 3 | No Tips |
Request Example
{
"paired_terminal_id": 1630
}
cURL Example
curl --request POST \
--url https://sandbox-api.softpoint.io/interface/v1/locations/4004699/terminals/30845 \
--header "Authorization: Bearer YOUR_ACCESS_TOKEN" \
--header "Content-Type: application/json" \
--data '{ "paired_terminal_id": 1630 }'
Success Response
{
"terminal": {
"id": 435,
"id_external": "100",
"status": 1,
"serial_number": "XX000099",
"name": "Bar New"
}
}
Response Fields
| Field | Type | Description |
|---|---|---|
| terminal.id | integer | The terminal's ID. |
| terminal.id_external | string | External identifier. |
| terminal.status | integer | Status. 1 = active, 0 = inactive. |
| terminal.serial_number | string | Serial number. |
| terminal.name | string | Friendly name. |
Error Responses
Unauthorized / Invalid Token
{
"error": {
"code": 10759,
"message": "Operation timed out. Please try again.",
"details": { "Exception": "Could not decode token: The token \"...\" is an invalid JWS" }
}
}
Status Codes
| Code | Description |
|---|---|
| 200 | Terminal updated |
| 401 | Token missing, expired, or invalid |
Workflow Placement
Used during ongoing device maintenance, after a terminal is registered.
Notes
-
This update uses
POST, notPUT/PATCH. -
Pairing links a reader and a POS terminal so they operate together.
Common Mistakes
-
Using
PUT/PATCHinstead ofPOST. -
Changing a serial number to one already in use.

