---
title: "Complete EIN creation (sandbox)"
method: POST
path: "/v1/partner/playground/companies/{companyId}/eincreation/complete"
tags: ["Playground (sandbox only)"]
---

# Complete EIN creation (sandbox)

`POST /v1/partner/playground/companies/{companyId}/eincreation/complete`

## Request

- Base URL: `https://api.test.doola.com`
- URL: `https://api.test.doola.com/v1/partner/playground/companies/{companyId}/eincreation/complete`
- Auth: API key in header `Authorization`

Simulates the IRS issuing the EIN: sets the company's EIN and uploads the EIN letter. Fires `company_ein_issued` (first issuance only) and `document_einletter_uploaded`, and advances the EinCreation service to Completed. `triggeredEvents` reflects what this call actually fired, so a repeat call lists only `document_einletter_uploaded`. Sandbox only.

## Path parameters

- `companyId` string, required

## Response `200`

Milestone completed. The listed webhook events fire asynchronously through the normal delivery pipeline.

- PlaygroundActionResponse: Acknowledges a playground milestone. Webhook delivery is asynchronous: triggeredEvents lists the events this call caused to fire, not a delivery confirmation.
  - `doolaCompanyId` string: doola company ID (KSUID).
  - `service` 'Formation' | 'EinCreation': The company service the milestone advanced.
  - `triggeredEvents` string[]: Webhook events this call triggered. First-issuance-only events (company_ein_issued) appear only when they actually fired, so repeat calls omit them.

## Other responses

- `404`: E_COMPANY_NOT_FOUND: no company with this ID for the authenticated partner.
- `409`: E_COMPANY_CANCELLED: the company was cancelled. Nothing changes.
- `422`: E_FORMATION_AWAITING_PAYMENT: the company is awaiting payment. Confirm the payment first; nothing changes.

## Changes

- **2026-11-03** `f607744a8927`: 2 warning, 5 info
  - removed the optional property `error` from the response with the `200` status
  - removed the optional property `payload` from the response with the `200` status
  - added the non-success response with the status `409`
  - added the non-success response with the status `422`
  - …3 more

[Operation history](https://skmtc.dev/doola/apis/doola-partner-api/changes/v1/partner/playground/companies/:companyId/eincreation/complete/post.md)

---

[API](https://skmtc.dev/doola/apis/doola-partner-api.md) - [All operations](https://skmtc.dev/doola/apis/doola-partner-api/llms.txt) - [OpenAPI document](https://skmtc.dev/doola/apis/doola-partner-api/revisions/f607744a8927?raw)
