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

# Create a document



## OpenAPI

````yaml /openapi/documents.json post /documents
openapi: 3.1.1
info:
  title: ARTU Compliance API
  version: 1.0.0
  description: 'API for compliance management. Documentation: https://docs.artu.ai'
servers:
  - url: https://api.artu.ai
security:
  - bearerAuth: []
    environmentHeader: []
paths:
  /documents:
    post:
      tags:
        - Documents
      summary: Create a document
      operationId: documents.create
      requestBody:
        required: true
        content:
          application/json:
            schema:
              anyOf:
                - anyOf:
                    - type: object
                      properties:
                        clientId:
                          type: string
                          format: uuid
                          description: Client ID
                        contentType:
                          enum:
                            - image/jpeg
                            - image/png
                            - image/webp
                            - application/pdf
                          type: string
                          description: Content Type
                        category:
                          enum:
                            - identity
                            - tax
                            - address
                            - incorporation
                            - financial
                            - other
                            - consent
                          type: string
                          description: Category
                        expiresAt:
                          type: string
                          format: date
                          description: Expires At
                        externalId:
                          type: string
                          description: External ID
                        metadata:
                          type: object
                          propertyNames:
                            type: string
                          additionalProperties: {}
                          description: Metadata
                        scope:
                          const: MX
                        type:
                          const: ine_front
                        fields:
                          type: object
                          properties:
                            claveElector:
                              anyOf:
                                - type: string
                                  description: Voter Key (18 alphanumeric characters)
                                - type: 'null'
                            curp:
                              anyOf:
                                - type: string
                                  description: CURP - Unique Population Registry Code
                                - type: 'null'
                            fullName:
                              anyOf:
                                - type: string
                                  description: Full Name of the Holder
                                - type: 'null'
                            paternalSurname:
                              anyOf:
                                - type: string
                                  description: Paternal Surname
                                - type: 'null'
                            maternalSurname:
                              anyOf:
                                - type: string
                                  description: Maternal Surname
                                - type: 'null'
                            givenNames:
                              anyOf:
                                - type: string
                                  description: Given Name(s)
                                - type: 'null'
                            dateOfBirth:
                              anyOf:
                                - type: string
                                  format: date
                                  description: Date of Birth
                                - type: 'null'
                            gender:
                              anyOf:
                                - enum:
                                    - H
                                    - M
                                  type: string
                                  description: Sex (H = Male, M = Female)
                                - type: 'null'
                            birthState:
                              anyOf:
                                - type: string
                                  description: >-
                                    Place of Birth (models F and H only -
                                    foreign edition)
                                - type: 'null'
                            street:
                              anyOf:
                                - type: string
                                  description: Address Street
                                - type: 'null'
                            exteriorNumber:
                              anyOf:
                                - type: string
                                  description: Exterior Number
                                - type: 'null'
                            interiorNumber:
                              anyOf:
                                - type: string
                                  description: Interior Number
                                - type: 'null'
                            neighborhood:
                              anyOf:
                                - type: string
                                  description: Colonia
                                - type: 'null'
                            municipality:
                              anyOf:
                                - type: string
                                  description: Municipality or Borough
                                - type: 'null'
                            state:
                              anyOf:
                                - type: string
                                  description: State
                                - type: 'null'
                            postalCode:
                              anyOf:
                                - type: string
                                  description: Postal Code
                                - type: 'null'
                            section:
                              anyOf:
                                - type: string
                                  description: Electoral Section
                                - type: 'null'
                            registrationYear:
                              anyOf:
                                - type: integer
                                  minimum: 1900
                                  maximum: 2100
                                  description: Registration Year
                                - type: 'null'
                            issueYear:
                              anyOf:
                                - type: integer
                                  minimum: 1900
                                  maximum: 2100
                                  description: Issue Year
                                - type: 'null'
                            expirationYear:
                              anyOf:
                                - type: integer
                                  minimum: 1900
                                  maximum: 2100
                                  description: Validity (expiration year)
                                - type: 'null'
                            ineModel:
                              anyOf:
                                - enum:
                                    - C
                                    - D
                                    - E
                                    - F
                                    - G
                                    - H
                                  type: string
                                  description: >-
                                    INE Model (letter identifying the credential
                                    design version)
                                - type: 'null'
                      required:
                        - clientId
                        - scope
                        - type
                    - type: object
                      properties:
                        clientId:
                          type: string
                          format: uuid
                          description: Client ID
                        contentType:
                          enum:
                            - image/jpeg
                            - image/png
                            - image/webp
                            - application/pdf
                          type: string
                          description: Content Type
                        category:
                          enum:
                            - identity
                            - tax
                            - address
                            - incorporation
                            - financial
                            - other
                            - consent
                          type: string
                          description: Category
                        expiresAt:
                          type: string
                          format: date
                          description: Expires At
                        externalId:
                          type: string
                          description: External ID
                        metadata:
                          type: object
                          propertyNames:
                            type: string
                          additionalProperties: {}
                          description: Metadata
                        scope:
                          const: MX
                        type:
                          const: ine_back
                        fields:
                          type: object
                          properties:
                            ocrNumber:
                              anyOf:
                                - type: string
                                  description: OCR Number (back of INE)
                                - type: 'null'
                            cicNumber:
                              anyOf:
                                - type: string
                                  description: CIC - Credential Identification Code
                                - type: 'null'
                            citizenId:
                              anyOf:
                                - type: string
                                  pattern: ^\d{9}$
                                  description: Citizen ID (9 digits)
                                - type: 'null'
                            mrzLine1:
                              anyOf:
                                - type: string
                                  description: Machine Readable Zone (MRZ) Line 1
                                - type: 'null'
                            mrzLine2:
                              anyOf:
                                - type: string
                                  description: Machine Readable Zone (MRZ) Line 2
                                - type: 'null'
                            mrzLine3:
                              anyOf:
                                - type: string
                                  description: Machine Readable Zone (MRZ) Line 3
                                - type: 'null'
                            ineModel:
                              anyOf:
                                - enum:
                                    - C
                                    - D
                                    - E
                                    - F
                                    - G
                                    - H
                                  type: string
                                  description: INE Model classified from the back side
                                - type: 'null'
                      required:
                        - clientId
                        - scope
                        - type
                    - type: object
                      properties:
                        clientId:
                          type: string
                          format: uuid
                          description: Client ID
                        contentType:
                          enum:
                            - image/jpeg
                            - image/png
                            - image/webp
                            - application/pdf
                          type: string
                          description: Content Type
                        category:
                          enum:
                            - identity
                            - tax
                            - address
                            - incorporation
                            - financial
                            - other
                            - consent
                          type: string
                          description: Category
                        expiresAt:
                          type: string
                          format: date
                          description: Expires At
                        externalId:
                          type: string
                          description: External ID
                        metadata:
                          type: object
                          propertyNames:
                            type: string
                          additionalProperties: {}
                          description: Metadata
                        scope:
                          const: MX
                        type:
                          const: passport
                        fields:
                          type: object
                          properties:
                            passportNumber:
                              anyOf:
                                - type: string
                                  minLength: 1
                                  description: Passport Number
                                - type: 'null'
                            issuingCountry:
                              anyOf:
                                - type: string
                                  description: Passport issuing country (ISO 2-letter code)
                                - type: 'null'
                            nationality:
                              anyOf:
                                - type: string
                                  description: Holder nationality (ISO 2-letter code)
                                - type: 'null'
                            fullName:
                              anyOf:
                                - type: string
                                  description: Full name as shown on passport
                                - type: 'null'
                            givenNames:
                              anyOf:
                                - type: string
                                  description: Given Names
                                - type: 'null'
                            surnames:
                              anyOf:
                                - type: string
                                  description: Surname
                                - type: 'null'
                            dateOfBirth:
                              anyOf:
                                - type: string
                                  format: date
                                  description: Date of Birth
                                - type: 'null'
                            placeOfBirth:
                              anyOf:
                                - type: string
                                  description: Place of Birth
                                - type: 'null'
                            gender:
                              anyOf:
                                - enum:
                                    - M
                                    - F
                                    - X
                                  type: string
                                  description: Sex (M, F, X)
                                - type: 'null'
                            issueDate:
                              anyOf:
                                - type: string
                                  format: date
                                  description: Date of Issue
                                - type: 'null'
                            expirationDate:
                              anyOf:
                                - type: string
                                  format: date
                                  description: Date of Expiry
                                - type: 'null'
                            issuingAuthority:
                              anyOf:
                                - type: string
                                  description: Issuing Authority
                                - type: 'null'
                            mrzLine1:
                              anyOf:
                                - type: string
                                  description: Machine Readable Zone (MRZ) line 1
                                - type: 'null'
                            mrzLine2:
                              anyOf:
                                - type: string
                                  description: Machine Readable Zone (MRZ) line 2
                                - type: 'null'
                      required:
                        - clientId
                        - scope
                        - type
                    - type: object
                      properties:
                        clientId:
                          type: string
                          format: uuid
                          description: Client ID
                        contentType:
                          enum:
                            - image/jpeg
                            - image/png
                            - image/webp
                            - application/pdf
                          type: string
                          description: Content Type
                        category:
                          enum:
                            - identity
                            - tax
                            - address
                            - incorporation
                            - financial
                            - other
                            - consent
                          type: string
                          description: Category
                        expiresAt:
                          type: string
                          format: date
                          description: Expires At
                        externalId:
                          type: string
                          description: External ID
                        metadata:
                          type: object
                          propertyNames:
                            type: string
                          additionalProperties: {}
                          description: Metadata
                        scope:
                          const: MX
                        type:
                          const: curp
                        fields:
                          type: object
                          properties:
                            curp:
                              anyOf:
                                - type: string
                                  description: >-
                                    CURP - Unique Population Registry Code (18
                                    characters)
                                - type: 'null'
                            fullName:
                              anyOf:
                                - type: string
                                  description: Full Name
                                - type: 'null'
                            paternalSurname:
                              anyOf:
                                - type: string
                                  description: First Surname
                                - type: 'null'
                            maternalSurname:
                              anyOf:
                                - type: string
                                  description: Second Surname
                                - type: 'null'
                            givenNames:
                              anyOf:
                                - type: string
                                  description: Given Name(s)
                                - type: 'null'
                            dateOfBirth:
                              anyOf:
                                - type: string
                                  format: date
                                  description: Date of Birth
                                - type: 'null'
                            gender:
                              anyOf:
                                - enum:
                                    - H
                                    - M
                                  type: string
                                  description: Sex (H = Male, M = Female)
                                - type: 'null'
                            birthState:
                              anyOf:
                                - type: string
                                  description: State of Birth
                                - type: 'null'
                            nationality:
                              anyOf:
                                - type: string
                                  description: Nationality
                                - type: 'null'
                            folio:
                              anyOf:
                                - type: string
                                  description: Document Folio Number
                                - type: 'null'
                            verificationUrl:
                              anyOf:
                                - type: string
                                  format: uri
                                  description: Verification URL or QR code data
                                - type: 'null'
                      required:
                        - clientId
                        - scope
                        - type
                    - type: object
                      properties:
                        clientId:
                          type: string
                          format: uuid
                          description: Client ID
                        contentType:
                          enum:
                            - image/jpeg
                            - image/png
                            - image/webp
                            - application/pdf
                          type: string
                          description: Content Type
                        category:
                          enum:
                            - identity
                            - tax
                            - address
                            - incorporation
                            - financial
                            - other
                            - consent
                          type: string
                          description: Category
                        expiresAt:
                          type: string
                          format: date
                          description: Expires At
                        externalId:
                          type: string
                          description: External ID
                        metadata:
                          type: object
                          propertyNames:
                            type: string
                          additionalProperties: {}
                          description: Metadata
                        scope:
                          const: MX
                        type:
                          const: rfc_constancia
                        fields:
                          type: object
                          properties:
                            rfc:
                              anyOf:
                                - type: string
                                  description: RFC - Federal Taxpayer Registry
                                - type: 'null'
                            fullName:
                              anyOf:
                                - type: string
                                  description: Full Name or Company Name/Razón Social
                                - type: 'null'
                            curp:
                              anyOf:
                                - type: string
                                  description: CURP (for individuals)
                                - type: 'null'
                            taxRegime:
                              anyOf:
                                - type: string
                                  description: Tax Regime
                                - type: 'null'
                            taxRegimes:
                              anyOf:
                                - type: array
                                  items:
                                    type: string
                                  description: List of Tax Regimes
                                - type: 'null'
                            street:
                              anyOf:
                                - type: string
                                  description: Tax Address Street
                                - type: 'null'
                            exteriorNumber:
                              anyOf:
                                - type: string
                                  description: Exterior Number
                                - type: 'null'
                            interiorNumber:
                              anyOf:
                                - type: string
                                  description: Interior Number
                                - type: 'null'
                            neighborhood:
                              anyOf:
                                - type: string
                                  description: Colonia
                                - type: 'null'
                            municipality:
                              anyOf:
                                - type: string
                                  description: Municipality or Delegation
                                - type: 'null'
                            state:
                              anyOf:
                                - type: string
                                  description: State (Entidad Federativa)
                                - type: 'null'
                            postalCode:
                              anyOf:
                                - type: string
                                  description: Postal Code
                                - type: 'null'
                            registrationDate:
                              anyOf:
                                - type: string
                                  format: date
                                  description: Business Start Date
                                - type: 'null'
                            economicActivities:
                              anyOf:
                                - type: array
                                  items:
                                    type: string
                                  description: Economic Activities
                                - type: 'null'
                            taxObligations:
                              anyOf:
                                - type: array
                                  items:
                                    type: string
                                  description: Tax Obligations
                                - type: 'null'
                            digitalStamp:
                              anyOf:
                                - type: string
                                  description: SAT Digital Stamp or original chain
                                - type: 'null'
                            qrCodeData:
                              anyOf:
                                - type: string
                                  description: QR Code Data
                                - type: 'null'
                            folio:
                              anyOf:
                                - type: string
                                  description: Folio Number
                                - type: 'null'
                            issueDate:
                              anyOf:
                                - type: string
                                  format: date
                                  description: Constancia Issue Date
                                - type: 'null'
                      required:
                        - clientId
                        - scope
                        - type
                    - type: object
                      properties:
                        clientId:
                          type: string
                          format: uuid
                          description: Client ID
                        contentType:
                          enum:
                            - image/jpeg
                            - image/png
                            - image/webp
                            - application/pdf
                          type: string
                          description: Content Type
                        category:
                          enum:
                            - identity
                            - tax
                            - address
                            - incorporation
                            - financial
                            - other
                            - consent
                          type: string
                          description: Category
                        expiresAt:
                          type: string
                          format: date
                          description: Expires At
                        externalId:
                          type: string
                          description: External ID
                        metadata:
                          type: object
                          propertyNames:
                            type: string
                          additionalProperties: {}
                          description: Metadata
                        scope:
                          const: MX
                        type:
                          const: address_proof
                        fields:
                          type: object
                          properties:
                            accountHolderName:
                              anyOf:
                                - type: string
                                  description: Account holder name
                                - type: 'null'
                            serviceType:
                              anyOf:
                                - enum:
                                    - electricity
                                    - water
                                    - gas
                                    - telephone
                                    - internet
                                    - bank_statement
                                    - property_tax
                                    - other
                                  type: string
                                  description: >-
                                    Service type (electricity, water, gas,
                                    phone, bank statement, etc.)
                                - type: 'null'
                            providerName:
                              anyOf:
                                - type: string
                                  description: Service provider name (CFE, Telmex, etc.)
                                - type: 'null'
                            accountNumber:
                              anyOf:
                                - type: string
                                  description: Account or contract number
                                - type: 'null'
                            statementDate:
                              anyOf:
                                - type: string
                                  format: date
                                  description: Statement or bill date
                                - type: 'null'
                            periodStart:
                              anyOf:
                                - type: string
                                  format: date
                                  description: Billing period start
                                - type: 'null'
                            periodEnd:
                              anyOf:
                                - type: string
                                  format: date
                                  description: Billing period end
                                - type: 'null'
                            street:
                              anyOf:
                                - type: string
                                  description: Address street
                                - type: 'null'
                            exteriorNumber:
                              anyOf:
                                - type: string
                                  description: Exterior number
                                - type: 'null'
                            interiorNumber:
                              anyOf:
                                - type: string
                                  description: Interior number
                                - type: 'null'
                            neighborhood:
                              anyOf:
                                - type: string
                                  description: Colonia
                                - type: 'null'
                            municipality:
                              anyOf:
                                - type: string
                                  description: Municipality or Borough
                                - type: 'null'
                            state:
                              anyOf:
                                - type: string
                                  description: State
                                - type: 'null'
                            postalCode:
                              anyOf:
                                - type: string
                                  description: Postal Code
                                - type: 'null'
                            amountDue:
                              anyOf:
                                - type: number
                                  description: Amount due or total
                                - type: 'null'
                            currency:
                              anyOf:
                                - type: string
                                  default: MXN
                                  description: Currency (MXN, USD)
                                - type: 'null'
                      required:
                        - clientId
                        - scope
                        - type
                    - type: object
                      properties:
                        clientId:
                          type: string
                          format: uuid
                          description: Client ID
                        contentType:
                          enum:
                            - image/jpeg
                            - image/png
                            - image/webp
                            - application/pdf
                          type: string
                          description: Content Type
                        category:
                          enum:
                            - identity
                            - tax
                            - address
                            - incorporation
                            - financial
                            - other
                            - consent
                          type: string
                          description: Category
                        expiresAt:
                          type: string
                          format: date
                          description: Expires At
                        externalId:
                          type: string
                          description: External ID
                        metadata:
                          type: object
                          propertyNames:
                            type: string
                          additionalProperties: {}
                          description: Metadata
                        scope:
                          const: MX
                        type:
                          const: acta_constitutiva
                        fields:
                          type: object
                          properties:
                            companyName:
                              anyOf:
                                - type: string
                                  minLength: 1
                                  description: Company legal name (Razón Social)
                                - type: 'null'
                            companyRfc:
                              anyOf:
                                - type: string
                                  description: Company RFC
                                - type: 'null'
                            entityType:
                              anyOf:
                                - enum:
                                    - sa
                                    - sa_de_cv
                                    - sapi
                                    - sapi_de_cv
                                    - sas
                                    - sc
                                    - srl
                                    - srl_de_cv
                                    - other
                                  type: string
                                  description: >-
                                    Company type (S.A. de C.V., S. de R.L.,
                                    S.A.P.I., etc.)
                                - type: 'null'
                            notaryNumber:
                              anyOf:
                                - type: integer
                                  minimum: -9007199254740991
                                  maximum: 9007199254740991
                                  exclusiveMinimum: 0
                                  description: Notary number
                                - type: 'null'
                            notaryName:
                              anyOf:
                                - type: string
                                  description: Notary Public name
                                - type: 'null'
                            notaryLocation:
                              anyOf:
                                - type: string
                                  description: Notary location (city and state)
                                - type: 'null'
                            instrumentNumber:
                              anyOf:
                                - type: string
                                  description: Public deed number
                                - type: 'null'
                            bookNumber:
                              anyOf:
                                - type: string
                                  description: Book number
                                - type: 'null'
                            volumeNumber:
                              anyOf:
                                - type: string
                                  description: Volume number
                                - type: 'null'
                            incorporationDate:
                              anyOf:
                                - type: string
                                  format: date
                                  description: Incorporation date
                                - type: 'null'
                            publicRegistryNumber:
                              anyOf:
                                - type: string
                                  description: >-
                                    Public Registry of Commerce registration
                                    number (folio mercantil)
                                - type: 'null'
                            publicRegistryLocation:
                              anyOf:
                                - type: string
                                  description: Public Registry of Commerce location
                                - type: 'null'
                            publicRegistryDate:
                              anyOf:
                                - type: string
                                  format: date
                                  description: >-
                                    Public Registry of Commerce registration
                                    date
                                - type: 'null'
                            corporatePurpose:
                              anyOf:
                                - type: string
                                  description: Corporate purpose (summary)
                                - type: 'null'
                            duration:
                              anyOf:
                                - type: string
                                  description: Company duration (e.g. 99 years, indefinite)
                                - type: 'null'
                            street:
                              anyOf:
                                - type: string
                                  description: Registered address street
                                - type: 'null'
                            exteriorNumber:
                              anyOf:
                                - type: string
                                  description: Exterior number
                                - type: 'null'
                            interiorNumber:
                              anyOf:
                                - type: string
                                  description: Interior number
                                - type: 'null'
                            neighborhood:
                              anyOf:
                                - type: string
                                  description: Colonia
                                - type: 'null'
                            municipality:
                              anyOf:
                                - type: string
                                  description: Municipality / Alcaldía
                                - type: 'null'
                            state:
                              anyOf:
                                - type: string
                                  description: State
                                - type: 'null'
                            postalCode:
                              anyOf:
                                - type: string
                                  description: Postal code
                                - type: 'null'
                            initialCapital:
                              anyOf:
                                - type: number
                                  description: Initial share capital (amount)
                                - type: 'null'
                            capitalCurrency:
                              anyOf:
                                - type: string
                                  default: MXN
                                  description: Share capital currency
                                - type: 'null'
                            founders:
                              anyOf:
                                - type: array
                                  items:
                                    type: object
                                    properties:
                                      name:
                                        type: string
                                        description: Founding partner name
                                      rfc:
                                        type: string
                                        description: Partner RFC
                                      capitalContribution:
                                        type: number
                                        description: Capital contribution
                                      percentageOwnership:
                                        type: number
                                        description: Ownership percentage
                                    required:
                                      - name
                                  description: List of founding partners
                                - type: 'null'
                            legalRepresentatives:
                              anyOf:
                                - type: array
                                  items:
                                    type: string
                                  description: Legal representatives listed in the document
                                - type: 'null'
                      required:
                        - clientId
                        - scope
                        - type
                    - type: object
                      properties:
                        clientId:
                          type: string
                          format: uuid
                          description: Client ID
                        contentType:
                          enum:
                            - image/jpeg
                            - image/png
                            - image/webp
                            - application/pdf
                          type: string
                          description: Content Type
                        category:
                          enum:
                            - identity
                            - tax
                            - address
                            - incorporation
                            - financial
                            - other
                            - consent
                          type: string
                          description: Category
                        expiresAt:
                          type: string
                          format: date
                          description: Expires At
                        externalId:
                          type: string
                          description: External ID
                        metadata:
                          type: object
                          propertyNames:
                            type: string
                          additionalProperties: {}
                          description: Metadata
                        scope:
                          const: MX
                        type:
                          const: poder_notarial
                        fields:
                          type: object
                          properties:
                            powerType:
                              anyOf:
                                - enum:
                                    - general
                                    - pleitos_cobranzas
                                    - actos_administracion
                                    - actos_dominio
                                    - especial
                                    - other
                                  type: string
                                  description: >-
                                    Power type (general, special, for litigation
                                    and collection, acts of administration, acts
                                    of ownership)
                                - type: 'null'
                            grantorName:
                              anyOf:
                                - type: string
                                  description: >-
                                    Grantor name (Poderdante — party granting
                                    the power)
                                - type: 'null'
                            grantorRfc:
                              anyOf:
                                - type: string
                                  description: Grantor RFC
                                - type: 'null'
                            grantorType:
                              anyOf:
                                - enum:
                                    - individual
                                    - company
                                  type: string
                                  description: >-
                                    Grantor type (individual = natural person,
                                    company = legal entity)
                                - type: 'null'
                            attorneyName:
                              anyOf:
                                - type: string
                                  minLength: 1
                                  description: >-
                                    Attorney-in-fact name (Apoderado — party
                                    receiving the power)
                                - type: 'null'
                            attorneyRfc:
                              anyOf:
                                - type: string
                                  description: Attorney-in-fact RFC
                                - type: 'null'
                            attorneyCurp:
                              anyOf:
                                - type: string
                                  description: Attorney-in-fact CURP
                                - type: 'null'
                            notaryNumber:
                              anyOf:
                                - type: integer
                                  minimum: -9007199254740991
                                  maximum: 9007199254740991
                                  exclusiveMinimum: 0
                                  description: Notary number
                                - type: 'null'
                            notaryName:
                              anyOf:
                                - type: string
                                  description: Notary Public name
                                - type: 'null'
                            notaryLocation:
                              anyOf:
                                - type: string
                                  description: Notary location (city and state)
                                - type: 'null'
                            instrumentNumber:
                              anyOf:
                                - type: string
                                  description: Public deed number
                                - type: 'null'
                            bookNumber:
                              anyOf:
                                - type: string
                                  description: Book number
                                - type: 'null'
                            volumeNumber:
                              anyOf:
                                - type: string
                                  description: Volume number
                                - type: 'null'
                            grantDate:
                              anyOf:
                                - type: string
                                  format: date
                                  description: Power grant date
                                - type: 'null'
                            expirationDate:
                              anyOf:
                                - type: string
                                  format: date
                                  description: Power expiration date (if applicable)
                                - type: 'null'
                            isRevocable:
                              anyOf:
                                - type: boolean
                                  description: >-
                                    Whether the power is revocable or
                                    irrevocable
                                - type: 'null'
                            powerScope:
                              anyOf:
                                - type: string
                                  description: Scope and limitations of the granted powers
                                - type: 'null'
                            authorizedActs:
                              anyOf:
                                - type: array
                                  items:
                                    type: string
                                  description: >-
                                    Specific authorized acts (for special
                                    powers)
                                - type: 'null'
                            registrationNumber:
                              anyOf:
                                - type: string
                                  description: Registration number (if registered)
                                - type: 'null'
                            isRevoked:
                              anyOf:
                                - type: boolean
                                  description: Whether the power has been revoked
                                - type: 'null'
                            revocationDate:
                              anyOf:
                                - type: string
                                  format: date
                                  description: Power revocation date
                                - type: 'null'
                      required:
                        - clientId
                        - scope
                        - type
                    - type: object
                      properties:
                        clientId:
                          type: string
                          format: uuid
                          description: Client ID
                        contentType:
                          enum:
                            - image/jpeg
                            - image/png
                            - image/webp
                            - application/pdf
                          type: string
                          description: Content Type
                        category:
                          enum:
                            - identity
                            - tax
                            - address
                            - incorporation
                            - financial
                            - other
                            - consent
                          type: string
                          description: Category
                        expiresAt:
                          type: string
                          format: date
                          description: Expires At
                        externalId:
                          type: string
                          description: External ID
                        metadata:
                          type: object
                          propertyNames:
                            type: string
                          additionalProperties: {}
                          description: Metadata
                        scope:
                          const: MX
                        type:
                          const: voting_card
                        fields:
                          type: object
                          properties:
                            documentNumber:
                              anyOf:
                                - type: string
                                  description: Voting card number (Credencial para Votar)
                                - type: 'null'
                      required:
                        - clientId
                        - scope
                        - type
                    - type: object
                      properties:
                        clientId:
                          type: string
                          format: uuid
                          description: Client ID
                        contentType:
                          enum:
                            - image/jpeg
                            - image/png
                            - image/webp
                            - application/pdf
                          type: string
                          description: Content Type
                        category:
                          enum:
                            - identity
                            - tax
                            - address
                            - incorporation
                            - financial
                            - other
                            - consent
                          type: string
                          description: Category
                        expiresAt:
                          type: string
                          format: date
                          description: Expires At
                        externalId:
                          type: string
                          description: External ID
                        metadata:
                          type: object
                          propertyNames:
                            type: string
                          additionalProperties: {}
                          description: Metadata
                        scope:
                          const: MX
                        type:
                          const: declaracion_anual
                        fields:
                          type: object
                          properties:
                            rfc:
                              anyOf:
                                - type: string
                                  description: RFC - Federal Taxpayer Registry
                                - type: 'null'
                            contribuyenteName:
                              anyOf:
                                - type: string
                                  description: Taxpayer name or business name
                                - type: 'null'
                            fiscalYear:
                              anyOf:
                                - type: number
                                  description: Tax Year (year)
                                - type: 'null'
                            totalIncome:
                              anyOf:
                                - type: number
                                  description: Total Income
                                - type: 'null'
                            totalDeductions:
                              anyOf:
                                - type: number
                                  description: Total Deductions
                                - type: 'null'
                            taxableBase:
                              anyOf:
                                - type: number
                                  description: Taxable Base
                                - type: 'null'
                            taxDue:
                              anyOf:
                                - type: number
                                  description: Tax Assessed
                                - type: 'null'
                            taxPaid:
                              anyOf:
                                - type: number
                                  description: Tax Paid
                                - type: 'null'
                            balanceDueOrFavor:
                              anyOf:
                                - type: number
                                  description: Balance Due or in Favor
                                - type: 'null'
                            declarationType:
                              anyOf:
                                - enum:
                                    - normal
                                    - complementaria
                                  type: string
                                  description: Declaration type (normal or supplementary)
                                - type: 'null'
                            folio:
                              anyOf:
                                - type: string
                                  description: Declaration folio number
                                - type: 'null'
                            presentationDate:
                              anyOf:
                                - type: string
                                  format: date
                                  description: Declaration submission date
                                - type: 'null'
                            digitalStamp:
                              anyOf:
                                - type: string
                                  description: SAT digital stamp
                                - type: 'null'
                            qrCodeData:
                              anyOf:
                                - type: string
                                  description: QR code data
                                - type: 'null'
                      required:
                        - clientId
                        - scope
                        - type
                - type: object
                  properties:
                    clientId:
                      type: string
                      format: uuid
                      description: Client ID
                    contentType:
                      enum:
                        - image/jpeg
                        - image/png
                        - image/webp
                        - application/pdf
                      type: string
                      description: Content Type
                    category:
                      enum:
                        - identity
                        - tax
                        - address
                        - incorporation
                        - financial
                        - other
                        - consent
                      type: string
                      description: Category
                    expiresAt:
                      type: string
                      format: date
                      description: Expires At
                    externalId:
                      type: string
                      description: External ID
                    metadata:
                      type: object
                      propertyNames:
                        type: string
                      additionalProperties: {}
                      description: Metadata
                    scope:
                      enum:
                        - MX
                        - US
                      type: string
                    type:
                      type: string
                      minLength: 1
                    fields:
                      type: object
                      propertyNames:
                        type: string
                      additionalProperties: {}
                  required:
                    - clientId
                    - scope
                    - type
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  document:
                    allOf:
                      - type: object
                        properties:
                          clientId:
                            type: string
                            format: uuid
                            description: Client ID
                          category:
                            enum:
                              - identity
                              - tax
                              - address
                              - incorporation
                              - financial
                              - other
                              - consent
                            type: string
                            description: Category
                          scope:
                            enum:
                              - MX
                              - US
                            type: string
                            description: Scope
                          type:
                            type: string
                            minLength: 1
                            description: Type
                          status:
                            enum:
                              - pending_upload
                              - uploaded
                              - pending_review
                              - processing
                              - verified
                              - rejected
                              - expired
                              - no_file
                            type: string
                            description: Status
                            default: pending_upload
                          filename:
                            anyOf:
                              - type: string
                                description: Filename
                              - type: 'null'
                          contentType:
                            anyOf:
                              - type: string
                                description: Content Type
                              - type: 'null'
                          size:
                            anyOf:
                              - type: integer
                                minimum: -9007199254740991
                                maximum: 9007199254740991
                                description: Size
                              - type: 'null'
                          expiresAt:
                            anyOf:
                              - type: string
                                format: date
                                description: Expires At
                              - type: 'null'
                          verifiedAt:
                            anyOf:
                              - type: string
                                format: date-time
                                description: Verified At
                              - type: 'null'
                          verifiedBy:
                            anyOf:
                              - type: string
                                description: Verified By
                              - type: 'null'
                          rejectionReason:
                            anyOf:
                              - type: string
                                description: Rejection Reason
                              - type: 'null'
                          reviewedAt:
                            anyOf:
                              - type: string
                                format: date-time
                                description: Reviewed At
                              - type: 'null'
                          reviewedBy:
                            anyOf:
                              - type: string
                                description: Reviewed By
                              - type: 'null'
                          externalId:
                            anyOf:
                              - type: string
                                description: External ID
                              - type: 'null'
                          fields:
                            anyOf:
                              - type: object
                                propertyNames:
                                  type: string
                                additionalProperties: {}
                                description: Fields
                              - type: 'null'
                          metadata:
                            anyOf:
                              - type: object
                                propertyNames:
                                  type: string
                                additionalProperties: {}
                                description: Metadata
                              - type: 'null'
                        required:
                          - clientId
                          - category
                          - scope
                          - type
                      - type: object
                        properties:
                          id:
                            type: string
                            format: uuid
                          createdAt:
                            type: string
                            format: date-time
                          updatedAt:
                            type: string
                            format: date-time
                        required:
                          - id
                          - createdAt
                          - updatedAt
                  upload:
                    type: object
                    properties:
                      url:
                        type: string
                        format: uri
                      expiresAt:
                        type: string
                        format: date-time
                    required:
                      - url
                      - expiresAt
                required:
                  - document
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: API Key
      description: API key authentication. Obtain your API key from the dashboard.
    environmentHeader:
      type: apiKey
      in: header
      name: X-Environment
      description: Target environment for the request. Must be "test" or "live".

````