Skip to main content
Palm validates the business name, prepares state-specific documents, submits to the state, and returns the registration number and confirmation documents when complete. Palm creates a business record on submission, so the entity is immediately available for verification and monitoring without re-entering data.

How it works

  1. Discover requirements: Query what fields are required for your jurisdiction and entity type. Requirements vary by state.
  2. Collect the required data: Use the requirements response to build your collection flow. Only ask for what the target state requires.
  3. Submit the formation: Send the business data, owner information, and principal address. Palm validates the request, including name availability, and creates a filing.
  4. Track the filing: The filing moves through the status lifecycle (queued through completed). You receive a webhook at each transition.
  5. Handle information requests: If Palm needs more information, it opens a case on the filing. Respond programmatically.
  6. Retrieve the result: When complete, the filing includes the state-assigned registration number and confirmation documents.

Discover requirements

Before collecting data from your customer, query the requirements endpoint to learn what fields are needed for a given jurisdiction and entity type.
Bash
The response includes common fields (name, address, organizers), jurisdiction-specific fields (e.g., Delaware consent statements, North Carolina stock requirements), and available add-ons (EIN bundling, registered agent).

Collect the required data

Use the requirements response to build your collection flow dynamically: required fields differ significantly between states, so don’t hardcode field lists. The response tells you exactly which fields are required, optional, and conditional for the target jurisdiction and entity type, so you only ask your customer for what’s actually needed.

Submit a formation

Bash
The request includes business details, owner information, principal address, and contact information. Required fields are determined by the jurisdiction and entity type returned from the requirements endpoint. Palm validates the request synchronously and returns specific errors for any missing or malformed fields. On success, Palm creates:
  • A filing record in queued status.
  • A business record linked to the filing, immediately available via the Business API.

Name availability

As part of validation, Palm checks whether the requested business name is available by searching active entities with the state. If the name conflicts with an existing registration, the request returns an error so you can prompt your customer for an alternative before the filing is submitted. To catch naming problems before you submit (a missing designator, a restricted word, or a name already taken), run the name past Check name eligibility first. The same naming rules run again at submission, so a name that passes there is not re-litigated here.

Entity types

Today, Palm supports LLC and Corporation (C-Corp) entity types across all 50 US states and DC.

Add-ons

You can bundle additional services with a formation request:
  • EIN application: Include an ein object in the formation request. The EIN filing is created in queued status and automatically advances to ready_to_file when the formation completes. See Apply for an EIN for the full field reference.
  • Registered agent: Opt in to Palm’s registered agent service as part of the formation. See Registered agent for status, mail forwarding, change, and termination.
Palm surfaces bundled filings as related_filings on the parent formation record.

Track the filing

The filing moves through the status lifecycle:
Check the status at any time:
Bash
Or list filings with filters:
Bash
Every status transition fires a filing.* webhook. See Webhooks for event types and payloads.

Handle information requests

If Palm needs additional information to complete the filing (a correction, or a detail not collected at submission), it opens a case on the filing with a structured request describing what’s needed, and notifies you with a case.opened webhook. Respond via:
Bash
Multiple rounds are recorded on the filing for audit purposes. See Cases for the full lifecycle and field reference.

Retrieve the result

When the filing reaches completed, the result includes:
  • Registration number: The state-assigned entity number, available on filing.result.registration_number.
  • Formation date: Available on filing.result.formation_date.
  • Documents: Articles of Organization (LLC) or Articles of Incorporation (Corporation), state certificate, and receipts. Each document is downloadable from its url (see Download a document).
JSON

Fees

Formation fees vary by state and entity type. Use the requirements endpoint to get fee estimates before submitting. The final amount paid is available on the filing record once it reaches completed, broken down by component (base, expedite, etc.).

Next steps