Update Merchant Application
Complete the merchant application with encrypted form submission containing detailed company and representative information.
Content-Type: application/json
Authentication: X-API-Key header required
Request Body: JSON structure containing RSA-encrypted complete onboarding form
Note: TThis endpoint completes the onboarding process with all required business and representative information.
Encrypted Payload Structure (before encryption)
company_information: (object, required) See details below
| Field Name | Type | Required | Description |
|---|---|---|---|
| main_url | string | Yes | Company website URL (valid URL, max 255 chars) |
| legal_name | string | Yes | Legal company name (max 512 chars) |
| trading_name | string | Yes | Trading/DBA name (max 512 chars) |
| business_type | string | Yes | Business type: Individual or Sole Proprietorship, Private Corporation, Limited Liability Corporation, Publicly Traded Corporation, Limited Partnership, Non-Profit Entity, Government Agency, Regulated Financial Institution, SEC Registered Entity, CFTC Registered Entity |
| business_registration_number | string | No | Business registration number (max 255 chars) |
| date_of_incorporation | string | No | Date of incorporation (max 255 chars) |
| industry | string | Yes | Industry category. Must be one of: Fashion & Apparel, Apparel & Accessories, Automotive, Beauty & Skincare, Electronics, Flowers, Gifts, & Specialty Stores, Food & Beverage, Furniture, Appliances, & Equipment, General Retail, Health & Wellness, Hobbies, Arts, & Crafts, Home & Garden, Industrial Retail, Jewelry & Watches, Pet Supplies, Sporting Goods & Fitness, Toys & Games, Gaming, Wineries & Breweries, Nutraceutical, Other |
| documents | object | Yes | Company documents object |
| documents.tax_verification | object | Yes | Tax verification document |
| documents.tax_verification.type | string | Yes | Document type: EIN Letter |
| documents.tax_verification.front | string | Yes | File ID from attachment upload |
| documents.bank_verification | object | Yes | Bank verification document |
| documents.bank_verification.type | string | Yes | Document type: Bank Statement |
| documents.bank_verification.front | string | Yes | File ID from attachment upload |
| documents.address_verification | object | No | Address verification document |
| bank_information | object | Yes | Bank account information |
| bank_information.account_number | string | Yes | Bank account number (5-17 chars) |
| bank_information.routing_number | string | Yes | Bank routing number (9 chars) |
company_representatives: (object, required) See details below
| Field Name | Type | Required | Description |
|---|---|---|---|
| primary_business_owner | array | Yes | Array of primary business owners |
| primary_business_owner[].employee_id | string | No | Employee ID (max 128 chars) |
| primary_business_owner[].first_name | string | Yes | First name (max 255 chars) |
| primary_business_owner[].middle_name | string | No | Middle name (max 255 chars) |
| primary_business_owner[].last_name | string | Yes | Last name (max 255 chars) |
| primary_business_owner[].job_title | string | Yes | Job title: Chief Executive Officer, Chief Financial Officer, Chief Operating Officer, etc. |
| primary_business_owner[].ownership_percentage | integer | No | Ownership percentage |
| primary_business_owner[].date_of_birth | string | Yes | Date of birth (max 255 chars) |
| primary_business_owner[].country_of_birth | string | Yes | Country of birth (max 255 chars) |
| primary_business_owner[].national_id_number | string | Yes | National ID number (4-50 chars) |
| primary_business_owner[].email_address | string | Yes | Email address (valid email) |
| primary_business_owner[].phone | string | Yes | Phone number (9-15 chars) |
| primary_business_owner[].address | object | Yes | Address object (same structure as company addresses) |
| primary_business_owner[].documents | object | Yes | Representative documents |
| primary_business_owner[].documents.identity_verification | object | Yes | Identity verification document |
| primary_business_owner[].documents.identity_verification.type | string | Yes | Document type: Passport, National Identity Card, Driving License, Citizen Card, Residence Permit, Electoral ID |
| primary_business_owner[].documents.identity_verification.front | string | Yes | File ID from attachment upload |
| primary_business_owner[].documents.identity_verification.back | string | No | File ID from attachment upload (if applicable) |
| authorized_signatory | object | No | Authorized signatory (same structure as primary_business_owner) |
| control_person | object | No | Control person (same structure as primary_business_owner) |
platform_info: (object, required) See details below
| Field Name | Type | Required | Description |
|---|---|---|---|
| sub_merchant_id | string | Yes | Sub-merchant identifier (max 255 chars) |
acknowledgement: (boolean, required)
| Field Name | Type | Required | Description |
|---|---|---|---|
| acknowledgement | boolean | Yes | Terms and conditions acknowledgement |
Authorization
ApiKeyAuth API key used to authorize requests for non-public endpoints.
In: header
Path Parameters
Identifier returned when the merchant application was created.
Complete onboarding with encrypted form. JSON wrapper or raw binary supported per integration notes.
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
curl -X PUT "https://example.com/v1/merchant_applications/scoped_merchant_app_id_12345" \ -H "Content-Type: application/json" \ -d '{ "encrypted_data": "<BASE64_ENCRYPTED_DATA>", "nonce": "<BASE64_32_BYTE_NONCE>", "public_key": "<BASE64_PUBLIC_KEY_PEM>" }'Upload Attachment POST
Upload document attachments for a merchant application (tax verification, bank statements, identity documents). **Content-Type**: `multipart/form-data` **Authentication**: `X-API-Key` header required **File Requirements**: - Maximum file size: 4MB - Supported formats: PDF, JPG, PNG - Supported Document Category Values: bank_verification, tax_verification, identity_verification, authorized_signatory_identity_verification, certified_authorized_signatory, control_person_identity_verification, address_verification
Generate Onboarding Link POST
Generate a sharable onboarding link for sub-merchants to complete their own onboarding process. **Content-Type**: `application/json` **Authentication**: `X-API-Key` header required **Purpose**: This endpoint is designed for platforms to generate self-onboarding links that they can share with their sub-merchants. The sub-merchants can then use these links to complete their onboarding independently. **Link Expiry**: Generated links expire after 7 days for security purposes.