[Sandbox] Simulate unpublishing a contractor tax statement

Changed on

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.

post/contractor_tax_statements/{id}/simulate/unpublish

Request

Path parameters

idstring required

ID of the contractor tax statement

Response

200

idstring

ID of the contractor tax statement. Begins with cts_.

contractorstring

ID of the contractor

companystring

ID of the company

yearinteger

Tax year the statement covers

documentstring nullable

ID of the published contractor tax document, such as the 1099-NEC PDF. Null until the statement is published.

published_atstring 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.

Example response

{
  "id": "cts_456",
  "contractor": "ctr_123",
  "company": "com_123",
  "year": 2025,
  "publication_status": "draft",
  "delivery_method": "mail",
  "mail_recipient": "contractor"
}

Changes