---
title: "Create merchant platform"
method: POST
path: "/merchant-platforms"
tags: ["merchantPlatforms"]
---

# Create merchant platform

`POST /merchant-platforms`

Use this method to board a merchant with Payroc.  

**Note**: This method is part of our Boarding solution. To help you understand how this method works with other Boarding methods, go to [Board a Merchant](https://docs.payroc.com/guides/board-merchants/boarding).  

In the request, include the following information:  
- Legal information, including its legal name and address.  
- Contact information, including the email address for the business.  
- Processing account information, including the pricing model, owners, and contacts for the processing account.  

When you send a successful request, we review the merchant's information. After we complete our review and approve the merchant, we assign:  
- **merchantPlatformId** - Unique identifier for the merchant platform.  
- **processingAccountId** - Unique identifier for each processing account linked to the merchant platform.  

You need to keep these to perform follow-on actions, for example, you need the processingAccountId to [order terminals](https://docs.payroc.com/api/schema/boarding/processing-accounts/create-terminal-order) for the processing account.

## Headers

- `Authorization` string, required
- `Idempotency-Key` string, uuid, required

## Request body

- CreateMerchantAccount
  - `business` Business, required — Object that contains information about the business.
    - `name` string, required — Legal name of the business.
    - `taxId` string, required — Tax ID of the business.
    - `organizationType` 'privateCorporation' | 'publicCorporation' | 'nonProfit' | 'privateLlc' | 'publicLlc' | 'privatePartnership' | 'publicPartnership' | 'soleProprietor', required — Type of organization.
    - `countryOfOperation` 'US' — Two-digit code for the country that the business operates in. The format follows the [ISO-3166](https://www.iso.org/iso-3166-country-codes.html) standard.
    - `addresses` BusinessAddressesItems[], required — Array of polymorphic objects that contain address information for the business.
      - `type` 'legalAddress', required — Type of address.
      - `address1` string, required — Address line 1.
      - `address2` string — Address line 2.
      - `address3` string — Address line 3.
      - `city` string, required — City.
      - `state` string, required — Name of the state or state abbreviation.
      - `country` string, required — Two-digit country code for the country that the business operates in. The format follows the [ISO-3166-1](https://www.iso.org/iso-3166-country-codes.html) standard.
      - `postalCode` string, required — Zip code or postal code.
    - `contactMethods` ContactMethod[], required — Array of polymorphic objects, which contain contact information. **Note:** You must provide an email address. The value of the type parameter determines which variant you should use: - `email` - Email address - `phone` - Phone number - `mobile` - Mobile number - `fax` - Fax number
      - union
        - object — email variant
          - `type` 'email', required — Discriminator value: email
          - `value` string, required — Email address.
        - object — phone variant
          - `type` 'phone', required — Discriminator value: phone
          - `value` string, required — Phone number.
        - object — mobile variant
          - `type` 'mobile', required — Discriminator value: mobile
          - `value` string, required — Mobile number.
        - object — fax variant
          - `type` 'fax', required — Discriminator value: fax
          - `value` string, required — Fax number.
  - `processingAccounts` CreateProcessingAccount[], required — Array of processingAccounts objects.
    - `processingAccountId` string — Unique identifier of the processing account.
    - `doingBusinessAs` string, required — Trading name of the business.
    - `owners` Owner[], required — Collection of individuals that are responsible for a processing account. When you create a processing account, you must indicate at least one owner as either of the following: - **Control prong** - An individual who has a significant equity stake in the business and can make decisions for the processing account. You can add only one control prong to a processing account. - **Authorized signatory** - An individual who doesn't have an equity stake in the business but can make decisions for the processing account.
      - `ownerId` integer — Unique identifier that we assigned to the owner.
      - `firstName` string, required — Owner's first name.
      - `middleName` string — Owner's middle name.
      - `lastName` string, required — Owner's last name.
      - `dateOfBirth` string, date, required — Owner's date of birth. The format of this value is **YYYY-MM-DD**.
      - `address` Address, required — Object that contains information about the address.
        - `address1` string, required — Address line 1.
        - `address2` string — Address line 2.
        - `address3` string — Address line 3.
        - `city` string, required — City.
        - `state` string, required — Name of the state or state abbreviation.
        - `country` string, required — Two-digit country code for the country that the business operates in. The format follows the [ISO-3166-1](https://www.iso.org/iso-3166-country-codes.html) standard.
        - `postalCode` string, required — Zip code or postal code.
      - `identifiers` Identifier[], required — Array of IDs.
        - `type` 'nationalId', required — Type of ID provided to verify identity.
        - `value` string, required — Social Security Number (SSN) or Social Insurance Number (SIN).
      - `contactMethods` ContactMethod[], required — Array of polymorphic objects, which contain contact information. **Note:** If you are adding information about an owner, you must provide at least an email address. If you are adding information about a contact, you must provide at least a contact number. The value of the type parameter determines which variant you should use: - `email` - Email address - `phone` - Phone number - `mobile` - Mobile number - `fax` - Fax number
        - union
          - object — email variant
            - `type` 'email', required — Discriminator value: email
            - `value` string, required — Email address.
          - object — phone variant
            - `type` 'phone', required — Discriminator value: phone
            - `value` string, required — Phone number.
          - object — mobile variant
            - `type` 'mobile', required — Discriminator value: mobile
            - `value` string, required — Mobile number.
          - object — fax variant
            - `type` 'fax', required — Discriminator value: fax
            - `value` string, required — Fax number.
      - `relationship` OwnerRelationship, required — Object that contains information about the owner's relationship to the business.
        - `equityPercentage` number, double — Percentage equity stake that the owner holds in the business.
        - `title` string — Owner's job title.
        - `isControlProng` boolean, required — Indicates if the owner is a control prong. You can identify only one control prong for a business.
        - `isAuthorizedSignatory` boolean — Indicates if the owner is an authorized signatory.
    - `website` string — Website address of the business.
    - `businessType` 'retail' | 'restaurant' | 'internet' | 'moto' | 'lodging' | 'notForProfit' — Type of business.
    - `categoryCode` integer — Merchant Category Code (MCC) for the type of business.
    - `processor` 'tsys' | 'fiserv' — Processor that authorizes and settles transactions for the processing account. **Note:** We recommend that you include a value for the processor parameter and not rely on the default value.
    - `merchandiseOrServiceSold` string, required — Description of the services or merchandise sold by the business.
    - `businessStartDate` string, date, required — Date that the business was established. The format of the value is **YYYY-MM-DD**.
    - `timezone` 'Pacific/Midway' | 'Pacific/Honolulu' | 'America/Anchorage' | 'America/Los_Angeles' | 'America/Denver' | 'America/Phoenix' | 'America/Chicago' | 'America/Indiana/Indianapolis' | 'America/New_York', required — Time zone for the processing account.
    - `address` CreateProcessingAccountAddress, required — Object that contains information about the address.
      - `address1` string, required — Address line 1.
      - `address2` string — Address line 2.
      - `address3` string — Address line 3.
      - `city` string, required — City.
      - `state` string, required — Name of the state or state abbreviation.
      - `country` string, required — Two-digit country code for the country that the business operates in. The format follows the [ISO-3166-1](https://www.iso.org/iso-3166-country-codes.html) standard.
      - `postalCode` string, required — Zip code or postal code.
    - `contactMethods` ContactMethod[], required — Array of polymorphic objects, which contain contact information. **Note:** You must provide an email address. The value of the type parameter determines which variant you should use: - `email` - Email address - `phone` - Phone number - `mobile` - Mobile number - `fax` - Fax number.
      - union
        - object — email variant
          - `type` 'email', required — Discriminator value: email
          - `value` string, required — Email address.
        - object — phone variant
          - `type` 'phone', required — Discriminator value: phone
          - `value` string, required — Phone number.
        - object — mobile variant
          - `type` 'mobile', required — Discriminator value: mobile
          - `value` string, required — Mobile number.
        - object — fax variant
          - `type` 'fax', required — Discriminator value: fax
          - `value` string, required — Fax number.
    - `processing` Processing, required — Object that contains information about how we process transactions for the account.
      - `merchantId` string — Unique identifier that the acquiring platform assigns to the merchant.
      - `transactionAmounts` ProcessingTransactionAmounts, required — Object that contains information about transaction amounts for the processing account.
        - `average` integer, required — Estimated average transaction amount. The value is in the currency's lowest denomination, for example, cents. You must provide an amount that is greater than zero.
        - `highest` integer, required — Estimated maximum transaction amount. The value is in the currency's lowest denomination, for example, cents. You must provide an amount that is greater than zero.
      - `monthlyAmounts` ProcessingMonthlyAmounts, required — Object that contains information about the monthly processing amounts for the processing account.
        - `average` integer, required — Estimated average transaction amount each month. The value is in the currency's lowest denomination, for example, cents. You must provide an amount that is greater than zero.
        - `highest` integer, required — Estimated maximum transaction amount each month. The value is in the currency's lowest denomination, for example, cents. You must provide an amount that is greater than zero.
      - `volumeBreakdown` ProcessingVolumeBreakdown, required — Object that contains information about the types of transactions ran by the processing account. The percentages for transaction types must total 100%.
        - `cardPresent` integer, required — Estimated percentage of card-present transactions.
        - `mailOrTelephone` integer, required — Estimated percentage of mail order or telephone transactions.
        - `ecommerce` integer, required — Estimated percentage of e-Commerce transactions.
      - `isSeasonal` boolean — Indicates if the processing account runs transactions on a seasonal basis. For example, if the processing account runs transactions during only the winter months, send a value of `true`.
      - `monthsOfOperation` ProcessingMonthsOfOperationItems[] — Months of the year that the processing account runs transactions.
      - `ach` ProcessingAch — Object that contains information about Automated Clearing House (ACH) transactions.
        - `naics` string — North American Industry Classification System (NAICS) code.
        - `previouslyTerminatedForAch` boolean — Indicates if the business or its principals were previously turned down for ACH processing.
        - `refunds` ProcessingAchRefunds, required — Object that contains information about the ACH refund policy for the processing account.
          - `writtenRefundPolicy` boolean, required — Indicates if the business has a written refund policy.
          - `refundPolicyUrl` string — URL of the written refund policy.
        - `estimatedMonthlyTransactions` integer, required — Estimated maximum number of transactions that the merchant will process in a month.
        - `limits` ProcessingAchLimits, required — Object that contains information about transaction limits for the processing account.
          - `singleTransaction` integer, required — Maximum amount allowed for a single debit or credit transaction. The value is in the currency's lowest denomination, for example, cents.
          - `dailyDeposit` integer, required — Maximum amount of total transactions allowed per day. The value is in the currency's lowest denomination, for example, cents.
          - `monthlyDeposit` integer, required — Maximum amount of total transactions allowed per month. The value is in the currency's lowest denomination, for example, cents.
        - `transactionTypes` ProcessingAchTransactionTypesItems[] — List of transaction types that the processing account supports.
        - `transactionTypesOther` string — If you send a value of `other` for transactionTypes, provide a list of the supported transaction types.
      - `cardAcceptance` ProcessingCardAcceptance — Object that contains information about the types of cards that the processing account accepts.
        - `debitOnly` boolean — Indicates if the merchant accepts only debit cards.
        - `hsaFsa` boolean — Indicates if the merchant accepts health savings account (HSA) and flexible spending account (FSA) cards.
        - `cardsAccepted` ProcessingCardAcceptanceCardsAcceptedItems[] — List of card types the merchant accepts.
        - `specialityCards` ProcessingCardAcceptanceSpecialityCards — Information about the speciality cards that the merchant accepts.
          - `americanExpressDirect` ProcessingCardAcceptanceSpecialityCardsAmericanExpressDirect — Object that indicates if the merchant accepts American Express Direct cards and contains the merchant’s American Express merchant number.
            - `enabled` boolean — Indicates if the merchant accepts American Express Direct.
            - `merchantNumber` string — If the merchant accepts American Express Direct, provide their American Express merchant number.
          - `electronicBenefitsTransfer` ProcessingCardAcceptanceSpecialityCardsElectronicBenefitsTransfer — Object that indicates if the merchant accepts Electronic Benefits Transfer (EBT) cards and contains the merchant’s Food and Nutrition Services (FNS) number.
            - `enabled` boolean — Indicates if the merchant accepts EBT.
            - `fnsNumber` string — If the merchant accepts EBT, provide their FNS number.
          - `other` ProcessingCardAcceptanceSpecialityCardsOther — Object that contains information about other speciality cards that the merchant accepts.
            - `wexMerchantNumber` string — If the merchant accepts WEX, provide their WEX merchant number.
            - `voyagerMerchantId` string — If the merchant accepts Voyager, provide their Voyager merchant ID.
            - `fleetMerchantId` string — If the merchant accepts Fleet, provide their Fleet merchant ID.
    - `funding` CreateFunding, required — Object that contains information about the funding schedule of the processing account.
      - `status` 'enabled' | 'disabled' — Indicates if the processing account can receive funds.
      - `fundingSchedule` 'standard' | 'nextday' | 'sameday' — Indicates when funds are sent to the funding account. If you send a value of `sameDay` or `nextDay`, provide a value for acceleratedFundingFee. **Note:** If you send a value of `sameday`, funding includes all transactions the merchant ran before the ACH cut-off time.
      - `acceleratedFundingFee` integer — Monthly fee in cents for accelerated funding. The value is in the currency's lowest denomination, for example, cents. We apply this fee if the value for fundingSchedule is `sameday` or `nextday`.
      - `dailyDiscount` boolean — Indicates if we collect fees from the merchant's account each day.
      - `fundingAccounts` FundingAccount[] — Array of fundingAccounts objects.
        - `fundingAccountId` integer — Unique identifier that we assigned to the funding account.
        - `createdDate` string, date-time — Date and time that we received your request to create the funding account in our system.
        - `lastModifiedDate` string, date-time — Date and time that the funding account was last modified.
        - `status` 'approved' | 'rejected' | 'pending' | 'hold' — Status of the funding account. The value is one of the following: - `approved` - We approved the funding account. - `rejected` - We rejected the funding account. - `pending` - We have not yet approved the funding account. - `hold` - Our Risk team have temporarily placed a hold on the funding account.
        - `type` 'checking' | 'savings' | 'generalLedger', required — Type of funding account.
        - `use` 'credit' | 'debit' | 'creditAndDebit', required — Indicates if we send funds or withdraw funds from the account. - `credit` - Send funds to the account. - `debit` - Withdraw funds from the account. - `creditAndDebit` - Send funds and withdraw funds from the account. **Note:** If the funding account is associated with a funding recipient, we accept only a value of `credit`.
        - `nameOnAccount` string, required — Name of the account holder.
        - `paymentMethods` PaymentMethodsItems[], required — Array of PaymentMethodAch objects.
          - `type` 'ach', required — Discriminator value: ach
          - `value` PaymentMethodsItemsDiscriminatorMappingAchValue — Object that contains information about the funding account.
            - `routingNumber` string, required — Routing number of the funding account.
            - `accountNumber` string, required — Account number of the funding account.
        - `metadata` object — [Metadata](https://docs.payroc.com/api/metadata) object you can use to include custom data with your request.
        - `links` Link[] — Array of HATEOAS links.
          - `rel` string, required — Indicates the relationship between the current resource and the target resource.
          - `method` string, required — HTTP method that you need to use with the target resource.
          - `href` string, required — URL of the target resource.
    - `pricing` union, required — Polymorphic object that contains pricing information for the processing account. The value of the type parameter determines which variant you should use: - `intent` - Use a pricing agreement template. - `agreement` - Create a new pricing agreement.
      - object — intent variant
        - `type` 'intent', required — Discriminator value: intent
        - `pricingIntentId` string, required — Unique identifier of the pricing intent.
      - object — agreement variant
        - `type` 'agreement', required
        - `country` 'US' — Two-digit code for the country that the pricing intent applies to. The format follows the [ISO-3166-1](https://www.iso.org/iso-3166-country-codes.html) standard.
        - `version` '5.2' — Version of the MPA.
        - `base` BaseUs52 — Object that contains information about U.S. base fees.
          - `addressVerification` integer, nullable, required — Fee for each address verification request. The value is in the currency's lowest denomination, for example, cents.
          - `annualFee` BaseUs52AnnualFee, required — Object that contains information about the annual fee.
            - `billInMonth` 'june' | 'december' — Indicates whether we collect the annual fee in June or December.
            - `amount` integer, required — Annual fee. The value is in the currency's lowest denomination, for example, cents.
          - `regulatoryAssistanceProgram` integer, nullable, required — Annual fee for the regulatory assistance program. The value is in the currency's lowest denomination, for example, cents.
          - `pciNonCompliance` integer — Fee that we apply each month if you aren't compliant with PCI standards. The value is in the currency's lowest denomination, for example, cents.
          - `platinumSecurity` union — Object that contains information about the Platinum Security fee.
            - object — monthly variant
              - …
            - object — annual variant
              - …
          - `maintenance` integer, required — Monthly fee for maintenance. The value is in the currency's lowest denomination, for example, cents.
          - `minimum` integer, required — Monthly fee that we charge when the merchant doesn't meet the minimum fee amount. This monthly fee is in the currency's lowest denomination, for example, cents.
          - `voiceAuthorization` integer — Fee for each voice authorization. The value is in the currency's lowest denomination, for example, cents.
          - `chargeback` integer — Fee for each chargeback. The value is in the currency's lowest denomination, for example, cents.
          - `retrieval` integer — Fee for each retrieval. The value is in the currency's lowest denomination, for example, cents.
          - `batch` integer, required — Fee for each batch. The value is in the currency's lowest denomination, for example, cents.
          - `earlyTermination` integer — Fee for early termination. The value is in the currency's lowest denomination, for example, cents.
        - `processor` PricingAgreementProcessor — Object that contains information about U.S. processor fees.
          - `card` union — Object that contains information about card fees.
            - object — Object that contains information about Interchange Plus.
              - …
            - object — Object that contains information about Interchange Plus Plus.
              - …
            - object — Object that contains information about tiered pricing with three tiers.
              - …
            - object — Object that contains information about tiered pricing with four tiers.
              - …
            - object — Object that contains information about tiered pricing with six tiers.
              - …
            - object — Object that contains information about Flat Rate.
              - …
            - object — Object that contains information about ConsumerChoice.
              - …
            - object — Object that contains information about RewardPayChoice.
              - …
          - `ach` Ach — Object that contains the fees for ACH transactions.
            - `fees` AchFees — Object that contains processing fees for ACH transactions.
              - …
        - `gateway` GatewayUs52 — Object that contains information about the gateway fees for MPA 5.2.
          - `fees` GatewayUs52Fees, required — Object that contains information about the gateway fees.
            - `monthly` integer, required
            - `setup` integer, required
            - `perTransaction` integer, required
            - `perDeviceMonthly` integer, required
            - `3dSecurePerTransaction` integer
            - `tapToPayPerTransaction` integer
        - `services` ServiceUs52[] — Object that contains information about our additional services that the merchant can sign up for.
          - union — Object that contains information about the Hardware Advantage Plan.
            - object — Object that contains information about the Hardware Advantage Plan.
              - …
            - object — Object that contains the fees for account updater service.
              - …
            - object — Object that contains the fees for wireless processing.
              - …
            - object — Object that contains the fees for the Clover platform service.
              - …
            - object — Object that contains the fees for the Roc Services gateway.
              - …
    - `signature` union, required — Polymorphic object that contains information about how we captured the owner's signature. The value of the type parameter determines which variant you should use: - `requestedViaDirectLink` - Request signature using a link. - `requestedViaEmail` - Request signature by email.
      - object — Object that contains signature information if we captured the merchant’s signature by direct link.
        - `type` 'requestedViaDirectLink', required — Discriminator value: requestedViaDirectLink
        - `link` Link — Object that contains HATEOAS links for the resource.
          - `rel` string, required — Indicates the relationship between the current resource and the target resource.
          - `method` string, required — HTTP method that you need to use with the target resource.
          - `href` string, required — URL of the target resource.
      - object — Object that contains signature information if we captured the merchant’s signature by email.
        - `type` 'requestedViaEmail', required — Discriminator value: requestedViaEmail
    - `contacts` Contact[] — Array of contact objects.
      - `contactId` integer — Unique identifier of the contact.
      - `type` 'manager' | 'representative' | 'others', required — Type of contact.
      - `firstName` string, required — Contact's first name.
      - `middleName` string — Contact's middle name.
      - `lastName` string, required — Contact's last name.
      - `identifiers` Identifier[] — Array of identifier objects.
        - `type` 'nationalId', required — Type of ID provided to verify identity.
        - `value` string, required — Social Security Number (SSN) or Social Insurance Number (SIN).
      - `contactMethods` ContactMethod[], required — Array of polymorphic objects, which contain contact information. **Note:** If you are adding information about an owner, you must provide at least an email address. If you are adding information about a contact, you must provide at least a contact number. The value of the type parameter determines which variant you should use: - `email` - Email address - `phone` - Phone number - `mobile` - Mobile number - `fax` - Fax number
        - union
          - object — email variant
            - `type` 'email', required — Discriminator value: email
            - `value` string, required — Email address.
          - object — phone variant
            - `type` 'phone', required — Discriminator value: phone
            - `value` string, required — Phone number.
          - object — mobile variant
            - `type` 'mobile', required — Discriminator value: mobile
            - `value` string, required — Mobile number.
          - object — fax variant
            - `type` 'fax', required — Discriminator value: fax
            - `value` string, required — Fax number.
    - `addendums` AddendumEntry[] — Array of polymorphic addendumEntry objects that indicate the additional forms that we should send with the Merchant Processing Agreement (MPA). The value of the type parameter determines which variant you should use: - `installmentPaymentsV1` - Send this form if the merchant offers installment payments, loans, or leases. - `moneyServicesV1` - Send this form if the merchant offers money services, for example, traveler's checks. - `telehealthV1` - Send this form if the merchant provides telehealth services. - `firearmsV1` - Send this form if the merchant sells firearms. - `pharmacyCnpComplianceV1` - Send this form if the merchant is a pharmacy that accepts card-not-present (CNP) transactions. - `cbdV1` - Send this form if the merchant sells any of the following products: - CBD products - Synthetic THC or Cannabis - HHC - Kratom - Tianeptine - Delta 8/9/10/0 THC products - `tobaccoCnpV1` - Send this form if the merchant sells tobacco products and accepts CNP transactions. - `donationsV1` - Send this form if the merchant accepts donations. - `cloverMerchantProcessingAmendmentV1` - Send this form if the merchant requires Clover equipment.
      - union — Polymorphic object that indicates which form we should send to the merchant. The value of the type parameter determines which variant you should use.
        - object — Installment Payments, Loans, or Lease Questionnaire/Attestation for merchants that offer installment payments, loans, or leases.
          - `type` 'installmentPaymentsV1', required — Discriminator value: installmentPaymentsV1
        - object — Money Services Business Questionnaire for merchants that offer money services, for example, traveler's checks.
          - `type` 'moneyServicesV1', required — Discriminator value: moneyServicesV1
        - object — Telehealth Attestation for merchants that provide telehealth services.
          - `type` 'telehealthV1', required — Discriminator value: telehealthV1
        - object — Firearms Due Diligence for merchants that sell firearms.
          - `type` 'firearmsV1', required — Discriminator value: firearmsV1
        - object — Attestation of Compliance and Questionnaire for pharmaceutical merchants that accept CNP transactions.
          - `type` 'pharmacyCnpComplianceV1', required — Discriminator value: pharmacyCnpComplianceV1
        - object — CBD Attestation for merchants that sell any of the following products: - CBD products - Synthetic THC or Cannabis - HHC - Kratom - Tianeptine - Delta 8/9/10/0 THC products
          - `type` 'cbdV1', required — Discriminator value: cbdV1
        - object — CNP Tobacco Merchant Questionnaire for merchants that sell tobacco products and accept CNP transactions.
          - `type` 'tobaccoCnpV1', required — Discriminator value: tobaccoCnpV1
        - object — Donations Addendum for merchants that accept donations.
          - `type` 'donationsV1', required — Discriminator value: donationsV1
        - object — Clover Merchant Processing Amendment for merchants that order Clover equipment.
          - `type` 'cloverMerchantProcessingAmendmentV1', required — Discriminator value: cloverMerchantProcessingAmendmentV1
          - `lineItems` AddendumEntryDiscriminatorMappingCloverMerchantProcessingAmendmentV1LineItems, required — Object that contains information about the Clover equipment and accessories that the merchant wants to order.
            - `cloverCompact` CloverLineItem — Object that contains information about the cost of each item and the number of items that the merchant wants to order.
              - …
            - `cloverFlex4thGen` CloverLineItem — Object that contains information about the cost of each item and the number of items that the merchant wants to order.
              - …
            - `cloverFlexPocket` CloverLineItem — Object that contains information about the cost of each item and the number of items that the merchant wants to order.
              - …
            - `cloverMiniLte3rdGen` CloverLineItem — Object that contains information about the cost of each item and the number of items that the merchant wants to order.
              - …
            - `cloverSoloPosSystem` CloverLineItem — Object that contains information about the cost of each item and the number of items that the merchant wants to order.
              - …
            - `cloverStationDuoGen2PosSystem` CloverLineItem — Object that contains information about the cost of each item and the number of items that the merchant wants to order.
              - …
            - `cloverCompactTetherCable` CloverLineItem — Object that contains information about the cost of each item and the number of items that the merchant wants to order.
              - …
            - `cloverCashDrawer` CloverLineItem — Object that contains information about the cost of each item and the number of items that the merchant wants to order.
              - …
            - `cloverKitchenPrinter` CloverLineItem — Object that contains information about the cost of each item and the number of items that the merchant wants to order.
              - …
            - `cloverKitchenPrinterThermal` CloverLineItem — Object that contains information about the cost of each item and the number of items that the merchant wants to order.
              - …
            - `cloverWeightScale` CloverLineItem — Object that contains information about the cost of each item and the number of items that the merchant wants to order.
              - …
            - `cloverHandsFreeScanner` CloverLineItem — Object that contains information about the cost of each item and the number of items that the merchant wants to order.
              - …
            - `cloverBarCodeScanner` CloverLineItem — Object that contains information about the cost of each item and the number of items that the merchant wants to order.
              - …
            - `cloverKds24` CloverLineItem — Object that contains information about the cost of each item and the number of items that the merchant wants to order.
              - …
            - `cloverKds14` CloverLineItem — Object that contains information about the cost of each item and the number of items that the merchant wants to order.
              - …
    - `metadata` object — Object that you can send to include custom data in the request. For more information about how to use metadata, go to [Metadata](https://docs.payroc.com/api/metadata).
  - `metadata` object — Object that you can send to include custom data in the request.

## Response `201`

Successful request. We created the merchant platform.

- MerchantPlatform
  - `merchantPlatformId` string — Unique identifier that we assigned to the merchant platform.
  - `createdDate` string, date-time — Date that the merchant platform was created. We return this value in the [ISO-8601](https://www.iso.org/iso-8601-date-and-time-format.html) format.
  - `lastModifiedDate` string, date-time — Date that the merchant platform was last modified. We return this value in the [ISO-8601](https://www.iso.org/iso-8601-date-and-time-format.html) format.
  - `business` Business, required — Object that contains information about the business.
    - `name` string, required — Legal name of the business.
    - `taxId` string, required — Tax ID of the business.
    - `organizationType` 'privateCorporation' | 'publicCorporation' | 'nonProfit' | 'privateLlc' | 'publicLlc' | 'privatePartnership' | 'publicPartnership' | 'soleProprietor', required — Type of organization.
    - `countryOfOperation` 'US' — Two-digit code for the country that the business operates in. The format follows the [ISO-3166](https://www.iso.org/iso-3166-country-codes.html) standard.
    - `addresses` BusinessAddressesItems[], required — Array of polymorphic objects that contain address information for the business.
      - `type` 'legalAddress', required — Type of address.
      - `address1` string, required — Address line 1.
      - `address2` string — Address line 2.
      - `address3` string — Address line 3.
      - `city` string, required — City.
      - `state` string, required — Name of the state or state abbreviation.
      - `country` string, required — Two-digit country code for the country that the business operates in. The format follows the [ISO-3166-1](https://www.iso.org/iso-3166-country-codes.html) standard.
      - `postalCode` string, required — Zip code or postal code.
    - `contactMethods` ContactMethod[], required — Array of polymorphic objects, which contain contact information. **Note:** You must provide an email address. The value of the type parameter determines which variant you should use: - `email` - Email address - `phone` - Phone number - `mobile` - Mobile number - `fax` - Fax number
      - union
        - object — email variant
          - `type` 'email', required — Discriminator value: email
          - `value` string, required — Email address.
        - object — phone variant
          - `type` 'phone', required — Discriminator value: phone
          - `value` string, required — Phone number.
        - object — mobile variant
          - `type` 'mobile', required — Discriminator value: mobile
          - `value` string, required — Mobile number.
        - object — fax variant
          - `type` 'fax', required — Discriminator value: fax
          - `value` string, required — Fax number.
  - `processingAccounts` MerchantPlatformProcessingAccountsItems[], required — Array of processingAccount objects.
    - `processingAccountId` string — Unique identifier that we assigned to the processing account.
    - `doingBusinessAs` string, required — Trading name of the business.
    - `processor` 'tsys' | 'fiserv', required — Processor that authorizes and settles transactions for the processing account. **Note:** We recommend that you include a value for the processor parameter and not rely on the default value.
    - `status` 'entered' | 'pending' | 'approved' | 'subjectTo' | 'dormant' | 'nonProcessing' | 'rejected' | 'terminated' | 'cancelled' | 'failed', required — Status of the processing account. - `entered` - We have received information about the account, but we have not yet reviewed it. - `pending` - We have reviewed the information about the account, but we have not yet approved it. - `approved` - We have approved the account for processing transactions and funding. - `subjectTo` - We have approved the account, but we are waiting on further information. - `dormant` - Account is closed for a period. - `nonProcessing` - We have approved the account, but the merchant has not yet run a transaction. - `rejected` - We rejected the application for the processing account. - `terminated` - Processing account is closed. - `cancelled` - Merchant withdrew the application for the processing account. - `failed` - An error occurred while we were setting up the processing account. **Note**: You can subscribe to our processingAccount.status.changed event to get notifications when we change the status of a processing account. For more information about how to subscribe to events, go to [Event Subscriptions](https://docs.payroc.com/guides/board-merchants/event-subscriptions).
    - `link` MerchantPlatformProcessingAccountsItemsLink — Object that contains HATEOAS links for the processing account.
      - `rel` string — Relationship to the parent resource.
      - `href` string — Link to the resource.
      - `method` string — HTTP method you can use to retrieve the resource.
    - `signature` union — Polymorphic object that contains information about how we captured the owner's signature. The value of the type parameter determines which variant you should use: - `requestedViaDirectLink` - Request signature using a link. - `requestedViaEmail` - Request signature by email.
      - object — Object that contains signature information if we captured the merchant’s signature by direct link.
        - `type` 'requestedViaDirectLink', required — Discriminator value: requestedViaDirectLink
        - `link` Link — Object that contains HATEOAS links for the resource.
          - `rel` string, required — Indicates the relationship between the current resource and the target resource.
          - `method` string, required — HTTP method that you need to use with the target resource.
          - `href` string, required — URL of the target resource.
      - object — Object that contains signature information if we captured the merchant’s signature by email.
        - `type` 'requestedViaEmail', required — Discriminator value: requestedViaEmail
    - `addendums` AddendumEntry[], required — The addendum types that were accepted and appended to the Merchant Processing Agreement for this processing account. Returns an empty array when no addendums were requested.
      - union — Polymorphic object that indicates which form we should send to the merchant. The value of the type parameter determines which variant you should use.
        - object — Installment Payments, Loans, or Lease Questionnaire/Attestation for merchants that offer installment payments, loans, or leases.
          - `type` 'installmentPaymentsV1', required — Discriminator value: installmentPaymentsV1
        - object — Money Services Business Questionnaire for merchants that offer money services, for example, traveler's checks.
          - `type` 'moneyServicesV1', required — Discriminator value: moneyServicesV1
        - object — Telehealth Attestation for merchants that provide telehealth services.
          - `type` 'telehealthV1', required — Discriminator value: telehealthV1
        - object — Firearms Due Diligence for merchants that sell firearms.
          - `type` 'firearmsV1', required — Discriminator value: firearmsV1
        - object — Attestation of Compliance and Questionnaire for pharmaceutical merchants that accept CNP transactions.
          - `type` 'pharmacyCnpComplianceV1', required — Discriminator value: pharmacyCnpComplianceV1
        - object — CBD Attestation for merchants that sell any of the following products: - CBD products - Synthetic THC or Cannabis - HHC - Kratom - Tianeptine - Delta 8/9/10/0 THC products
          - `type` 'cbdV1', required — Discriminator value: cbdV1
        - object — CNP Tobacco Merchant Questionnaire for merchants that sell tobacco products and accept CNP transactions.
          - `type` 'tobaccoCnpV1', required — Discriminator value: tobaccoCnpV1
        - object — Donations Addendum for merchants that accept donations.
          - `type` 'donationsV1', required — Discriminator value: donationsV1
        - object — Clover Merchant Processing Amendment for merchants that order Clover equipment.
          - `type` 'cloverMerchantProcessingAmendmentV1', required — Discriminator value: cloverMerchantProcessingAmendmentV1
          - `lineItems` AddendumEntryDiscriminatorMappingCloverMerchantProcessingAmendmentV1LineItems, required — Object that contains information about the Clover equipment and accessories that the merchant wants to order.
            - `cloverCompact` CloverLineItem — Object that contains information about the cost of each item and the number of items that the merchant wants to order.
              - …
            - `cloverFlex4thGen` CloverLineItem — Object that contains information about the cost of each item and the number of items that the merchant wants to order.
              - …
            - `cloverFlexPocket` CloverLineItem — Object that contains information about the cost of each item and the number of items that the merchant wants to order.
              - …
            - `cloverMiniLte3rdGen` CloverLineItem — Object that contains information about the cost of each item and the number of items that the merchant wants to order.
              - …
            - `cloverSoloPosSystem` CloverLineItem — Object that contains information about the cost of each item and the number of items that the merchant wants to order.
              - …
            - `cloverStationDuoGen2PosSystem` CloverLineItem — Object that contains information about the cost of each item and the number of items that the merchant wants to order.
              - …
            - `cloverCompactTetherCable` CloverLineItem — Object that contains information about the cost of each item and the number of items that the merchant wants to order.
              - …
            - `cloverCashDrawer` CloverLineItem — Object that contains information about the cost of each item and the number of items that the merchant wants to order.
              - …
            - `cloverKitchenPrinter` CloverLineItem — Object that contains information about the cost of each item and the number of items that the merchant wants to order.
              - …
            - `cloverKitchenPrinterThermal` CloverLineItem — Object that contains information about the cost of each item and the number of items that the merchant wants to order.
              - …
            - `cloverWeightScale` CloverLineItem — Object that contains information about the cost of each item and the number of items that the merchant wants to order.
              - …
            - `cloverHandsFreeScanner` CloverLineItem — Object that contains information about the cost of each item and the number of items that the merchant wants to order.
              - …
            - `cloverBarCodeScanner` CloverLineItem — Object that contains information about the cost of each item and the number of items that the merchant wants to order.
              - …
            - `cloverKds24` CloverLineItem — Object that contains information about the cost of each item and the number of items that the merchant wants to order.
              - …
            - `cloverKds14` CloverLineItem — Object that contains information about the cost of each item and the number of items that the merchant wants to order.
              - …
  - `metadata` object — Object that you can send to include custom metadata in the request.
  - `links` Link[] — Array of useful links related to your request.
    - `rel` string, required — Indicates the relationship between the current resource and the target resource.
    - `method` string, required — HTTP method that you need to use with the target resource.
    - `href` string, required — URL of the target resource.

## Other responses

- `400` — Validation error.
- `401` — Identity could not be verified
- `403` — Do not have permissions to perform this action
- `406` — Not acceptable
- `409` — Conflict
- `500` — An error has occured

---

[API](https://skmtc.dev/payroc/apis/schema.md) · [All operations](https://skmtc.dev/payroc/apis/schema/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/payroc/schema/revisions/1d9d3e305945/schema)
