Public documentation

Form Casa API documentation

Build 1099 filing workflows with OAuth authentication, structured validation, and endpoints for contacts, form creation, corrections, and PDF retrieval.

Supported forms

1099-NEC, 1099-MISC

Active tax years

2020, 2021, 2022, 2023, 2024, 2025

PDF identifiers

recipient

Quickstart in 4 steps

Use this path to validate integration quickly before you expand to bulk filing workflows.

1) Create an access token

Exchange your Client ID and Client Secret with /api/v1/oauth/token.

curl -X POST "<BASE_URL>/api/v1/oauth/token" \
  -H "Content-Type: application/x-www-form-urlencoded" \
  -d grant_type=client_credentials \
  -d client_id=<CLIENT_ID> \
  -d client_secret=<CLIENT_SECRET>

2) Create contacts and forms

Submit a 1099 payload with payer, recipient, and form box values. You can embed contact fields inline or reference existing contact IDs.

curl -X POST "<BASE_URL>/api/v1/forms/f1099_nec" \
  -H "Authorization: Bearer <access_token>" \
  -H "Content-Type: application/json" \
  -d '{
    "tax_year": 2025,
    "payer": { "id": "<PAYER_CONTACT_ID>" },
    "recipient": { "id": "<RECIPIENT_CONTACT_ID>" },
    "box_values": { "box1": "1000.00", "box4": "0.00" },
    "ready_to_efile": false,
    "ready_to_mail": false
  }'

3) Track requests with IDs

Send an X-Request-Id header on every request. The API echoes a request ID in responses so your support and engineering teams can quickly trace failures.

4) Fetch PDFs and create corrections

Use /pdf endpoints to retrieve generated files and /correct endpoints to create corrected returns from originals.

Core endpoint map

Start here before diving into full parameter schemas in the interactive API reference.

Method Path Purpose
POST /api/v1/oauth/token Create an OAuth access token with client credentials.
POST /api/v1/contacts Create a payer or recipient contact for future filings.
POST /api/v1/forms/f1099_nec Create a 1099-NEC form and optionally queue e-file or mailing.
POST /api/v1/forms/f1099_misc Create a 1099-MISC form and optionally queue e-file or mailing.
POST /api/v1/forms/:form_type/:id/correct Create a correction form from a previously filed return.
GET /api/v1/forms/:form_type/:id/pdf?identifier=recipient Download the generated recipient PDF copy for a form.

Request conventions

  • Authenticate with Authorization: Bearer <access_token>.
  • Use Content-Type: application/json for JSON request bodies.
  • Pass X-Request-Id for traceability and support workflows.
  • Errors return structured JSON with both error and request_id.
{
  "error": "Validation failed: ...",
  "request_id": "4cc2187c-5b59-4fd2-8ef7-4b868d431a27"
}

Validation rules that matter

  • Supported TIN types: ein, ssn, itin.
  • ein requires business_name; ssn and itin require first and last name.
  • street_address has a maximum of 40 characters.
  • US records require state + valid US postal code formatting.
  • Duplicate uncorrected form combinations are rejected by design.

Need deeper schema details?

The interactive API reference includes complete parameter schemas and response models.