Create a business

Create a business with everything underwriting needs, or add the details later

Creating the business is the first call in onboarding a merchant. You can send everything in one request, or start with just the legal name and add each part later. Either way, Priority starts underwriting a service only once that service has everything it needs. For the full field list, jump to the Request reference.

Common use cases

  • Board a merchant that's ready for underwriting in a single request. See Scenario 1.
  • Create the business now and fill in its people, accounts and locations as they arrive. See Make your first call, then Scenario 2.

Make your first call

The smallest way to create a business is with just its legal name. This stands up the record so you have an id to build on, and it needs only your sandbox API key.

curl -X POST https://sandbox-api.prioritycommerce.com/v1/businesses \
  -H "x-api-key: <your-key>" \
  -H "Content-Type: application/json" \
  -d '{ "legalName": "Example Online Goods LLC" }'

Response: 201 Created.

{
  "id": "bus_8f3a2c",
  "legalName": "Example Online Goods LLC",
  "createdAt": "2026-06-15T09:00:00Z",
  "updatedAt": "2026-06-15T09:00:00Z"
}

Store the returned id. The business now exists. See Scenario 2 to patch its remaining top-level details and add each part with its own call.

Prefer to send everything at once? Scenario 1 shows the full request, an alternative to this minimal create rather than a follow-up.

Scenarios

Priority saves what you send at every step and reports what's still outstanding, so nothing is lost between calls.

Before you begin (all scenarios)

  • You have a sandbox API key. See Getting started.
  • You know the business type and the rules it triggers for owners and tax IDs. See Business validation and KYB rules.
  • You have each owner's and signatory's identity details, or the id of a person already on Priority.
  • For the complete request, you have the id of the signed merchant agreement. See Documents.

Scenario 1: Create a business with all its details

Make a POST request to /v1/businesses. The request below creates an LLC with one owner, one signatory, a bank account, a registered address and one location, and enables Accept Payments (card-not-present).

For the other services and features you can enable, see Supported services and features.

curl -X POST https://sandbox-api.prioritycommerce.com/v1/businesses \
  -H "x-api-key: <your-key>" \
  -H "Content-Type: application/json" \
  -d '{
    "externalId": "example-online-goods-001",
    "legalName": "Example Online Goods LLC",
    "businessType": "llc",
    "businessDescription": "Online store selling household goods.",
    "website": "https://example.com",
    "email": "[email protected]",
    "phone": "+15555550100",
    "taxIds": [
      {
        "type": "ein",
        "value": "00-0000001",
        "country": "US",
        "isPrimary": true
      }
    ],
    "incorporations": {
      "date": "2020-01-15",
      "state": "TX",
      "country": "US"
    },
    "addresses": [
      {
        "type": "registered",
        "line1": "100 Example Street",
        "city": "Austin",
        "stateProvince": "TX",
        "postalCode": "78701",
        "countryCode": "US",
        "isPrimary": true
      }
    ],
    "owners": [
      {
        "ownershipPercentage": 100,
        "isControlPerson": true,
        "title": "Managing Member",
        "individual": {
          "firstName": "Jordan",
          "lastName": "Lee",
          "dateOfBirth": "1985-07-22",
          "email": "[email protected]",
          "phone": "+15555550101",
          "taxId": {
            "type": "ssn",
            "value": "000000001",
            "country": "US"
          },
          "governmentIds": [
            {
              "type": "drivers_license",
              "number": "D0000001",
              "country": "US",
              "state": "TX"
            }
          ],
          "addresses": [
            {
              "type": "home",
              "line1": "100 Example Street",
              "city": "Austin",
              "stateProvince": "TX",
              "postalCode": "78701",
              "countryCode": "US"
            }
          ]
        }
      }
    ],
    "signatories": [
      {
        "isPrimary": true,
        "isGuarantor": false,
        "title": "Chief Financial Officer",
        "individual": {
          "firstName": "Alex",
          "lastName": "Morgan",
          "dateOfBirth": "1990-03-14",
          "email": "[email protected]",
          "phone": "+15555550103",
          "taxId": {
            "type": "itin",
            "value": "900700001",
            "country": "US"
          },
          "governmentIds": [
            {
              "type": "drivers_license",
              "number": "D0000003",
              "country": "US",
              "state": "TX"
            }
          ],
          "addresses": [
            {
              "type": "home",
              "line1": "100 Example Street",
              "city": "Austin",
              "stateProvince": "TX",
              "postalCode": "78701",
              "countryCode": "US"
            }
          ]
        }
      }
    ],
    "bankAccounts": [
      {
        "purposes": ["funding", "billing"],
        "accountType": "checking",
        "accountNumber": "000123456789",
        "routingNumber": "000000000",
        "bankName": "Example Bank",
        "countryCode": "US",
        "isPrimary": true
      }
    ],
    "locations": [
      {
        "name": "Example Online Goods",
        "isPrimary": true,
        "phone": "+15555550100",
        "address": {
          "line1": "100 Example Street",
          "city": "Austin",
          "stateProvince": "TX",
          "postalCode": "78701",
          "countryCode": "US"
        },
        "processingProfile": {
          "estimatedMonthlyVolume": 50000,
          "avgTicket": 45,
          "highTicket": 500,
          "cardMix": {
            "swipedPercent": 0,
            "motoPercent": 10,
            "ecomPercent": 90
          }
        },
        "industry": {
          "mccCode": "5999",
          "category": "Retail"
        }
      }
    ],
    "services": {
      "payin": {
        "card": {
          "enabled": true
        }
      }
    },
    "documents": [
      {
        "id": "doc_9f2a1c"
      }
    ]
  }'

The response is 201 Created with the business and an id for every part. Store them. Tax IDs and account numbers come back with the last four digits only. The business record itself carries no status; the card service you asked for goes through underwriting, shown by its own status on services.payin.card.

{
  "id": "bus_8f3a2c",
  "externalId": "example-online-goods-001",
  "legalName": "Example Online Goods LLC",
  "businessType": "llc",
  "taxIds": [
    {
      "type": "EIN",
      "lastFour": "0001",
      "country": "US",
      "isPrimary": true
    }
  ],
  "owners": [
    {
      "id": "own_4b7d19",
      "title": "Managing Member",
      "individual": {
        "id": "ind_2c9e51"
      }
    }
  ],
  "signatories": [
    {
      "id": "sig_3c7e9a",
      "title": "Chief Financial Officer",
      "individual": {
        "id": "ind_7b2d4f"
      }
    }
  ],
  "bankAccounts": [
    {
      "id": "ba_5e9c21",
      "purposes": ["funding", "billing"],
      "accountType": "checking",
      "accountNumberLast4": "6789"
    }
  ],
  "locations": [
    {
      "id": "loc_1d6b84",
      "name": "Example Online Goods"
    }
  ],
  "services": {
    "payin": {
      "card": {
        "enabled": true,
        "status": "PENDING_UNDERWRITING",
        "missingFields": [],
        "missingDocuments": [],
        "errors": []
      }
    }
  },
  "documents": [
    {
      "id": "doc_9f2a1c"
    }
  ]
}

Nothing is missing here, so that service moves to PENDING_UNDERWRITING. If a service still needs something, it's listed in its own missingFields, missingDocuments or errors. See Status lifecycle.

Change the example for other business types

Business typeWhat to change
Sole proprietorbusinessType: sole_proprietor, one owner at 100%.
PartnershipbusinessType: partnership, two or more owners holding 50% or more combined.
Non-profit, 501(c)(3) or governmentbusinessType: nonprofit (or government or tax_exempt_501c3), owners at 0%, and one owner or signatory with isControlPerson: true.

For the full rules, see Business validation and KYB rules. To add more people, or to reuse a person you already created, see Owners and signatories.

Scenario 2: Add the parts as they arrive

After your first call creates the business, complete it in place. Patch the business for its own remaining details, then add each part with its own call. Each part is its own resource, with its own request and response example on its page. Add them in this order:

PartCall
The business's own detailsAdd the type, description and contact with PATCH /v1/businesses/{businessId}
Owners and signatoriesPOST .../owners, POST .../signatories
Bank accountPOST .../bank-accounts
AddressPOST .../addresses
LocationPOST .../locations
ServicesPATCH .../services
DocumentsSend the document id in documents with PATCH /v1/businesses/{businessId}
📘 Base path shorthand

In the table, ... is shorthand for the business base path /v1/businesses/{businessId}. For example, .../owners is /v1/businesses/{businessId}/owners.

Request reference

FieldRequiredDescription
legalNameYesThe name registered with the government.
externalIdRecommendedYour own external ID for the business. A repeat value doesn't create a second business; it returns 409 DUPLICATE_EXTERNAL_ID.
businessTypeBefore underwritingc_corporation, s_corporation, llc, single_member_llc, llp, partnership, sole_proprietor, government, nonprofit or tax_exempt_501c3.
businessDescriptionBefore underwritingWhat the business sells or does. Up to 512 characters.
email, phoneBefore underwritingMain contact. Phone in E.164 format, for example +15555550100.
taxIdsBefore underwritingtype (ein, ssn or itin), value, country, isPrimary.
incorporationsBefore underwritingWhen and where the business was formed: date, state, country.
tradeNameNoThe name customers know the business by.
websiteNoThe business website.
taxFilingNameNoThe name on tax filings, if different from legalName.

Each service lists the fields it still needs in its missingFields. For the fields of each part (owners, bank accounts, locations and so on), see that part's page from Businesses.

Next steps

See also


Did this page help you?