/api/v2/merchant/info

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

Update Merchant Info (V2)

Updates the core configuration of an existing V2 merchant application record. The writable fields cover the fees program, POS system, agent profile association, boarding settings template, MID, and external system identifiers. This endpoint is used to correct or change top-level merchant metadata before or after submission. Only the fields provided in the merchant sub-object are updated.

Endpoint

POST /api/v2/merchant/info

Authentication

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

Authorization: Basic {base64(username:password)}

When to use

Call this endpoint when you need to change the agent assignment, fees program, or POS system for a merchant that was already created with POST /api/v2/merchant/create. It is also used to associate external client or chain IDs for multi-system integrations. After updating, verify the changes with GET /api/v2/merchant/info before submitting.

Request Body

FieldTypeRequiredDescription
idinteger (int32)YesMerchant profile ID to update (1–999999)
merchantTsysMerchantV2EditNoMerchant configuration fields to update
merchant.feesProgramstring (enum)Yes (if merchant provided)Pricing program: Traditional, CashDiscount, Surcharge, ServiceFee, DualPricing
merchant.agentProfileIdinteger (int32)Yes (if merchant provided)Agent profile ID from GET /api/v2/agent/profile
merchant.posstring (enum)Yes (if merchant provided)POS system type: None, AptitoPalomaPOS, Clover, PalomaPOS, Aldelo, Restoactive, PoyntPOS, CloverGo, UnifiedMpos, CustomPos, RetailCloud, EHopper, FreedomPos, ClubPos, SelfLane, OtfPOS, NProKiosk, GretaPOS
merchant.boardingSettingsIdinteger (int32)NoBoarding settings template ID to apply
merchant.midstringNoExisting MID to associate (for manual MID assignment scenarios)
merchant.externalClientIDstringNoExternal client identifier for cross-system linking
merchant.externalChainIDstringNoExternal chain identifier for multi-location grouping
{
  "id": 30912,
  "merchant": {
    "feesProgram": "Surcharge",
    "agentProfileId": 204,
    "pos": "PoyntPOS",
    "boardingSettingsId": 22,
    "externalClientID": "EXT-CLIENT-8801"
  }
}

Response

200 OK

FieldTypeDescription
requestIdintegerEcho of the internal request ID
successbooleantrue if the merchant info was updated successfully
errorstringError message if success is false
validationErrorsarrayField-level validation errors with field and error properties
{
  "requestId": 71204,
  "success": true,
  "error": null,
  "validationErrors": []
}

Error Codes

CodeWhen it happens
400id is missing, outside 1–999999 range, or merchant sub-object contains invalid enum values
401Invalid or missing Basic Auth credentials
403User does not have permission to update this merchant
404No merchant found with the given id
500Internal server error

Common Mistakes

  • Confusing this POST endpoint with the GET endpoint at the same path (GET /api/v2/merchant/info) — the POST updates while the GET retrieves.
  • Omitting feesProgram, agentProfileId, or pos from the merchant object — all three are required if the merchant object is included at all.
  • Using CashDiscountLegacy as the feesProgram value — this value appears in GET responses for legacy records but is not accepted as input in update calls.
  • Not verifying the update with GET /api/v2/merchant/info before calling the submit endpoint — confirms the changes were applied correctly.
  • Sending id: 0 or negative values — the schema enforces minimum: 1 and maximum: 999999.

Related Endpoints

  • GET /api/v2/merchant/info — Retrieve the current merchant profile before or after updating
  • POST /api/v2/merchant/fees — Update the merchant's fee schedule
  • POST /api/v2/merchant/submit — Submit the complete merchant application

Example

curl -X POST https://hq.staging.netevia.dev/api/v2/merchant/info \
  -H "Authorization: Basic $(echo -n 'username:password' | base64)" \
  -H "Content-Type: application/json" \
  -d '{
    "id": 30912,
    "merchant": {
      "feesProgram": "Surcharge",
      "agentProfileId": 204,
      "pos": "PoyntPOS",
      "boardingSettingsId": 22,
      "externalClientID": "EXT-CLIENT-8801"
    }
  }'
Body Params
merchant
object
int32
required
1 to 999999
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