> ## 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 or update multiple documents by external ID



## OpenAPI

````yaml /openapi/documents.json put /documents/batch/external
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/batch/external:
    put:
      tags:
        - Documents
      summary: Create or update multiple documents by external ID
      operationId: documents.upsertManyByExternalId
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                items:
                  type: array
                  minItems: 1
                  maxItems: 250
                  items:
                    allOf:
                      - allOf:
                          - 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
                          - type: object
                            properties:
                              externalId:
                                type: string
                                minLength: 1
                            required:
                              - externalId
                      - type: object
                        properties:
                          contentType:
                            not: {}
                          filename:
                            not: {}
                          size:
                            not: {}
                          storagePath:
                            not: {}
                atomic:
                  type: boolean
                  default: true
              required:
                - items
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                anyOf:
                  - type: object
                    properties:
                      atomic:
                        const: true
                      data:
                        type: array
                        items:
                          type: object
                          properties:
                            data:
                              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
                            action:
                              enum:
                                - created
                                - updated
                                - skipped
                              type: string
                          required:
                            - data
                            - action
                    required:
                      - atomic
                      - data
                  - type: object
                    properties:
                      atomic:
                        const: false
                      succeeded:
                        type: array
                        items:
                          type: object
                          properties:
                            index:
                              type: integer
                              minimum: 0
                              maximum: 9007199254740991
                            data:
                              type: object
                              properties:
                                data:
                                  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
                                action:
                                  enum:
                                    - created
                                    - updated
                                    - skipped
                                  type: string
                              required:
                                - data
                                - action
                          required:
                            - index
                            - data
                      failed:
                        type: array
                        items:
                          type: object
                          properties:
                            index:
                              type: integer
                              minimum: 0
                              maximum: 9007199254740991
                            error:
                              type: object
                              properties:
                                code:
                                  enum:
                                    - VALIDATION_ERROR
                                    - NOT_FOUND
                                    - UNAUTHORIZED
                                    - FORBIDDEN
                                    - RATE_LIMITED
                                    - CONFLICT
                                    - INTERNAL_ERROR
                                    - SERVICE_UNAVAILABLE
                                    - INVALID_OPERATION
                                    - COMPLIANCE_ERROR
                                  type: string
                                message:
                                  type: string
                              required:
                                - code
                                - message
                          required:
                            - index
                            - error
                    required:
                      - atomic
                      - succeeded
                      - failed
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".

````