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/jsonfor JSON request bodies. - Pass
X-Request-Idfor traceability and support workflows. - Errors return structured JSON with both
errorandrequest_id.
{
"error": "Validation failed: ...",
"request_id": "4cc2187c-5b59-4fd2-8ef7-4b868d431a27"
}
Validation rules that matter
- Supported TIN types: ein, ssn, itin.
einrequiresbusiness_name;ssnanditinrequire first and last name.street_addresshas 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.