Kushki Developer Portal
  1. APPIAN-SUBMERCHANT-REGISTER
Kushki Developer Portal
  • KUSHKI API
    • Kushki Developer Portal 🚀
    • Perú 🇵🇪
    • Ecuador 🇪🇨
    • Chile 🇨🇱
    • México 🇲🇽
    • Colombia 🇨🇴
    • Libraries & SDKs (Online Payments)
      • Release notes
      • Mobile
        • Kushki Android
        • Kushki iOS 
        • Kushki iOS ARM Setup
      • Web
        • Kushki.js 🌐
        • kushki.js-hosted-fields
          • kushki.js Hosted Fields
          • Guía de migración a Kushki.js 2.0
          • Javascript
          • Card Payouts
            • Interfaces
              • Interface `FormValidity`
              • Interface `Styles`
              • Interface `CardPayoutUniqueTokenResponse`
              • Interface `CardPayoutSubscriptionTokenResponse`
              • Interface `CardPayoutOptions`
              • Interface `Fields`
              • Interface `Field`
              • Interface `FieldValidity`
            • Type Aliases
              • Type Alias `InputTypeEnum`
              • Type Alias `CardPayoutTokenResponse`
            • Errors
              • Errors
            • Card Payouts Interface
              • Interface `ICardPayouts`
            • Enumerations
              • Enumeration `InputModelEnum`
            • Methods
              • initCardPayoutToken method
            • Types
              • Type Alias `CssProperties`
          • Antifraud
            • Interfaces
              • Untitled Doc
              • Untitled Doc
              • SiftScienceObject Interface
            • Methods
              • Untitled Doc
              • requestInitAntiFraud method
              • Untitled Doc
          • Kushki
            • Interfaces
              • Untitled Doc
              • CommissionConfigurationRequest interfaces
              • Untitled Doc
            • Classes
              • Untitled Doc
            • Methods
              • requestBankList function
              • requestCommissionConfiguration function
              • Kushki.js Hosted Fields init function
          • Card
            • Card-Interface
              • Untitled Doc
              • Untitled Doc
            • Interfaces
              • Untitled Doc
              • AppleTokenResponse Interface
              • Untitled Doc
              • Untitled Doc
              • BrandByMerchantResponse Interface
              • ApplePayOptions Interface
              • ApplePayPaymentContact Interface
              • ApplePayGetTokenOptions Interface
              • Untitled Doc
              • Untitled Doc
              • MasterCardBrandingRequest Interface
              • Untitled Doc
              • Untitled Doc
              • Untitled Doc
              • Untitled Doc
              • Untitled Doc
              • Untitled Doc
              • Untitled Doc
              • Untitled Doc
              • Untitled Doc
              • VisaBrandingRequest Interface
              • Untitled Doc
              • Untitled Doc
              • Untitled Doc
            • CarApplePay interface
              • ICardApplePay Interface
            • Errors
              • Untitled Doc
            • Methods
              • Untitled Doc
              • Untitled Doc
              • Untitled Doc
              • requestInitCardBrandingAnimation method
              • Untitled Doc
              • requestBrandsByMerchant method
            • Types
              • Untitled Doc
              • Untitled Doc
              • Untitled Doc
    • Schemas
      • webhooksChargeback
      • one-and-two-step-payment
      • webhooks
      • transactionType
      • threeDomainSecure
      • product
      • payment_submethod
      • paymentMethod
      • orderDetails
      • headers
      • extraTaxes
      • documentType
      • currency
      • currency-cash-in
      • currency-CL
      • binInfo
      • UnexpectedErrorResponse
      • SubscriptionUpdate
      • SubscriptionAdjustmentRequest
      • Subscription
      • Submerchant
      • Shipping-Address
      • Promotions
      • Metadata
      • Language
      • InvalidBinResponse
      • GetConfigurationRequest
      • ErrorResponse
      • Deferred
      • Country
      • ContactDetails
      • ChargesVoidCardResponse
      • Channel
      • Card
      • Billing-Address
      • BadRequestResponse
      • Amount
      • Amount-cash-in
      • Amount-CL
  • APPIAN-SUBMERCHANT-REGISTER
    • Submerchant Validation in Batch
      POST
    • Query submerchant status by requestId/submerchantId
      GET
    • Get submerchantIds
      GET
    • Get credentials for submerchants
      POST
  1. APPIAN-SUBMERCHANT-REGISTER

Submerchant Validation in Batch

POST
/onboarding/v1/submerchants/batch
This endpoint allows Payment Service Providers (PSPs) to submit one or more submerchants for initial validation before they can enter to the onboarding process. This step does not create or onboard submerchants yet; It only checks that the data structure and operational context are valid.
This validation helps ensure that submerchant records meet the required format and that the PSP is eligible to the onboarding process.
Only submerchants that pass the validations will proceed to the actual onboarding process. Those that fail must be corrected and resubmitted.

Request Body (JSON)#

The request must include an array of submerchants, each containing relevant details such as country of operation, legal representatives, ultimate beneficial owners (UBOs), emails, and more.

Response Handling#

If the validation was successful the response includes a status field, which can have one of the following values:
INITIALIZED – The request has been received and is being processed.
VALIDATION_FAILED – At least one submerchant in the request contains errors, preventing successful processing.
Once a submerchant is approved and ready for onboarding, each request generates a unique requestId, which can be used to track the status of the creation process.
Additionally, the response provides an array of submerchants, each with:
submerchantId – A unique identifier assigned to the submerchant.
submerchantName – The name of the submerchant.
status – Indicates if the submerchant passed validation:
VALID – The submerchant was successfully validated.
INVALID – The submerchant contains errors and requires correction.
Make sure to check the webhook notification. This will confirm whether the validation process was successful or rejected.

Request

Header Params

Body Params application/json

Examples

Responses

🟢200
application/json
Successful response
Body

🟠403
Request Request Example
Shell
JavaScript
Java
Swift
curl --location --request POST '/onboarding/v1/submerchants/batch' \
--header 'X-Api-Key;' \
--header 'Content-Type: application/json' \
--data-raw '[
    {
        "pspCustomerId": "string",
        "operationType": "CP",
        "operationCountry": "CHL",
        "submerchantCountryTaxResidency": "string",
        "submerchantTaxId": "string",
        "submerchantLegalName": "string",
        "submerchantLegalEntityType": "Private",
        "submerchantName": "string",
        "submerchantAddress": "string",
        "submerchantCity": "Lima",
        "submerchantPostalCode": "strin",
        "submerchantUrl": "string",
        "submerchantMcc": "stri",
        "legalRepresentativeName": "string",
        "legalRepresentativeFirstLastName": "string",
        "legalRepresentativeSecondLastName": "string",
        "legalRepresentativeDateBirth": "12/07/1990",
        "legalRepresentativeIdNumber": "string",
        "legalRepresentativeSameAsUbo": true,
        "uboName": "string",
        "uboFirstLastName": "string",
        "uboSecondLastName": "string",
        "uboDateBirth": "string",
        "ubo2Name": "string",
        "ubo2FirstLastName": "string",
        "ubo2SecondLastName": "string",
        "ubo2DateBirth": "string",
        "secondConcurrenceNeeded": true,
        "pspNotificationEmail": "test@kushkipagos.com",
        "openField": "string"
    }
]'
Response Response Example
200 - INITIALIZED (successful response)
{
    "status": "INITIALIZED",
    "requestId": "5c91b0ee-677f-448e-b2e8-eb13bf2efcab",
    "message": "The submerchants are ready to be processed. We will notify you once all have been processed",
    "results": [
        {
            "submerchantId": "5e9a859c-2112-4e8e-b819-2d18bc0f4d29",
            "submerchantName": "Kushki Perú",
            "status": "VALID",
            "message": "The format is valid",
            "errors": []
        },
        {
            "submerchantId": "c0d99b38-9590-49fc-b348-899affe20726",
            "submerchantName": "Kushki Colombia",
            "status": "VALID",
            "message": "The format is valid",
            "errors": []
        }
    ]
}
Modified at 2026-01-29 21:17:00
Previous
Amount-CL
Next
Query submerchant status by requestId/submerchantId
Built with