Prerequisites
API key from Dashboard
Get your API key from the Cadana Dashboard. See Authentication for details.
Business with workers in supported jurisdictions
At least one business must be created with workers onboarded in a supported jurisdiction.
Core Concepts
The Statutory Compliance API handles the post-payroll compliance lifecycle — filing statutory returns with government authorities and remitting payments. For filing data, it acts as the single front door: you submit all required data through the statutory endpoints, and the API handles the rest. The developer workflow is:- Discover — Call the required-fields endpoint to see what’s needed for each jurisdiction
- Check — Call the requirements endpoint to see what’s still missing for a specific person or business
- Submit — Send the missing data through the statutory PUT endpoints
- File & Remit — Cadana handles filing with authorities and government payments
Step 1: Discover Jurisdictions
List every jurisdiction the Statutory API supports, along with the filing types available in each. Response:Step 2: Understand a Jurisdiction
Once you know which jurisdictions are available, drill into a specific country to see its filing types, deadlines, and cadence. Response:What Fields Are Required?
Before filing, you need to know which fields are required for tax calculation and statutory filing. The required-fields endpoint returns all fields needed in a given jurisdiction — each field includes anentity (who the field belongs to) and a scope (what it’s used for).
Use this response to build onboarding forms for each jurisdiction. Each field includes an
entity value of "person" or "business", so you can render separate forms for worker data and employer data.Each field has two key attributes:
entity— Who the field belongs to:personorbusiness. This tells you which PUT endpoint to use.scope— What it’s used for:filingfields go to the statutory PUT endpoint.calculationfields go toPUT /v1/persons/{id}/taxProfile.
How to Submit the Fields
The statutory service is the single front door for all filing data. You only need two endpoints:| Scope | Endpoint |
|---|---|
filing | PUT /v1/statutory/persons/{personId}/fields/{countryCode} or PUT /v1/statutory/businesses/{businessId}/fields/{countryCode} (based on entity) |
calculation | PUT /v1/persons/{personId}/taxProfile |
- Discover what’s needed →
GET /v1/statutory/jurisdictions/{cc}/required-fields - Check what’s missing →
GET /v1/statutory/requirements?personId=...&countryCode=... - Submit what’s missing → each requirement’s
resolutionGuidetells you which endpoint to call
firstName or taxId that may already exist on the person record. Data already on the person record auto-populates and won’t appear as an outstanding requirement, so in practice you’re only submitting the fields that are actually missing.
Both return 204 No Content on success.
Read Back Filing Data
The GET endpoint returns a merged view — fields you submitted via PUT combined with data already on the person or business record: Response:Fields like
firstName, taxId, and jobTitle were already on the person record from onboarding — they appear automatically in the merged response without needing to be submitted again.Step 3: Check Requirements
After onboarding, use the requirements endpoint to see what’s still missing. This is the most reliable way to check whether a person or business is ready for statutory filing — you don’t need to manually cross-reference the required-fields list.Business-Level Requirements
If a person is linked to a sub-entity via
jobInfo.entityId, the entity’s registration details (taxId, registrationNumber, address) are used for statutory requirements instead of the parent business’s. See Entity Management.resolutionGuide that points to the statutory service’s field submission endpoint — PUT /v1/statutory/persons/{id}/fields/{cc} for person fields or PUT /v1/statutory/businesses/{id}/fields/{cc} for business fields. Once you submit the data, the requirement is resolved automatically.
Per-Worker Requirements
You can also check requirements for a specific worker to see what’s missing before their next payroll run. Response:Step 4: Check the Compliance Calendar
Once requirements are met, list upcoming and active filings for a business. This gives you a view of the compliance calendar across all jurisdictions. Response:The
summary object provides a quick overview of your compliance posture. Use blocked to surface filings that need attention.Next Steps
The Full Loop
Walk through the complete calculate, file, remit, prove cycle
Statutory API Reference
Full endpoint documentation