Skip to main content

EIN application

Employer Identification Number (EIN) is a federal tax ID issued by the IRS for your customer’s business. This guide describes how the standalone EIN order fits the same service → order → Webhook pattern as other standalone products.

Coming soon: The EIN standalone service may not yet appear in GET {baseUrl}/service-carts for all partner accounts. Confirm availability with [email protected] before go-live. Until the service is enabled, treat the JSON below as the intended integration shape.

Related: Service Filings overview · State requirements reference · Standalone flows (user journey)

When to use this flow

Use the standalone EIN service when the entity already exists (or will exist) and the customer only needs an EIN, without a full incorporation package. If EIN is bundled with formation, use Incorporation Service Example instead.

Service slug and catalog

  1. Call Get Services and find the EIN entry when it is available for your program.
  2. Use that item’s slug for Get Service Configuration and Create New Order.

The examples below use the slug ein or ein-application. Replace with the slug returned for your account.

API flow

StepMethodEndpoint
1. List servicesGET/service-carts
2. Configuration, input_fields, catalogGET/service-carts/{service}
3. NAICS list (if required)GET/business-classifications
4. Create orderPOST/orders
5. Get order (optional)GET/orders/{order_uuid}
6. Get timely Order status changes and Requests for Information on your Webhook

Follow Standalone Service Example for whether submit is required.

Example: List services

GET {baseUrl}/service-carts
Authorization: Bearer {token}
{
"success": true,
"data": [
{
"slug": "ein",
"name": "EIN Application",
"description": "Federal Employer Identification Number (EIN) application.",
"allows_addons": false,
"is_standalone": true,
"nested_services": []
}
]
}

State-specific requirements (discovery)

EIN is a federal filing, but input_fields still depend on entity type and address. Use Get Service Configuration for your EIN slug and supply business_data (including formation_state where the entity is formed or principal address state) per the returned keys.

Example: Get Service Configuration

GET {baseUrl}/service-carts/ein?state=TX&business_type=LLC
Authorization: Bearer {token}

Abbreviated success payload:

{
"success": true,
"data": {
"name": "EIN Application",
"slug": "ein",
"description": "Federal Employer Identification Number (EIN) application.",
"input_fields": [
{
"name": "First Name",
"key": "first_name",
"type": "string",
"description": "First name of the user",
"questionnaire_copy": "What is your first name?",
"validation_rules": [
"string",
"max:100",
"regex:/^[\\p{L}]+([\\s\\-'.]*[\\p{L}]+)*\\.?$/u"
],
"default_value": null,
"options": null,
"is_sensitive": false,
"required": true
},
{
"name": "Last Name",
"key": "last_name",
"type": "string",
"description": "Last name of the user",
"questionnaire_copy": "What is your last name?",
"validation_rules": [
"string",
"max:100",
"regex:/^[\\p{L}]+([\\s\\-'.]*[\\p{L}]+)*\\.?$/u"
],
"default_value": null,
"options": null,
"is_sensitive": false,
"required": true
},
{
"name": "Email",
"key": "email",
"type": "string",
"description": "Email address",
"questionnaire_copy": "What is your email address?",
"validation_rules": [
"email:rfc,dns",
"max:255"
],
"default_value": null,
"options": null,
"is_sensitive": false,
"required": true
},
{
"name": "Phone Number",
"key": "phone_number",
"type": "string",
"description": "Phone number",
"questionnaire_copy": "What is your phone number?",
"validation_rules": [
"string",
"size:10",
"regex:/^(?![01])\\d+$/"
],
"default_value": null,
"options": null,
"is_sensitive": false,
"required": true
},
...
],
"catalog": [
{
"sku": "SF_EIN_EXAMPLE_SG_0",
"name": "EIN Application",
"item_type": "product",
"has_gov_fee": false,
"price": 79,
"package": false
}
]
}
}

sku and field keys are illustrative until the live service is enabled.

Example: Create order

{
"service": "ein",
"email": "[email protected]",
"first_name": "Chris",
"last_name": "Lee",
"phone_number": "5554443333",
"consent_sms": false,
"business_data": {
"name": "Acme Holdings LLC",
"type": "LLC",
"formation_state": "WY",
"category": "541211",
"address": "30 N Gould St",
"city": "Sheridan",
"state": "WY",
"zip": "82801"
}
}

Abbreviated response:

{
"success": true,
"data": {
"message": "Order created successfully",
"order_uuid": "d4e5f6a7-b8c9-0123-def0-234567890123"
}
}

Example: Submit order

{
"order_uuid": "d4e5f6a7-b8c9-0123-def0-234567890123",
"skus": ["SF_EIN_EXAMPLE_SG_0"],
"total_amount": 79.0,
"payment_method_nonce": null,
"service": "ein"
}

Example: Get order

GET {baseUrl}/orders/d4e5f6a7-b8c9-0123-def0-234567890123
Authorization: Bearer {token}

Abbreviated response:

{
"success": true,
"data": {
"id": 1,
"uuid": "d4e5f6a7-b8c9-0123-def0-234567890123",
"service": "ein",
"status": "In Progress",
"business_data": {
"name": "Acme Holdings LLC",
"type": "LLC",
"formation_state": "WY"
},
"managers_data": [],
"order_items": [
{ "submitted_at": "2026-07-01", "type": "sale", "items": ["SF_EIN_EXAMPLE_SG_0"] }
],
"required_actions": {
"rejections": [],
"questionnaires": [],
"alerts": []
},
"documents": []
}
}

Fulfillment

  1. Webhooks: Track order_status_change and handle Rejections (or Information Requests). See Webhooks.
  2. Completion: The IRS issues the EIN; documents appear under the customer’s account per your configuration.

Errors and edge cases

  • Rejections: IRS rejections are communicated via Webhook.