# Get merchant's information

## Get Merchant's Information

> ⚠️ **Deprecated** — use [Get Merchant Info v2](https://hq.docs.netevia.com/reference/boardingv2_getmerchantinfo) instead.

Retrieves the core merchant record for a given application ID. The response includes the merchant's cash discount configuration, the associated agent profile, the selected POS system, boarding settings ID, the assigned MID (if available), and any external client/chain identifiers used for third-party integrations. This is the v1 version of the endpoint; new integrations should use the v2 equivalent.

### Endpoint

`GET /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 to retrieve the high-level merchant configuration record. It is typically called as part of loading a merchant's full application data across multiple sections. Because this endpoint is deprecated, prefer `GET /api/v2/merchant/info` for new integrations; however, if maintaining existing v1 integrations, this endpoint continues to function.

### Query Parameters

| Parameter | Type            | Required | Description                                        |
| --------- | --------------- | -------- | -------------------------------------------------- |
| id        | integer (int32) | Yes      | The unique internal ID of the merchant application |

### Response

**200 OK**

The `data` object is of type `TsysMerchant`.

| Field              | Type            | Required | Description                                                                           |
| ------------------ | --------------- | -------- | ------------------------------------------------------------------------------------- |
| cashDiscount       | string (enum)   | Yes      | Whether the merchant participates in a cash discount program: `"Yes"` or `"No"`       |
| agentProfileId     | integer (int32) | Yes      | ID of the agent profile associated with this merchant                                 |
| pos                | string (enum)   | Yes      | POS system assigned to the merchant. See enum values below                            |
| boardingSettingsId | integer (int32) | No       | ID of the boarding settings configuration applied to this merchant                    |
| mid                | string          | No       | Merchant Identification Number (populated after the merchant is approved and boarded) |
| externalClientID   | string          | No       | External client identifier used by third-party systems                                |
| externalChainID    | string          | No       | External chain identifier for multi-location merchants                                |
| status             | string          | —        | HTTP status string (e.g., `"OK"`)                                                     |
| error              | string          | —        | Error message if the request failed                                                   |
| warning            | string          | —        | Non-fatal warning message                                                             |
| validationResults  | array           | —        | List of validation errors, each with `memberNames` and `errorMessage`                 |
| requestId          | integer (int32) | —        | Internal request tracking ID                                                          |

**`pos` enum values:**

| Value             | Description            |
| ----------------- | ---------------------- |
| `None`            | No POS system assigned |
| `AptitoPalomaPOS` | Aptito Paloma POS      |
| `Clover`          | Clover POS             |
| `PalomaPOS`       | Paloma POS             |
| `Aldelo`          | Aldelo POS             |
| `Restoactive`     | Restoactive POS        |
| `PoyntPOS`        | Poynt POS              |
| `CloverGo`        | Clover Go mobile POS   |
| `UnifiedMpos`     | Unified mPOS           |
| `CustomPos`       | Custom/proprietary POS |
| `RetailCloud`     | Retail Cloud POS       |
| `EHopper`         | eHopper POS            |
| `FreedomPos`      | Freedom POS            |
| `ClubPos`         | Club POS               |
| `SelfLane`        | Self-Lane kiosk        |
| `OtfPOS`          | OTF POS                |
| `NProKiosk`       | NPro Kiosk             |
| `GretaPOS`        | Greta POS              |

```json
{
  "data": {
    "cashDiscount": "No",
    "agentProfileId": 47,
    "pos": "Clover",
    "boardingSettingsId": 12,
    "mid": "4280001234567",
    "externalClientID": null,
    "externalChainID": null
  },
  "status": "OK",
  "error": null,
  "warning": null,
  "validationResults": [],
  "requestId": 115662
}
```

### Error Codes

| Code | When it happens                                            |
| ---- | ---------------------------------------------------------- |
| 400  | The `id` query parameter is missing or not a valid integer |
| 401  | Invalid or missing Basic Auth credentials                  |
| 403  | User does not have permission for this operation           |
| 404  | No merchant application found for the given `id`           |
| 500  | Internal server error                                      |

### Common Mistakes

* Using this deprecated v1 endpoint in new integrations — migrate to `GET /api/v2/merchant/info` which returns a richer data model.
* Expecting `mid` to be populated before the merchant is boarded — this field is `null` until the processor assigns a MID after approval.
* Confusing `agentProfileId` with `boardingSettingsId` — the agent profile defines the ISO agent relationship, while boarding settings define the processor configuration template.
* The `pos` field is required for submission but defaults to `"None"` if no POS system is selected.

### Related Endpoints

* `GET /api/v2/merchant/info` — the v2 replacement for this endpoint (preferred for new integrations)
* `PUT /api/v1/merchant/info` — update the merchant's core information
* `GET /api/v1/merchant/account` — retrieve the merchant's sales and business profile
* `GET /api/v1/merchant/parameters` — retrieve the merchant's business and owner information

### Example

```bash
curl -X GET "https://hq.staging.netevia.dev/api/v1/merchant/info?id=10045" \
  -H "Authorization: Basic $(echo -n 'username:password' | base64)" \
  -H "Accept: application/json"
```

# OpenAPI definition

```json
{
  "openapi": "3.0.0",
  "info": {
    "version": "v1",
    "title": "Netevia HQ | API Documentation",
    "description": "Netevia HQ | API Documentation"
  },
  "paths": {
    "/api/v1/merchant/info": {
      "get": {
        "tags": [
          "Merchant applications/Merchants data management"
        ],
        "summary": "Get merchant's information",
        "operationId": "Boarding_GetTsysMerchant",
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse1_TsysMerchant"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse1_TsysMerchant"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse1_TsysMerchant"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResponse1_TsysMerchant"
                }
              }
            }
          }
        }
      }
    }
  },
  "security": [
    {
      "Basic": []
    }
  ],
  "servers": [
    {
      "url": "https://hq.staging.netevia.dev"
    }
  ],
  "components": {
    "securitySchemes": {
      "Basic": {
        "type": "http",
        "description": "Basic HTTP Authentication",
        "scheme": "basic"
      }
    },
    "schemas": {
      "ValidationResult": {
        "type": "object",
        "properties": {
          "memberNames": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "readOnly": true
          },
          "errorMessage": {
            "type": "string"
          }
        }
      },
      "TsysMerchant": {
        "required": [
          "cashDiscount",
          "agentProfileId",
          "pos"
        ],
        "type": "object",
        "properties": {
          "cashDiscount": {
            "enum": [
              "No",
              "Yes"
            ],
            "type": "string"
          },
          "agentProfileId": {
            "format": "int32",
            "type": "integer"
          },
          "pos": {
            "enum": [
              "None",
              "AptitoPalomaPOS",
              "Clover",
              "PalomaPOS",
              "Aldelo",
              "Restoactive",
              "PoyntPOS",
              "CloverGo",
              "UnifiedMpos",
              "CustomPos",
              "RetailCloud",
              "EHopper",
              "FreedomPos",
              "ClubPos",
              "SelfLane",
              "OtfPOS",
              "NProKiosk",
              "GretaPOS"
            ],
            "type": "string"
          },
          "boardingSettingsId": {
            "format": "int32",
            "type": "integer"
          },
          "mid": {
            "type": "string"
          },
          "externalClientID": {
            "type": "string"
          },
          "externalChainID": {
            "type": "string"
          }
        }
      },
      "ApiResponse1_TsysMerchant": {
        "type": "object",
        "properties": {
          "data": {
            "$ref": "#/components/schemas/TsysMerchant"
          },
          "status": {
            "enum": [
              "Continue",
              "SwitchingProtocols",
              "OK",
              "Created",
              "Accepted",
              "NonAuthoritativeInformation",
              "NoContent",
              "ResetContent",
              "PartialContent",
              "MultipleChoices",
              "Ambiguous",
              "MovedPermanently",
              "Moved",
              "Found",
              "Redirect",
              "SeeOther",
              "RedirectMethod",
              "NotModified",
              "UseProxy",
              "Unused",
              "TemporaryRedirect",
              "RedirectKeepVerb",
              "BadRequest",
              "Unauthorized",
              "PaymentRequired",
              "Forbidden",
              "NotFound",
              "MethodNotAllowed",
              "NotAcceptable",
              "ProxyAuthenticationRequired",
              "RequestTimeout",
              "Conflict",
              "Gone",
              "LengthRequired",
              "PreconditionFailed",
              "RequestEntityTooLarge",
              "RequestUriTooLong",
              "UnsupportedMediaType",
              "RequestedRangeNotSatisfiable",
              "ExpectationFailed",
              "UpgradeRequired",
              "InternalServerError",
              "NotImplemented",
              "BadGateway",
              "ServiceUnavailable",
              "GatewayTimeout",
              "HttpVersionNotSupported"
            ],
            "type": "string"
          },
          "error": {
            "type": "string"
          },
          "warning": {
            "type": "string"
          },
          "validationResults": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ValidationResult"
            }
          },
          "requestId": {
            "format": "int32",
            "type": "integer"
          }
        }
      }
    }
  }
}
```