| Time | Status | User Agent | |
|---|---|---|---|
Retrieving recent requests… | |||
Get Merchant Status (Extended)
Returns the current status of a merchant application using an extended response schema. Unlike GET /api/v1/merchant/status, this endpoint returns a StatusResult object directly (not wrapped in ApiResponse1) and includes a full enumeration of all possible status values spanning the entire merchant lifecycle — from draft through underwriting, MPA processing, and processor boarding. It also includes explicit success and validationErrors fields.
Endpoint
GET /api/v1/merchant/status2
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 you need the complete status taxonomy of a merchant application, including states such as "MPABoarded", "Underwriting", "PendingPreUw", and processor-specific states like "ElavonSigned". This endpoint is preferred when building integrations that need to react to a wider range of status transitions than what status returns.
Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| id | integer (int32) | Yes | The unique internal ID of the merchant application |
Response
200 OK
The response is a StatusResult object directly (not wrapped in the standard ApiResponse1 envelope).
| Field | Type | Description |
|---|---|---|
| mid | string | Merchant Identification Number assigned by the processor (present when boarded) |
| status | string (enum) | Current lifecycle status of the merchant application (see full enum below) |
| statusDate | string (date-time) | ISO 8601 timestamp of when this status was last set |
| success | boolean | Whether the last operation that set this status completed successfully |
| error | string | Error message if something went wrong |
| validationErrors | array | Structured list of field-level errors, each with field and error |
| requestId | integer (int32) | Internal request tracking ID |
Full status enum values:
| Value | Description |
|---|---|
Draft | Application created but not yet submitted |
NotSubmitted | Application exists but has not been submitted for review |
Prospect | Merchant is a prospect, not yet a full application |
Received | Application received by the processor |
PreUnderwriting | Application in preliminary underwriting stage |
PendingPreUw | Pending preliminary underwriting review |
Underwriting | Application actively under underwriting review |
UnderReview | Application under general review |
PendingReview | Waiting for review to begin |
PendingReviewPreUw | Pending review in the pre-underwriting phase |
InCredit | In credit review |
ConditionallyApproved | Approved with conditions that must be met |
RequestChanges | Changes requested before the application can proceed |
PreApproved | Pre-approved, pending final confirmation |
Approved | Fully approved |
Declined | Application declined |
Deactivated | Merchant account has been deactivated |
WithDrawn | Application withdrawn by the merchant or ISO |
Cancelled | Application cancelled |
Closed | Merchant account closed |
Pending | Pending action or decision |
New | Newly created record |
MPAInProcess | Merchant Processing Agreement is being processed |
MPACancelled | MPA signing process was cancelled |
MPADeclined | MPA was declined by the merchant |
MPADeleted | MPA record was deleted |
MPAError | An error occurred during MPA processing |
MPABoarded | MPA successfully boarded with the processor |
CRPOSEquipment | CR/POS equipment stage |
T2UnderReview | Tier-2 underwriting in review |
T2Approved | Tier-2 underwriting approved |
T2Declined | Tier-2 underwriting declined |
T2Any | Any tier-2 state |
T2Closed | Tier-2 case closed |
T2Cancelled | Tier-2 case cancelled |
ElavonSigned | Signed with Elavon processor |
ElavonSubmitted | Submitted to Elavon processor |
ElavonProcessorReceived | Received by Elavon processor |
{
"mid": "4280001234567",
"status": "MPABoarded",
"statusDate": "2026-05-20T11:00:00Z",
"success": true,
"error": null,
"validationErrors": [],
"requestId": 110294
}Example — Application pending changes:
{
"mid": null,
"status": "RequestChanges",
"statusDate": "2026-05-18T14:22:00Z",
"success": false,
"error": "Missing voided check for bank verification",
"validationErrors": [
{
"field": "businessCheckingRoutingNumber",
"error": "Routing number does not match bank records"
}
],
"requestId": 110101
}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
- Note that this endpoint returns a
StatusResultdirectly, not the standardApiResponse1wrapper used by most other endpoints — the response schema is different fromGET /api/v1/merchant/status. - Not handling the full range of status enum values — build your integration to handle unknown values gracefully, as new statuses may be added.
- Confusing
validationErrors(an array of{field, error}objects) withvalidationResultsfrom other endpoints (which use{memberNames, errorMessage}instead). - Assuming
success: truemeans the merchant is approved —successreflects whether the last status-setting operation succeeded, not the merchant's approval state.
Related Endpoints
GET /api/v1/merchant/status— simpler status endpoint that returns the standardApiResponse1wrapper withStatusResponsedataPOST /api/v1/merchant/submit— submit the merchant application for reviewPOST /api/v1/merchant/updateStatus— update a merchant's status (admin use)
Example
curl -X GET "https://hq.staging.netevia.dev/api/v1/merchant/status2?id=10045" \
-H "Authorization: Basic $(echo -n 'username:password' | base64)" \
-H "Accept: application/json"