> For the complete documentation index, see [llms.txt](https://docs.payengine.co/payengine-api-v2.5/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.payengine.co/payengine-api-v2.5/onboarding/validate-onboarding-application.md).

# Validate onboarding application

## Validate merchant application

<mark style="color:green;">`POST`</mark> `https://<Platform-host>/merchant/:id/validate`

#### Path Parameters

| Name                                 | Type   | Description |
| ------------------------------------ | ------ | ----------- |
| id<mark style="color:red;">\*</mark> | string | Merchant ID |

{% tabs %}
{% tab title="422: Unprocessable Entity Validation failed" %}
{% tabs %}
{% tab title="Example response" %}

```javascript
{
    "success": false,
    "errors": {
        "business_details": {
            "legal.name": "Legal name is required",
            "legal.address_street": "Street is required",
            "legal.address_city": "City is required",
            "legal.address_state": "Please use two-letter state abbreviations for US and Canada",
            "legal.address_zip": "Zip is required",
            "place_of_issuance": "Please use two-letter state abbreviations for US and Canada",
            "aoi_month": "Articles of incorporation month is required",
            "aoi_day": "Articles of incorporation day is required",
            "aoi_year": "Articles of incorporation year is required",
            "dba.name": "DBA name is required",
            "dba.address_street": "Street is required",
            "dba.address_city": "City is required",
            "dba.address_state": "Please use two-letter state abbreviations for US and Canada",
            "dba.address_zip": "Zip is required",
            "business_phone_no": "Business phone number is required",
            "email": "Business email is required",
            "business_age_years": "Years in business is required",
            "business_age_months": "Months in business (in addition to years) is required",
            "business_description": "Business description is required",
            "how_products_delivered": "\"How products delivered\" is required",
            "when_product_received": "\"When is product received\" is required",
            "how_many_days": "Number of days is required",
            "return_policy": "Return policy is required",
            "tax_identification_number": "Tax ID is required"
        },
        "owner_officers": {
            "officers[0].first_name": "Owner's first name is required",
            "officers[0].last_name": "Owner's last name is required",
            "officers[0].ownership": "officers[0].ownership must be a `number` type, but the final value was: `NaN` (cast from the value `\"\"`).",
            "officers[0].address_street": "Owner's street address is required",
            "officers[0].address_city": "Owner's city is required",
            "officers[0].address_state": "Please use two-letter state abbreviations for US and Canada",
            "officers[0].address_zip": "Owner's zip code is required",
            "officers[0].email": "Owner's email is required",
            "officers[0].phone_no": "Owner's phone number is required",
            "officers[0].birth_month": "Owner's birth month is required",
            "officers[0].birth_day": "Owner's birth day is required",
            "officers[0].birth_year": "Owner's birth year is required",
            "officers[0].ssn": "Invalid SSN format",
            "officers[0].title": "Job title has an invalid value. Please refer to https://docs.payengine.co/payengine-api-reference/onboarding/get-valid-criteria for more information",
            "total_ownership": "Total ownership percentage cannot be more than 100%"
        },
        "credit_card_processing": {
            "total_percentage": "Total percentage must be 100%",
            "frequency_ticket_per_year": "Frequency of highest ticket item per year is required"
        },
        "fee_schedule": "Fee schedule is required for application processing",
        "bank_details": "Bank account information is required for application processing"
    }
}
```

{% endtab %}
{% endtabs %}
{% endtab %}

{% tab title="200: OK Validation passed" %}
{% tabs %}
{% tab title="Example Response" %}

```javascript
{
    "success": true,
    "message": "Onboarding application is valid and ready to submit"
}
```

{% endtab %}
{% endtabs %}
{% endtab %}
{% endtabs %}

### Response Field Definitions

<table><thead><tr><th width="378">Field Name</th><th width="150">Type</th><th>Description</th><th>Required</th></tr></thead><tbody><tr><td><code>success</code></td><td>boolean</td><td>Indicate that merchant is either valid or invalid</td><td>Required</td></tr><tr><td><code>message</code></td><td>string</td><td></td><td>Optional</td></tr><tr><td><code>errors</code></td><td>object</td><td>Validation errors</td><td>Optional</td></tr><tr><td><code>errors</code>.business_type</td><td>object</td><td></td><td>Optional</td></tr><tr><td><code>errors.business_detail</code></td><td>object</td><td></td><td>Optional</td></tr><tr><td><code>errors.owner_officers</code></td><td>object</td><td></td><td>Optional</td></tr><tr><td><code>errors.credit_card_processing</code></td><td>object</td><td></td><td>Optional</td></tr><tr><td><code>errors.ach_processing</code></td><td>object</td><td></td><td>Optional</td></tr><tr><td><code>errors.bank_details</code></td><td>string</td><td></td><td>Optional</td></tr><tr><td><code>errors.fee_schedule</code></td><td>string</td><td></td><td>Optional</td></tr></tbody></table>
