Skip to main content
GET
/
v1
/
statutory
/
requirements
/
{requirement_id}
Get a requirement
curl --request GET \
  --url https://api.cadanapay.com/v1/statutory/requirements/{requirement_id} \
  --header 'Authorization: Bearer <token>'
{
  "category": "business_registration",
  "status": "outstanding",
  "name": "SAT Employer RFC",
  "description": "A valid RFC is required to file ISR returns with the Servicio de Administración Tributaria (SAT)",
  "affectedField": "taxId",
  "resourceType": "business",
  "resourceId": "bus_abc123",
  "resolutionGuide": "Update the business KYB data via PUT /v1/businesses/{id}/kyb",
  "affectedPersons": [
    {
      "personId": "per_01ABC",
      "personName": "María García López",
      "missingField": "taxId",
      "missingFieldLabel": "RFC (Registro Federal de Contribuyentes)"
    }
  ]
}

Authorizations

Authorization
string
header
required

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

Path Parameters

requirement_id
string
required

Response

Requirement details

category
enum<string>
  • business_registration — Business needs to register with an authority (e.g., SAT employer RFC registration). Data lives on the Business aggregate (KYB.taxId, registrationId, KYB.companyRegistrationNumber). Resolve via business KYB or basic info update endpoints.
  • business_document — A business-level document is needed (e.g., POA, incorporation certificate). Upload via the Business document endpoints.
  • business_tax_parameter — A business-level tax parameter is missing (e.g., employer ISR tax number for a specific state). Resolve by updating the Business aggregate via the Businesses Service.
  • worker_data — One or more Person records are missing required fields (e.g., RFC, CURP). Data lives on the Person aggregate. Resolve by updating persons via PUT /v1/persons/{id}/personalInfo.
Available options:
business_registration,
business_document,
business_tax_parameter,
worker_data
status
enum<string>
Available options:
outstanding,
satisfied,
waived
name
string
Example:

"SAT Employer RFC"

description
string
Example:

"A valid RFC is required to file ISR returns with the Servicio de Administración Tributaria (SAT)"

affectedField
string

The field on the business or person record that needs to be populated

Example:

"taxId"

resourceType
enum<string>

Whether this requirement applies to a business or person record

Available options:
business,
person
Example:

"business"

resourceId
string

The ID of the business or person that needs updating

Example:

"bus_abc123"

resolutionGuide
string

Human-readable instructions for resolving this requirement. Points the integrator to the correct upstream service and endpoint.

Example:

"Update the business KYB data via PUT /v1/businesses/{id}/kyb"

affectedPersons
object[] | null

For worker_data requirements: the specific persons (from the Persons Service) who are missing data. Each entry identifies the person and the field that needs to be populated.

Resolution: Update the person via PUT /v1/persons/{id}/personalInfo or PUT /v1/persons/{id}/taxProfile. The statutory API listens for PERSON_PERSONAL_INFO_UPDATED events and auto-resolves requirements when the missing data is provided.