Create the terminal of the Charge Anywhere

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

Create Charge Anywhere Terminal

Creates a new terminal within the Charge Anywhere gateway for a specified merchant. The terminal can be one of several device types including Android/iOS mobile apps, QuickSale hardware variants, a Virtual Terminal, or an E-Commerce integration. For wireless physical terminals, optional SIM configuration fields (type and number) can be supplied. On success, the response returns a terminal identification string and a newly assigned license key.

Endpoint

POST /api/v1/merchant/chargeAnywhere/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 when setting up a merchant's Charge Anywhere payment capability for the first time, or when adding additional terminals to an existing merchant account. It supports both virtual terminals for online/MOTO use and physical hardware terminals. The deviceTypeId enum determines how the terminal will be provisioned in the Charge Anywhere gateway.

Request Body

FieldTypeRequiredDescription
merchantProfileIdinteger (int32)YesMerchant profile identifier to associate the new terminal with
deviceTypeIdstring (enum)YesType of device to create. One of: AndroidProd, iOSProd, QuickSaleQ1, QuickSaleQ2, QuickSaleQ3, VirtualTerminal, ECommerce
terminalIdinteger (int32)NoExisting terminal ID to associate with this Charge Anywhere terminal; omit to auto-assign
serialNumberstringNoSerial number of the physical terminal device
wirelessbooleanNoSet to true if the terminal uses a wireless/cellular connection
simTypestringNoSIM card type (e.g., 4G, LTE); required when wireless is true
simNumberstringNoSIM card number for the wireless terminal; required when wireless is true
{
  "merchantProfileId": 78234,
  "deviceTypeId": "VirtualTerminal",
  "terminalId": 1042,
  "serialNumber": null,
  "wireless": false,
  "simType": null,
  "simNumber": null
}

Response

200 OK

FieldTypeDescription
identificationstringIdentification string assigned to the newly created terminal
licenseKeystringLicense key generated and assigned to the new terminal
requestIdintegerUnique request ID for tracking and debugging
successbooleanTrue if the terminal was created successfully
errorstringError message if creation failed; null on success
validationErrorsarrayField-level validation errors, if any
{
  "identification": "VT-MID78234-0091",
  "licenseKey": "CA-LIC-X9Y8Z7W6V5U4",
  "requestId": 11523,
  "success": true,
  "error": null,
  "validationErrors": []
}

Error Codes

CodeWhen it happens
400Required fields (merchantProfileId or deviceTypeId) are missing or invalid; deviceTypeId is not one of the allowed enum values
401Invalid or missing Basic Auth credentials
403User does not have permission for this operation
404Merchant profile not found for the given merchantProfileId
500Internal server error during terminal creation

Common Mistakes

  • Supplying an invalid deviceTypeId value — only the exact enum strings are accepted: AndroidProd, iOSProd, QuickSaleQ1, QuickSaleQ2, QuickSaleQ3, VirtualTerminal, ECommerce
  • Setting wireless: true without providing simType and simNumber — wireless terminals require both SIM fields
  • Passing a string for merchantProfileId — this field must be an integer
  • Creating duplicate terminals for the same merchant by not first calling GET /api/v1/merchant/chargeAnywhere/terminals to check existing devices

Related Endpoints

  • GET /api/v1/merchant/chargeAnywhere/terminals — list all existing Charge Anywhere terminals for a merchant
  • GET /api/v1/merchant/chargeAnywhere/licenses — retrieve license information after terminal creation
  • POST /api/v1/merchant/chargeAnywhere/keepLicenseActive — manage the keep-active status for a terminal's license

Example

curl -X POST "https://hq.staging.netevia.dev/api/v1/merchant/chargeAnywhere/terminal" \
  -H "Authorization: Basic $(echo -n 'username:password' | base64)" \
  -H "Content-Type: application/json" \
  -d '{
    "merchantProfileId": 78234,
    "deviceTypeId": "VirtualTerminal",
    "terminalId": 1042,
    "wireless": false
  }'
Body Params
int32
required
string
enum
required
Allowed:
int32
string
boolean
string
string
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