| Time | Status | User Agent | |
|---|---|---|---|
Retrieving recent requests… | |||
Update Merchant Info (v1)
Deprecated — use boardingv2_updatemerchantinfo instead.
Updates the top-level merchant profile properties — including the associated agent profile, POS system, cash discount program status, and optional external reference IDs — for an existing merchant application. This endpoint targets the same data collected in the merchantProfile section of the initial submit request.
Endpoint
POST /api/v1/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
Use this endpoint when the agent profile, POS type, or cash discount setting needs to be changed after initial submission but before the merchant application is approved. For example, if a merchant switches from a standard terminal to a Clover POS after submission, this endpoint updates that configuration without requiring a full re-submission. For new integrations, use the v2 equivalent.
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
| id | integer (int32) | Yes | Merchant profile ID to update (1–999999). |
| merchant | object | No | Merchant profile fields to update. |
| merchant.cashDiscount | string | Yes (if merchant provided) | Cash discount program flag. Enum: No, Yes. |
| merchant.agentProfileId | integer | Yes (if merchant provided) | Agent profile ID to associate with this merchant. |
| merchant.pos | string | Yes (if merchant provided) | POS system type. Enum: None, Clover, PalomaPOS, PoyntPOS, CloverGo, UnifiedMpos, Aldelo, Restoactive, EHopper, FreedomPos, GretaPOS, and others. |
| merchant.boardingSettingsId | integer | No | Boarding settings template ID. |
| merchant.mid | string | No | Merchant ID (MID) override value. |
| merchant.externalClientID | string | No | External client reference identifier. |
| merchant.externalChainID | string | No | External chain reference identifier. |
{
"id": 10482,
"merchant": {
"cashDiscount": "No",
"agentProfileId": 201,
"pos": "Clover",
"boardingSettingsId": 15
}
}Response
200 OK
| Field | Type | Description |
|---|---|---|
| data | object | Empty object on success. |
| status | string | HTTP status name (e.g., "OK"). |
| error | string | Error message if the update failed; otherwise null. |
| warning | string | Non-fatal warning, if any. |
| validationResults | array | Field-level validation errors, if any. |
| requestId | integer | Internal request tracking ID. |
{
"data": {},
"status": "OK",
"error": null,
"warning": null,
"validationResults": [],
"requestId": 55871
}Error Codes
| Code | When it happens |
|---|---|
| 400 | id is missing or out of range, or a required merchant sub-field is invalid. |
| 401 | Invalid or missing Basic Auth credentials. |
| 403 | User does not have permission to update this merchant application. |
| 404 | No merchant application found with the given ID. |
| 500 | Internal server error. |
Common Mistakes
- Providing the
merchantobject but omitting its required fields (cashDiscount,agentProfileId,pos) will cause a 400 error. - Setting
posto a value not in the allowed enum list returns a validation error. - Attempting to change the
agentProfileIdto one that does not exist or belongs to a different ISO will be rejected. - This is a v1 deprecated endpoint — prefer the v2 merchant info endpoint for new integrations.
Related Endpoints
POST /api/v1/merchant/parameters— Update business and owner information.POST /api/v1/merchant/account— Update the sales and business profile.POST /api/v1/merchant/fees— Update the fee structure.
Example
curl -X POST https://hq.staging.netevia.dev/api/v1/merchant/info \
-H "Authorization: Basic $(echo -n 'username:password' | base64)" \
-H "Content-Type: application/json" \
-d '{
"id": 10482,
"merchant": {
"cashDiscount": "No",
"agentProfileId": 201,
"pos": "Clover",
"boardingSettingsId": 15
}
}'