Add terminal file build by terminal alias

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…

Submit Terminal

Stages and boards a terminal to TSYS for a specific merchant in Netevia HQ. The request requires the merchant profile ID and a terminal object containing the terminalType — selected from a comprehensive enum of supported terminal hardware and gateway types (PAX, Dejavoo, ValorPOS, Verifone, Ingenico, Hypercom, Clover, and various gateway integrations). An optional terminalId can be provided to update an existing terminal record. On success, the response includes the terminal ID and its new status.

Endpoint

POST /api/v1/merchant/terminal

Authentication

Basic HTTP Authentication required.
Encode username:password in Base64 and pass in the Authorization header:

Authorization: Basic {base64(username:password)}

When to use

Use this endpoint to perform the full terminal boarding workflow — both staging and TSYS submission — in a single call. It is the primary endpoint for completing terminal setup after a merchant has been approved and their equipment has been assigned. If you only need to pre-stage a terminal without immediate TSYS boarding (e.g., to generate a VAR sheet), use POST /api/v1/merchant/stageOnlyTerminal instead.

Request Body

FieldTypeRequiredDescription
idinteger (int32)YesMerchant profile ID for which the terminal is being submitted
terminalobjectYesTerminal configuration object containing the terminal type
terminal.terminalTypestring (enum)YesThe terminal hardware or gateway type. See supported values below
terminalIdinteger (int32)NoExisting terminal ID to update; omit to create a new terminal record

Supported terminalType values:
HYPERCOM_M4230_SPOSDCC, HYPERCOM_T4230_SPOSDCC, INGENICO_ICT220_INGEMV4, INGENICO_ICT220CTL_INGEMV4, INGENICO_ICT250_INGEMV4, INGENICO_IWL220_INGEMV4, INGENICO_IWL250_INGEMV4, INGENICO_IPP320_INGEMV4, VERIFONE_VX520_XEVA440, VERIFONE_VX680_XEVA440, CLSBPLUS_PAX, MULTIPASS, HCSTAGE, DIAL_PAY, NETEVIA_GATEWAY, AUTH_NET_GATEWAY, NMI_Unified_Gateway, USAePay_Gateway, Aldelo_EDC, Cardflight_mPOS, Dejavoo_Z8, Dejavoo_Z9, Dejavoo_Z11, Pax_S80, Pax_S300, Poynt, EHopper, Freedom_POS, Netevia_Light_POS, STGENCR, HCSTGEN, ValorVP100, ValorVP300, DejavooQD2, DejavooQD4, DejavooQD3, DejavooQD5, DejavooP1, DejavooP3, DejavooP5, ValorVL100, ValorVL300, ValorVL110, ValorVP550, ValorVP800, ValorRCKT, ValorVirtualTerminal

{
  "id": 78234,
  "terminal": {
    "terminalType": "Dejavoo_Z11"
  },
  "terminalId": null
}

Response

200 OK

FieldTypeDescription
dataobjectTerminal result object
data.terminalIdintegerID of the created or updated terminal
data.statusstring (enum)Current terminal status: New, Submitted, Changed, Closed, CloseTemporary, or NotSubmitted
data.requestIdintegerUnique request ID
data.successbooleanTrue if boarding was successful
data.errorstringError message on failure; null on success
data.validationErrorsarrayField-level validation errors, if any
statusstringHTTP status string (e.g., OK)
errorstringAPI-level error message, if any
warningstringNon-fatal warning message, if any
validationResultsarrayValidation result objects, if any
requestIdintegerOuter request ID for tracking
{
  "data": {
    "terminalId": 4822,
    "status": "Submitted",
    "requestId": 78335,
    "success": true,
    "error": null,
    "validationErrors": []
  },
  "status": "OK",
  "error": null,
  "warning": null,
  "validationResults": [],
  "requestId": 78335
}

Error Codes

CodeWhen it happens
400id or terminal.terminalType is missing; terminalType is not a valid enum value; malformed request body
401Invalid or missing Basic Auth credentials
403User does not have permission for this operation
404Merchant profile not found for the given id
500Internal server error during terminal boarding or TSYS submission

Common Mistakes

  • Providing a terminalType string that does not exactly match one of the enum values — the field is case-sensitive and must be an exact match
  • Omitting the terminal object entirely — the nested object is required even if only terminalType is being set
  • Using this endpoint when only staging is needed — if TSYS boarding is not yet desired, use POST /api/v1/merchant/stageOnlyTerminal instead
  • Not saving the returned terminalId from data.terminalId — this ID is needed for all future terminal operations and status checks

Related Endpoints

  • POST /api/v1/merchant/stageOnlyTerminal — stage a terminal without immediately boarding to TSYS
  • GET /api/v1/merchant/equipment — view all equipment assigned to a merchant, including terminal records
  • POST /api/v1/equipment/equipmentpos — add POS equipment to the merchant before terminal boarding
  • GET /api/v1/equipment/pos — retrieve the POS equipment catalog

Example

curl -X POST "https://hq.staging.netevia.dev/api/v1/merchant/terminal" \
  -H "Authorization: Basic $(echo -n 'username:password' | base64)" \
  -H "Content-Type: application/json" \
  -d '{
    "id": 78234,
    "terminal": {
      "terminalType": "Dejavoo_Z11"
    }
  }'
Body Params
int32
required
terminal
object
required
int32
Headers
string
enum
Defaults to application/json

Generated from available response content types

Allowed:
string
enum
Defaults to application/json

Generated from available request content types

Allowed:
Response

Language
Credentials
Basic
base64
:
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json
text/json
data
status
requestId