Create Merchant Application
Create a new merchant application for an end connected merchant with encrypted company information.
Content-Type: application/json
Authentication: X-API-Key header required
Request Body: JSON structure containing RSA-encrypted payload
Encrypted Payload Structure (before encryption)
company_information: (object, required) Basic company details object (limited fields – see note below)
| Field Name | Type | Required | Description |
|---|---|---|---|
| email_address | string | Yes | Company email address (max 255 chars, valid email) |
| phone_number | string | Yes | Company phone number (9–15 chars) |
| billing_address | object | Yes | Company billing address (same structure as registered_address) |
| annual_processing_volume | integer | Yes | Annual processing volume, in cents |
| average_transaction_value | integer | Yes | Average transaction value, in cents |
| highest_transaction_value | integer | Yes | Highest transaction value, in cents (must be ≥ average_transaction_value) |
company_information.registered_address: (object, required) Company registered address
| Field Name | Type | Required | Description |
|---|---|---|---|
| address_line1 | string | Yes | Address line 1 (max 512) |
| address_line2 | string | No | Address line 2 (max 512) |
| city | string | Yes | City (max 128) |
| state | string | Yes | State (max 128) |
| zip | string | Yes | ZIP code (max 64) |
| country | string | Yes | Country code (max 128) |
Authorization
ApiKeyAuth API key used to authorize requests for non-public endpoints.
In: header
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/v1/merchant_applications" \ -H "Content-Type: application/json" \ -d '{ "encrypted_data": "<BASE64_ENCRYPTED_DATA>", "nonce": "<BASE64_32_BYTE_NONCE>", "public_key": "<BASE64_PUBLIC_KEY_PEM>" }'{ "merchant_application_id": "scoped_merchant_app_id_12345"}Get Public Key GET
Retrieve the RSA public key for encrypting sensitive merchant application data. **Content-Type**: `application/json` **Authentication**: None required (public endpoint) **Response**: Returns base64-encoded RSA public key for client-side encryption
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