Create Terminal

Registers a new physical payment terminal at a location so it can accept card-present transactions.

Request Headers

HeaderRequiredDescription
AuthorizationYesBearer YOUR_ACCESS_TOKEN
Content-TypeYesapplication/json

Request Parameters

Path Parameters:

ParameterTypeRequiredDescription
location_idintegerYesLocation the terminal is registered to.

Request Body Fields:

FieldTypeRequiredDescription
global_manufacturer_terminal_idintegerYesDevice model identifier (manufacturer + model). See Device Model IDs below.
global_terminal_mode_idintegerYesOperating mode of the terminal. See Terminal Mode IDs below.
global_tip_idintegerNoTip-prompt configuration. 1 = Before, 2 = Tip Adjust, 3 = No Tips.
serial_numberstringYesDevice serial number. Must be unique. Max 100 characters.
namestringYesFriendly name for the terminal, shown in the SoftPoint dashboard. Max 64 characters.
tidstringNoTerminal ID assigned by the processor. Max 100 characters.
statusintegerNo1 = active (default), 0 = inactive.
paired_terminal_idintegerNoID of the Tethered Terminal to link to this workstation.
screen_timeoutintegerNoIdle screen timeout, in seconds.
connected_readerintegerNoWhether a card reader is attached. 1 = active, 0 = inactive (default).
allow_cash_paymentsintegerNoWhether cash payments are allowed. 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

{
  "global_manufacturer_terminal_id": 22,
  "global_terminal_mode_id": 3,
  "global_tip_id": 2,
  "serial_number": "RR4455566",
  "name": "Bar",
  "tid": "11",
  "status": 1
}

cURL Example

curl --request POST \
  --url https://sandbox-api.softpoint.io/interface/v1/locations/4004699/terminals \
  --header "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  --header "Content-Type: application/json" \
  --data '{
    "global_manufacturer_terminal_id": 22,
    "global_terminal_mode_id": 3,
    "global_tip_id": 2,
    "serial_number": "RR4455566",
    "name": "Bar",
    "tid": "11",
    "status": 1
  }'

Success Response

{
  "terminal": {
    "id": 666,
    "id_external": 1326,
    "status": 1,
    "serial_number": "RR4455566",
    "name": "Bar",
    "tid": "11"
  }
}

Response Fields

FieldTypeDescription
terminal.idintegerThe new terminal's ID (used in payment calls).
terminal.id_externalintegerstring
terminal.statusintegerStatus. 1 = active, 0 = inactive.
terminal.serial_numberstringRegistered serial number.
terminal.namestringFriendly name.
terminal.tidstringProcessor-assigned terminal ID, if provided.

Error Responses

Duplicate Serial Number

{
  "error": {
    "code": 10106,
    "message": "This terminal serial number is already registered.",
    "details": null
  }
}

Status Codes

CodeDescription
200Terminal registered
400Validation failed (for example, duplicate serial number)

Workflow Placement

Part of boarding, after the location exists and before card-present payments:

  1. Create A Location

  2. Create Terminal

  3. Configure Processing (Card Present)

  4. Card-present Sale / Auth

Notes

  • serial_number must be unique across the platform.

  • The returned terminal.id is what card-present webhooks reference as terminal_id.

Common Mistakes

  • Reusing a serial number (returns 10106).

  • Omitting the device model or mode identifiers.

Body Params
Responses

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