Standalone vs bundled
Palm supports two modes for EIN applications:- Standalone — Apply for an EIN for any business already in Palm. The business doesn’t need to have been formed through Palm — it just needs a business record with the required vault fields.
- Bundled with formation — Include an
einobject in a formation request. Palm creates the EIN filing automatically and advances it toready_to_filewhen the formation completes.
Prerequisites
The business record must have these vault fields populated before submitting:business.legal_namebusiness.entity_typebusiness.formation_jurisdictionbusiness.formation_datebusiness.address_line_1,business.city,business.region,business.postal_code
business.address_line_2, business.country, business.dba_name.
If the business doesn’t exist in Palm yet, create it first via
POST /v1/business with the required vault fields.Submit an EIN application
Bash
Responsible party
Every EIN application requires a responsible party — the individual the IRS holds accountable for the entity. You can either reference an existing user or provide details inline:- Existing user — Pass
user_id. The user’s vault must already haveidentity.first_name,identity.last_name, andidentity.ssn. - Inline — Pass
first_name,last_name, andssndirectly. Palm creates a user record, vaults the SSN, and links them to the business.
Required fields
| Field | Type | Description |
|---|---|---|
business_id | UUID | Business to apply for. |
responsible_party | object | user_id or inline first_name / last_name / ssn. |
reason | enum | Why the entity needs an EIN (e.g., started_new_business, hired_employees, banking_purposes). |
fiscal_year_end_month | integer | 1–12. Most entities use 12 (calendar year). |
expected_employee_count | object | Employees expected in the next 12 months, split by IRS category: agricultural (integer), household (integer), other (integer). |
principal_activity | enum | Business activity category (e.g., finance_and_insurance, construction, retail). |
principal_activity_detail | string | Description of principal products or services. |
has_previous_ein | boolean | Whether the entity previously had an EIN. |
Optional fields
| Field | Type | Description |
|---|---|---|
previous_ein | string | Required if has_previous_ein is true. |
wage_date | date | Required if total expected employees is greater than 0. |
trade_name | string | DBA if different from legal name. |
form_944_election | boolean | Elect annual filing (Form 944) if expected tax liability is $1,000 or less. |
metadata | object | Your custom key/value pairs. |
Example request
JSON
Track the filing
The EIN filing follows the same status lifecycle as all Comply filings:queued until the parent formation reaches completed, then advances it to ready_to_file.
Check status at any time:
Bash
Bash
Handle information requests
If Palm identifies an issue that would cause the IRS to reject the application (e.g., a name mismatch or missing information), Palm attaches a case to the filing describing what’s needed. Your system receives acase.needs_response webhook. Respond via POST /v1/case/{case_id}/response.
See Comply overview for how cases work.
Retrieve the result
When the filing reachescompleted:
- EIN — Available on
filing.result.ein_number. - Entity name — Confirmed name on
filing.result.entity_name. - Documents — IRS confirmation letter (CP 575) with a time-limited download URL.
JSON

