> ## Documentation Index
> Fetch the complete documentation index at: https://docs.cadanapay.com/llms.txt
> Use this file to discover all available pages before exploring further.

# List outstanding requirements

> Returns requirements — data inputs, documents, or registrations needed
before filings can proceed.

Filter by `businessId` for a business-wide view (all categories), or
by `personId` to see what a specific worker is missing. At least one
of `businessId` or `personId` must be provided.

Requirements are generated automatically based on the business's
jurisdictions and workforce composition. They update dynamically as
workers are added or laws change.




## OpenAPI

````yaml /openapi/statutory-compliance.yaml get /v1/statutory/requirements
openapi: 3.0.0
info:
  title: Statutory Compliance API
  version: 0.1.0
  description: Statutory filing, government remittance, and compliance tracking API
  termsOfService: https://cadanapay.com/terms-and-conditions
  contact:
    email: api@cadanapay.com
  license:
    name: Apache 2.0
    url: http://www.apache.org/licenses/LICENSE-2.0.html
servers:
  - url: https://api.cadanapay.com
    description: Prod Server
  - url: https://dev-api.cadanapay.com
    description: Dev Server
security:
  - Authorization: []
tags:
  - name: Jurisdictions
    description: Discover supported countries, required fields, and filing types
  - name: Filings
    description: >-
      Create, submit, and track statutory returns — from upcoming obligations
      through acceptance
  - name: Remittances
    description: Government payments linked to filings
  - name: Requirements
    description: Prerequisites that must be satisfied before filing
  - name: Events
    description: Immutable audit trail
  - name: Statutory Fields
    description: Submit and read entity-level statutory filing data
paths:
  /v1/statutory/requirements:
    get:
      tags:
        - Requirements
      summary: List outstanding requirements
      description: |
        Returns requirements — data inputs, documents, or registrations needed
        before filings can proceed.

        Filter by `businessId` for a business-wide view (all categories), or
        by `personId` to see what a specific worker is missing. At least one
        of `businessId` or `personId` must be provided.

        Requirements are generated automatically based on the business's
        jurisdictions and workforce composition. They update dynamically as
        workers are added or laws change.
      operationId: listRequirements
      parameters:
        - $ref: '#/components/parameters/XMultiTenantKey'
        - name: businessId
          in: query
          description: Filter by business. Required unless `personId` is provided.
          schema:
            type: string
        - name: personId
          in: query
          description: |
            Filter by person. Returns only `worker_data` requirements where
            this person appears in `affected_persons`. Useful for building
            per-worker onboarding or compliance views.
          schema:
            type: string
        - name: countryCode
          in: query
          schema:
            type: string
          description: Filter by jurisdiction (ISO 3166-1 alpha-2)
        - name: status
          in: query
          schema:
            type: string
            enum:
              - outstanding
              - satisfied
              - waived
        - name: category
          in: query
          schema:
            type: string
            enum:
              - business_registration
              - business_document
              - business_tax_parameter
              - worker_data
      responses:
        '200':
          description: List of requirements
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/Requirement'
components:
  parameters:
    XMultiTenantKey:
      name: X-MultiTenantKey
      in: header
      required: false
      schema:
        type: string
      description: >-
        Required when using a Platform API token. The tenant key identifying
        which business to operate on.
  schemas:
    Requirement:
      type: object
      properties:
        category:
          type: string
          enum:
            - business_registration
            - business_document
            - business_tax_parameter
            - worker_data
          description: >
            - `business_registration` — Business needs to register with an
            authority
              (e.g., SAT employer RFC registration).
              Resolve via `PUT /v1/statutory/businesses/{id}/fields/{countryCode}`.
            - `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 via `PUT /v1/statutory/businesses/{id}/fields/{countryCode}`.
            - `worker_data` — One or more person records are missing required
            fields
              (e.g., RFC, CURP).
              Resolve via `PUT /v1/statutory/persons/{id}/fields/{countryCode}`.
        status:
          type: string
          enum:
            - outstanding
            - satisfied
            - waived
        name:
          type: string
          example: SAT Employer RFC
        description:
          type: string
          example: >-
            A valid RFC is required to file ISR returns with the Servicio de
            Administración Tributaria (SAT)
        affectedField:
          type: string
          description: >-
            The required-field key that needs to be populated, matching a `key`
            from the required-fields response.
          example: taxId
        resourceType:
          type: string
          enum:
            - business
            - person
          description: Whether this requirement applies to a business or person record
          example: business
        resourceId:
          type: string
          description: The ID of the business or person that needs updating
          example: bus_abc123
        resolutionGuide:
          type: string
          description: >
            Human-readable instructions for resolving this requirement. Points
            to

            the correct statutory API endpoint.
          example: Submit via PUT /v1/statutory/businesses/{id}/fields/{countryCode}
  securitySchemes:
    Authorization:
      type: http
      scheme: bearer
      bearerFormat: API_SECRET_KEY

````