Contractor Tax Statements

Learn how to use Check's Contractor Tax Statements API to track contractors' 1099-NEC documents, including publication status and delivery, and how to preview or download them.

🚧

Drafts only

The Contractor Tax Statements API is generally available, but Check does not publish contractor tax statements in production yet. Every production statement is a draft, so document, published_at, and delivery_method are null. You can preview a statement's 1099-NEC through a tax package.

Overview

The Contractor Tax Statements API shows the 1099-NEC Check will publish, or has published, for each contractor at a company. It works like the Employee Tax Statements API, and differs in these ways:

  1. 1099-NEC only: every contractor tax statement is a 1099-NEC, so the object has no form field and the list has no form filter.
  2. No amendments: contractor statements have no amends or amended_by fields. The list accepts type=amendment and publication_status=pending_correction, but both return no results.
  3. No filings or refresh time: the object has no filings or refreshed_at fields.
  4. Delivery is set at publish: delivery_method is null while a statement is a draft. Check sets it when the statement is published, and clears it again if the statement is unpublished.
  5. Paginated list: the list endpoint returns a paginated response, and requires a contractor or company filter.
  6. Contractor scopes: the API requires an API key with the contractor:read, contractor:write, or contractor:admin scope, and returns 404 unless contractor tax statements are enabled for your account.

Key concepts

Contractor Tax Statements

A contractor's 1099-NEC for one company and one tax year. A statement shows:

  • Whether the 1099-NEC is still a draft or has been published
  • When it was published
  • How Check decided to deliver it

Documents

The published 1099-NEC PDF. A statement's document is null until the statement is published, then holds the ID of a contractor tax document.

Tax Packages

ZIP files containing tax documents as PDFs. A package requested with at least one contractor tax statement also contains a CSV of that statement data. See the Tax Packages guide for details.

API Reference

Contractor Tax Statement Object

The core object representing a contractor's 1099-NEC.

fieldtypedescription
idIDID of the contractor tax statement. Begins with cts_.
contractorIDID of the contractor this statement belongs to
companyIDID of the company this statement belongs to
yearintTax year for this statement
documentnullable IDPublished document ID (null until the statement is published)
published_atnullable datetime in UTCWhen the statement was published to the contractor (UTC). Null until the statement is published.
publication_statusenumPublication status: draft or published
delivery_methodnullable enumDelivery method Check decided when it published the statement: manual or mail. Null while the statement is a draft.
mail_recipientnullable enumMail recipient: contractor or company. Null when delivery_method is manual or null.

Key Point: When document is null, the statement hasn't been published yet. You can generate a preview of the 1099-NEC by creating a tax package.

delivery_method records the delivery decision Check made at publish time. A mail value does not by itself mean Check has mailed the 1099-NEC.

List Contractor Tax Statements

GET /contractor_tax_statements

Returns the contractor tax statements matching the specified filters. You must pass contractor, company, or both. A request with neither returns a 400 validation error.

Query Parameters

parametertypedescription
contractorIDFilter by contractor ID. Required unless company is set.
companyIDFilter by company ID. Required unless contractor is set.
yearint (optional)Filter by tax year
publication_statusenum (optional)Filter by publication status: draft or published. pending_correction is accepted but returns no results.
typeenum (optional)original returns every statement. amendment is accepted but returns no results.
published_fromdatetime (optional)Return statements whose published_at is on or after this ISO-8601 datetime (inclusive)
limitint (optional)Number of statements per page. Defaults to 25; the maximum value is 500.
cursorstring (optional)Pagination cursor from a next or previous response URL

Example Requests

GET /contractor_tax_statements?contractor=ctr_123
GET /contractor_tax_statements?company=com_123&publication_status=draft
GET /contractor_tax_statements?company=com_123&publication_status=published
GET /contractor_tax_statements?company=com_123&year=2025
GET /contractor_tax_statements?company=com_123&publication_status=published&published_from=2027-01-12T14:22:07Z

Example Response

The response is paginated. Follow the next and previous URLs to move between pages.

{
  "next": null,
  "previous": null,
  "results": [
    {
      "id": "cts_789",
      "contractor": "ctr_123",
      "company": "com_123",
      "year": 2026,
      "document": null,
      "published_at": null,
      "publication_status": "draft",
      "delivery_method": null,
      "mail_recipient": null
    },
    {
      "id": "cts_456",
      "contractor": "ctr_123",
      "company": "com_123",
      "year": 2025,
      "document": "doc_456",
      "published_at": "2026-01-27T15:30:00Z",
      "publication_status": "published",
      "delivery_method": "mail",
      "mail_recipient": "contractor"
    },
    {
      "id": "cts_123",
      "contractor": "ctr_123",
      "company": "com_123",
      "year": 2024,
      "document": "doc_123",
      "published_at": "2025-01-28T16:05:00Z",
      "publication_status": "published",
      "delivery_method": "manual",
      "mail_recipient": null
    }
  ]
}

Previewing and Downloading Statements

Contractor tax statements are metadata objects — to get the underlying 1099-NEC PDFs, you have two options:

  • Tax Packages: generate previews of draft statements, or download published documents in bulk, by creating a tax package with the statement IDs in contents.contractor_tax_statements. See the Tax Packages guide.
  • Contractor Tax Documents: for straightforward access to individual published 1099-NECs, use the List contractor tax documents API.

Did this page help you?