Skip to main content
An EIN (Employer Identification Number) is the IRS-assigned tax identification number for a business entity. Palm handles the full application — collecting the required Form SS-4 data, submitting to the IRS, and returning the assigned EIN and confirmation documents.

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 ein object in a formation request. Palm creates the EIN filing automatically and advances it to ready_to_file when the formation completes.
Both modes use the same filing lifecycle and return the same result.

Prerequisites

The business record must have these vault fields populated before submitting:
  • business.legal_name
  • business.entity_type
  • business.formation_jurisdiction
  • business.formation_date
  • business.address_line_1, business.city, business.region, business.postal_code
Optional fields forwarded to the IRS if present: 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
POST /v1/filing/ein

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 have identity.first_name, identity.last_name, and identity.ssn.
  • Inline — Pass first_name, last_name, and ssn directly. Palm creates a user record, vaults the SSN, and links them to the business.

Required fields

FieldTypeDescription
business_idUUIDBusiness to apply for.
responsible_partyobjectuser_id or inline first_name / last_name / ssn.
reasonenumWhy the entity needs an EIN (e.g., started_new_business, hired_employees, banking_purposes).
fiscal_year_end_monthinteger1–12. Most entities use 12 (calendar year).
expected_employee_countobjectEmployees expected in the next 12 months, split by IRS category: agricultural (integer), household (integer), other (integer).
principal_activityenumBusiness activity category (e.g., finance_and_insurance, construction, retail).
principal_activity_detailstringDescription of principal products or services.
has_previous_einbooleanWhether the entity previously had an EIN.

Optional fields

FieldTypeDescription
previous_einstringRequired if has_previous_ein is true.
wage_datedateRequired if total expected employees is greater than 0.
trade_namestringDBA if different from legal name.
form_944_electionbooleanElect annual filing (Form 944) if expected tax liability is $1,000 or less.
metadataobjectYour custom key/value pairs.

Example request

JSON
{
  "business_id": "987e6543-e21a-45b6-c789-012345678901",
  "responsible_party": {
    "user_id": "123e4567-e89b-12d3-a456-426614174000"
  },
  "reason": "started_new_business",
  "fiscal_year_end_month": 12,
  "expected_employee_count": {
    "agricultural": 0,
    "household": 0,
    "other": 5
  },
  "wage_date": "2026-07-01",
  "principal_activity": "finance_and_insurance",
  "principal_activity_detail": "Business compliance software",
  "has_previous_ein": false
}

Track the filing

The EIN filing follows the same status lifecycle as all Comply filings:
queued → ready_to_file → processing → filed → completed
For bundled EIN filings, Palm holds the filing in queued until the parent formation reaches completed, then advances it to ready_to_file. Check status at any time:
Bash
GET /v1/filing/{filing_id}
Or filter the filings list:
Bash
GET /v1/filing?type=ein&business_id={id}

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 a case.needs_response webhook. Respond via POST /v1/case/{case_id}/response. See Comply overview for how cases work.

Retrieve the result

When the filing reaches completed:
  • 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.
Palm also stores the EIN on the business record in the vault.
JSON
{
  "id": "fil_ein456",
  "object": "filing",
  "type": "ein",
  "status": "completed",
  "business_id": "biz_xyz789",
  "result": {
    "ein_number": "12-3456789",
    "entity_name": "Acme Holdings LLC"
  },
  "documents": [
    {
      "id": "doc_002",
      "object": "document",
      "type": "irs_confirmation_letter",
      "url": "https://api.getpalm.com/v1/document/doc_002/download",
      "uploaded_at": "2026-06-05T10:15:00Z"
    }
  ]
}

Next steps