Skip to content

Create Merchant Application

POST
/v1/merchant_applications

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 NameTypeRequiredDescription
email_addressstringYesCompany email address (max 255 chars, valid email)
phone_numberstringYesCompany phone number (9–15 chars)
billing_addressobjectYesCompany billing address (same structure as registered_address)
annual_processing_volumeintegerYesAnnual processing volume, in cents
average_transaction_valueintegerYesAverage transaction value, in cents
highest_transaction_valueintegerYesHighest transaction value, in cents (must be ≥ average_transaction_value)

company_information.registered_address: (object, required) Company registered address

Field NameTypeRequiredDescription
address_line1stringYesAddress line 1 (max 512)
address_line2stringNoAddress line 2 (max 512)
citystringYesCity (max 128)
statestringYesState (max 128)
zipstringYesZIP code (max 64)
countrystringYesCountry code (max 128)

Authorization

ApiKeyAuth
X-API-Key<token>

API key used to authorize requests for non-public endpoints.

In: header

Request Body

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"}