Form an LLC
Form a new LLC by submitting a formation filing to the state.
What gets created. The formation filing, plus a business record in your Palm account (legal name, entity type, jurisdiction, and principal address). Everyone you list in organizers and initial_governing_persons is also created as a user and linked to the business as an owner.
Add-ons. Pass registered_agent to use your own; omit it to have Palm act as the registered agent. Pass ein to apply for an EIN once the formation completes. Each add-on appears under related_items and progresses independently — EIN as a filing, the Palm registered agent as a registered_agent (tracked at GET /business/:id/registered-agent).
Jurisdiction-specific fields. Some states require extra fields. Send them as additional top-level properties — the formation requirements endpoint lists what a given state expects.
Result. Returns the filing in queued status. It then moves through ready_to_file → processing → filed → completed, sending a filing.* webhook at each step. Once completed, the state registration number is on filing.result.registration_number. Until the filing enters processing, you can cancel it with the cancel endpoint.
Authorizations
Enter your API key in the format: sk_test_xxxxx or sk_live_xxxxx
Headers
Use one key per logical submission and reuse it for every retry of that submission; do not key on a customer or order, and do not mint a fresh key per retry. A key is bound to the first request that succeeds with it and honored for 24 hours. Once the original attempt has returned, retrying with the same key and payload returns the previously created filing with the Idempotent-Replayed: true response header instead of creating a second one. The replayed body reflects the filing’s current state, including terminal states; only its identifiers are guaranteed stable. Reusing a key with a different payload or on a different operation is rejected with a 409 idempotency_key_conflict problem carrying existing_filing_id. The entire request body counts toward the payload fingerprint, including fields the API would otherwise ignore. Keys are 1-255 characters, unique per organization and mode.
255Body
Jurisdiction (ISO 3166-2)
"US-NC"
Legal name of the LLC being formed
255"Acme Holdings LLC"
Purpose clause for the articles of organization. Some states require user-supplied text; others use a statutory boilerplate clause that Palm fills in automatically. Distinct from the EIN principal_activity / principal_activity_detail fields, which describe the business's actual activity for IRS purposes.
"Any lawful purpose"
Business email address
"info@acme.com"
Primary contact for questions about this filing. Used by Palm operations; never sent on the filing itself.
Principal office address
Persons or entities executing the articles of organization (organizers / authorized persons). At least one required.
Deprecated: use legal_name. Accepted in its place when legal_name is omitted.
255"Acme Holdings LLC"
Business phone number
"919-555-1234"
Business website
"https://acme.com"
Delayed effective date (YYYY-MM-DD). If omitted, defaults to the date the formation request is received by Palm.
"2026-05-01"
Mailing address if different from the principal office. Defaults to principal_address when omitted.
Initial members or managers of the LLC. Optional on most state formation forms but useful for downstream records and filings.
Registered agent. If provided, your own registered agent is used on the filing. If omitted, Palm provides registered agent service.
Bundle an EIN application with the formation. Palm submits to IRS after the formation succeeds.
Context for Palm operations to read before submitting this filing, such as an existing name reservation. Returned on the filing.
2000"The member holds name reservation 2026-123456 for this name."
Partner-defined metadata. Round-tripped on webhooks and the filing record.
Expedited processing tier. Omit for standard processing. Valid values are jurisdiction-specific — discover them via GET /v1/filing/formation/requirement (expedited_tiers) and price them via GET /v1/filing/formation/fee (expedited_tiers). Rejected with 400 if the value is not offered by the jurisdiction.
"same_day"
Response
Formation filing created
Unique identifier for the resource
"123e4567-e89b-12d3-a456-426614174000"
Object type
filing "filing"
Whether this resource was created with test or live credentials. Test and live data are fully isolated — a test resource never appears in live results and vice versa.
test, live "live"
ISO 8601 timestamp of when the resource was created
"2025-10-24T10:30:00Z"
ISO 8601 timestamp of when the resource was last updated
"2025-10-24T15:45:00Z"
Store up to 50 custom key-value pairs for application-specific data. Useful for storing references to external systems, feature flags, or other custom attributes.
Filing type
formation, ein, amendment, scorp_election, foreign_qualification Current status
queued, ready_to_file, processing, filed, completed, canceled Entity type. Set on formations and foreign qualifications (derived from the referenced business).
llc, professional_llc, corporation, professional_corporation Jurisdiction the filing is made in (ISO 3166-2). For a foreign qualification this is the target state.
"US-NC"
Business name the filing is being made under, as sent on the request. For a foreign qualification, the legal name being registered. Changes when a legal_name_change case resolves.
"Acme Holdings LLC"
Deprecated: use legal_name. The same value.
"Acme Holdings LLC"
Expedited processing tier requested for this filing, or null for standard processing. Only set on filings submitted with an expedited_tier.
"same_day"
Context the partner sent for Palm operations when creating this filing, or null when none was sent.
"The member holds name reservation 2026-123456 for this name."
Linked business ID. For a foreign qualification this is the new business record created for the target-state registration, whose formation_jurisdiction and registration_jurisdiction say where the entity was formed and where it is registered.
Filing result — populated on completion, null until then. Shape depends on the filing type: formation → { registration_number, formation_date }; foreign qualification → { registration_number, registration_date, palm_id }; EIN → { ein_number, legal_name }. Other filing types have no result.
- Option 1
- Option 2
- Option 3
Parent filing ID (for bundled EIN/RA)
Bundle of obligations tracked under this filing, each with its own object type and status: filings (state registration, EIN) and the registered agent (id is the business, resolvable at GET /business/:id/registered-agent).
- Option 1
- Option 2
Documents associated with this filing
Fee components keyed by type (base, dynamic, late, credit_card, ach), plus a convenience total grand total (assumes credit-card payment). Only present components are included. When items is set, it lists each evaluated rule for itemized rendering — the component-keyed values are the sums across those items.
Reason the filing was canceled (partner request, parent off-boarded, duplicate, etc.). Only present when status is canceled.
Role that initiated the cancellation. One of: partner, palm. Only present when status is canceled.
Timestamp the filing was canceled
Cases attached to this filing. One entry per partner-visible case, in chronological order. Each case carries a typed request payload describing what Palm needs and, once submitted, a typed response. Partners respond via POST /v1/case/:case_id/response. An entry with status=needs_response is an outstanding ask — its presence is the signal that the filing needs partner action.

