Update Terminal

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

HeaderRequiredDescription
AuthorizationYesBearer YOUR_ACCESS_TOKEN
Content-TypeYesapplication/json

Request Parameters

Path Parameters:

ParameterTypeRequiredDescription
location_idintegerYesLocation the terminal belongs to.
terminal_idintegerYesID of the terminal to update.

Request Body Fields (send only what you want to change):

FieldTypeRequiredDescription
paired_terminal_idintegerNoID of the Tethered Terminal to link to this workstation.
global_manufacturer_terminal_idintegerNoDevice model identifier (manufacturer + model). See Device Model IDs below.
global_terminal_mode_idintegerNoOperating mode of the terminal. See Terminal Mode IDs below.
global_tip_idintegerNoTip-prompt configuration. 1 = Before, 2 = Tip Adjust, 3 = No Tips.
serial_numberstringNoDevice serial number. Must remain unique. Max 100 characters.
namestringNoFriendly name shown in the SoftPoint dashboard. Max 64 characters.
tidstringNoProcessor terminal ID. Max 100 characters.
statusintegerNo1 = active (default), 0 = inactive.
screen_timeoutintegerNoIdle screen timeout, in seconds.
connected_readerintegerNoWhether a card reader is attached. 1 = active, 0 = inactive (default).
user_idintegerNoID of the current (acting) user.

Field Value Reference

Device Model IDs (global_manufacturer_terminal_id)

IDModel
14PAX A30
15PAX A35
16PAX A50
17PAX A60
18PAX A77
19PAX A80
20PAX A910
21PAX A920
22PAX A920 PRO
23PAX A930
24PAX Aries6
25PAX Aries8
26PAX E500
27PAX E600
28PAX E700
29PAX E800
37External Workstation
52PAX IM30

Terminal Mode IDs (global_terminal_mode_id)

IDMode
1Table Service
2Quick Service
3Payment Terminal
4Kiosk
5Kitchen Display
6Dispenser Kiosk
7External Workstation
8Tethered Terminal
9Security Terminal

Tip IDs (global_tip_id)

IDBehavior
1Before
2Tip Adjust
3No 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

FieldTypeDescription
terminal.idintegerThe terminal's ID.
terminal.id_externalstringExternal identifier.
terminal.statusintegerStatus. 1 = active, 0 = inactive.
terminal.serial_numberstringSerial number.
terminal.namestringFriendly 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

CodeDescription
200Terminal updated
401Token missing, expired, or invalid

Workflow Placement

Used during ongoing device maintenance, after a terminal is registered.

Notes

  • This update uses POST, not PUT/PATCH.

  • Pairing links a reader and a POS terminal so they operate together.

Common Mistakes

  • Using PUT/PATCH instead of POST.

  • Changing a serial number to one already in use.

Body Params
Headers
string
enum
Defaults to application/json

Generated from available response content types

Allowed:
Responses

Language
Credentials
Bearer
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json
text/plain