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-cartsfor 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
- Call Get Services and find the EIN entry when it is available for your program.
- Use that item’s
slugfor 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
| Step | Method | Endpoint |
|---|---|---|
| 1. List services | GET | /service-carts |
2. Configuration, input_fields, catalog | GET | /service-carts/{service} |
| 3. NAICS list (if required) | GET | /business-classifications |
| 4. Create order | POST | /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
- Webhooks: Track
order_status_changeand handleRejections(or Information Requests). See Webhooks. - 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.