Business Formation Object

The Business Formation Object describes the structure returned by the Get Formation Packages endpoint. It enumerates available formation services for a given entity-type / state combination — with bundled and optional product options, real-time pricing, and selection constraints.

Object overview

A package response includes:

  • Jurisdiction context — the state and entity type the packages apply to
  • Product packages — one or more bundled formation offerings, each with its own price and product options
  • Constraints — selection rules (e.g., "select exactly one processing speed") for use in your client UI

Top-level fields

state

  • Type: string
  • Description: the jurisdiction in which the business will be legally established.
  • Example: California

entityType

  • Type: string
  • Description: type of business entity to form.
  • Example: Limited Liability Company

serviceCategory

  • Type: string
  • Description: primary service category — typically Business Formation.

productPackages

  • Type: array
  • Description: the available formation packages for this jurisdiction / entity combination.

Package fields

  • name (string) — human-readable package identifier (e.g., Business Formation - LLC - California - Complete).
  • price (number) — total cost of the package, in USD.
  • productFamily (string) — categorization (e.g., Package).
  • productOptions (array) — individual services in the package.

Product option fields

  • productName (string) — service name (e.g., California Registered Agent Service).
  • packageDisplaySelection (string)Bundled (included automatically) or Optional (customer can add).
  • price (number, optional) — additional cost for optional services. Omitted on bundled items.

productConstraints

  • Type: array
  • Description: selection rules to enforce in your client UI.

Constraint fields

  • name (string) — describes the constraint (e.g., Select Speed?).
  • minOptions (number) — minimum required selections.
  • maxOptions (number) — maximum allowed selections.

Example response

{
  "statusCode": "200",
  "message": "success",
  "value": {
    "packageCollection": [
      {
        "state": "California",
        "serviceCategory": "Business Formation",
        "entityType": "Limited Liability Company",
        "name": "Business Formation - Limited Liability Company - California",
        "productPackages": [
          {
            "name": "Business Formation - LLC - California - Complete",
            "price": 269,
            "productFamily": "Package",
            "productOptions": [
              {
                "productName": "Name Availability Check",
                "packageDisplaySelection": "Bundled"
              },
              {
                "productName": "California Official Filed Articles of Organization",
                "packageDisplaySelection": "Bundled"
              },
              {
                "productName": "LLC Operating Agreement Template",
                "packageDisplaySelection": "Optional",
                "price": 99
              }
            ],
            "productConstraints": [
              {
                "name": "Select Speed?",
                "minOptions": 1,
                "maxOptions": 1
              }
            ]
          }
        ]
      }
    ]
  }
}

How to read this object

  • Start by checking state and entityType to confirm jurisdiction context.
  • Iterate through productPackages to find packages matching customer requirements.
  • Use productOptions with packageDisplaySelection: "Bundled" to display included services and "Optional" to surface upsells.
  • Apply productConstraints when building selection logic — e.g., enforce single-select for Select Speed?.

Using the IDs in subsequent calls

The productPackages[].name and productOptions[].productName values are display labels, not API IDs. To submit an order, use the corresponding package ID and product IDs from the underlying Salesforce-prefixed identifiers (01t...) returned alongside the names. See Create a Business Formation Order for the order-submission body shape including packageId and products[].productId.