---
title: "[Sandbox] Simulate publishing an employee tax statement"
method: POST
path: "/employee_tax_statements/{id}/simulate/publish"
---

# \[Sandbox\] Simulate publishing an employee tax statement

`POST /employee_tax_statements/{id}/simulate/publish`

## Request

- Base URL: `https://sandbox.checkhq.com`
- URL: `https://sandbox.checkhq.com/employee_tax_statements/{id}/simulate/publish`
- Auth: API key in header `Authorization`
- TypeScript: <https://skmtc.dev/checkhq/apis/check-api/docs/employee_tax_statements/:id/simulate/publish/post.ts> (a function with typed inputs; its response is checked against the schema)

Simulate publishing a draft employee tax statement to the employee in sandbox. Sandbox-only: in production this endpoint returns a 404.

The statement must be in `draft` publication status and must have statement data (refresh the company's filings if needed). Physical mail is not sent. Returns the employee tax statement; poll the resource or listen for `employee_tax_statement.updated` webhooks as publishing completes.

## Path parameters

- `id` string, required

## Response `200`

200

- object
  - `id` string
  - `employee` string
  - `company` string
  - `year` integer
  - `form` 'fed_w2' | 'fed_w2c' | 'vi_w2vi' | 'vi_w2vic': Tax form type for this statement.
  - `amends` unknown
  - `amended_by` unknown
  - `document` unknown
  - `filings` string[]
  - `filed_at` unknown
  - `refreshed_at` string, date-time: When the statement's data was last refreshed, in UTC.

## Other responses

- `400`: 400

## Changes

- **2026-11-03** `5a54f5eb888b`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/checkhq/apis/check-api/changes/employee_tax_statements/:id/simulate/publish/post.md)

---

[API](https://skmtc.dev/checkhq/apis/check-api.md) - [All operations](https://skmtc.dev/checkhq/apis/check-api/llms.txt) - [OpenAPI document](https://skmtc.dev/checkhq/apis/check-api/revisions/5a54f5eb888b?raw)
