Skip to main content
GET
/
v1
/
statutory
/
jurisdictions
/
{country_code}
Get jurisdiction details
curl --request GET \
  --url https://api.cadanapay.com/v1/statutory/jurisdictions/{country_code} \
  --header 'Authorization: Bearer <token>'
{
  "countryCode": "MX",
  "countryName": "Mexico",
  "currency": "MXN",
  "status": "live",
  "payrollFrequency": "MONTHLY",
  "employeeFields": {
    "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
        }
      }
    ]
  },
  "employerFields": {
    "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
        }
      }
    ]
  },
  "filingTypes": [
    {
      "id": "ft_mx_isr_monthly",
      "name": "ISR Withholding",
      "description": "ISR income tax withholding return filed monthly with SAT",
      "governmentFormName": "Declaración Provisional ISR",
      "authority": {
        "id": "auth_mx_sat",
        "name": "Servicio de Administración Tributaria",
        "abbreviation": "SAT",
        "countryCode": "MX",
        "electronicSystem": "Portal del SAT"
      },
      "frequency": "MONTHLY",
      "dueDay": 10,
      "includesRemittance": true,
      "legislativeReference": "Ley del Impuesto Sobre la Renta (LISR), Artículo 96"
    }
  ],
  "statutoryBenefits": [
    {
      "name": "IMSS Employer-Employee Contributions",
      "description": "Mandatory social security contribution under the Ley del Seguro Social (LSS)",
      "employerRate": 0.1,
      "employeeRate": 0.08,
      "authority": "IMSS",
      "legislativeReference": "Ley del Seguro Social (LSS), Artículo 39"
    }
  ],
  "compliance": {
    "workingHoursPerWeek": 48,
    "annualLeave": "12 working days after 1 year, increasing with seniority",
    "sickLeave": "Up to 52 weeks (60% pay via IMSS after 3-day waiting period)",
    "publicHolidays": "Paid, nationally observed (approx 7 mandatory rest days)",
    "probationPeriod": "30 days (up to 180 days for managerial/technical roles)",
    "onboardingTimeline": "5-10 business days",
    "payrollCutoffs": {
      "inputs": "5 business days before pay date",
      "approval": "3 business days before pay date"
    }
  },
  "termination": {
    "noticeRequired": true,
    "description": "<string>",
    "finalPayIncludes": [
      "<string>"
    ]
  }
}

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}$

Response

Jurisdiction details

countryCode
string
Example:

"MX"

countryName
string
Example:

"Mexico"

currency
string
Example:

"MXN"

status
enum<string>
Available options:
live,
coming_soon
payrollFrequency
enum<string>
Available options:
MONTHLY,
BIWEEKLY,
SEMI_MONTHLY,
WEEKLY
employeeFields
object

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.

Example:
{
"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
}
}
]
}
employerFields
object

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.

Example:
{
"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
}
}
]
}
filingTypes
object[]
statutoryBenefits
object[]
compliance
object
termination
object