Skip to main content
GET
/
v1
/
statutory
/
jurisdictions
/
{country_code}
/
required-fields
Get required fields for tax calculation and statutory filing
curl --request GET \
  --url https://api.cadanapay.com/v1/statutory/jurisdictions/{country_code}/required-fields \
  --header 'Authorization: Bearer <token>'
{
  "country_code": "MX",
  "worker_type": "employee",
  "version": 3,
  "fields": [
    {
      "key": "marital_status",
      "name": "Marital Status",
      "description": "Used for tax deduction eligibility under LISR",
      "path": "taxProfile.maritalStatus",
      "type": "string",
      "enum": [
        "single",
        "married",
        "divorced",
        "widowed"
      ],
      "required": true,
      "scope": [
        "calculation"
      ]
    },
    {
      "key": "tax_id",
      "name": "RFC (Registro Federal de Contribuyentes)",
      "description": "SAT-issued RFC, required on all ISR withholding returns",
      "path": "taxId",
      "type": "string",
      "pattern": "^[A-Z&Ñ]{4}\\d{6}[A-Z0-9]{3}$",
      "required": true,
      "scope": [
        "calculation",
        "filing"
      ]
    },
    {
      "key": "national_id",
      "name": "CURP (Clave Única de Registro de Población)",
      "description": "National population registry 18-character ID",
      "path": "nationalId",
      "type": "string",
      "pattern": "^[A-Z]{4}\\d{6}[HM][A-Z]{5}[A-Z0-9]{2}$",
      "required": true,
      "scope": [
        "filing"
      ]
    },
    {
      "key": "imss_number",
      "name": "IMSS Social Security Number (NSS)",
      "description": "NSS from IMSS for social security contributions",
      "path": "socialSecurityId",
      "type": "string",
      "required": false,
      "scope": [
        "filing"
      ],
      "condition": {
        "field": "is_imss_eligible",
        "equals": true
      }
    }
  ]
}

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Path Parameters

country_code
string
required

ISO 3166-1 alpha-2 country code

Pattern: ^[A-Z]{2}$

Query Parameters

worker_type
enum<string>

Filter fields by worker type

Available options:
employee,
contractor
scope
enum<string>

Filter fields by scope — "calculation" for tax engine inputs, "filing" for statutory return fields. Omit to return all fields.

Available options:
calculation,
filing

Response

200 - application/json

Required fields with scope, type, and person aggregate path

Flat list of fields required for tax calculation and/or statutory filing in a jurisdiction. Each field includes its scope (calculation, filing, or both), its path on the Person aggregate, and validation rules.

The response shape aligns with the Tax Calculator fields API (GET /v1/tax/fields). Clients can use both interchangeably or merge them into a single onboarding form.

countryCode
string
required
Example:

"MX"

workerType
enum<string>
required
Available options:
employee,
contractor
Example:

"employee"

version
integer
required

Schema version number, per jurisdiction. Increments when fields are added, removed, or changed for this country. Use this to detect when your cached field list is stale.

Example:

3

fields
object[]
required