---
title: "[Sandbox] Simulate unpublishing a contractor tax statement"
method: POST
path: "/contractor_tax_statements/{id}/simulate/unpublish"
---

# \[Sandbox\] Simulate unpublishing a contractor tax statement

`POST /contractor_tax_statements/{id}/simulate/unpublish`

## Request

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

The Contractor Tax Statements API is currently in limited preview, and is not yet generally available.

Simulate unpublishing a published contractor tax statement in sandbox. Sandbox-only: in production this endpoint returns a 404.

The statement must be in `published` publication status and must not be included in an employer copy aggregate. Clears `published_at` and `document`, reverting the statement to `draft`. Returns the contractor tax statement. Requires an API key with the `contractor:write` or `contractor:admin` scope.

## Path parameters

- `id` string, required

## Response `200`

200

- object
  - `id` string: ID of the contractor tax statement. Begins with `cts_`.
  - `contractor` string: ID of the contractor
  - `company` string: ID of the company
  - `year` integer: Tax year the statement covers
  - `document` string, nullable: ID of the published contractor tax document, such as the 1099-NEC PDF. Null until the statement is published.
  - `published_at` string, date-time, nullable: When the statement was published to the contractor. Null until the statement is published.
  - `publication_status` 'draft' | 'published': Whether the statement has been published.
  - `delivery_method` 'manual' | 'mail', nullable: How the statement will be delivered. `manual` for self-service/download, `mail` for physical mail delivery. Null when delivery isn't set.
  - `mail_recipient` 'contractor' | 'company', nullable: When `delivery_method` is `mail`, who receives the mailed document. Null when `delivery_method` is `manual` or null.

## Other responses

- `400`: 400

## Changes

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

[Operation history](https://skmtc.dev/checkhq/apis/check-api/changes/contractor_tax_statements/:id/simulate/unpublish/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)
