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) orOptional(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
stateandentityTypeto confirm jurisdiction context. - Iterate through
productPackagesto find packages matching customer requirements. - Use
productOptionswithpackageDisplaySelection: "Bundled"to display included services and"Optional"to surface upsells. - Apply
productConstraintswhen building selection logic — e.g., enforce single-select forSelect 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.