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

# Anular folios

> Anula folios disponibles de los CAF activos de una empresa y tipo de documento. En Chile solicita la anulación al SII usando el certificado activo de la empresa y actualiza Emify únicamente para los tramos confirmados. Omite usados, reservados y previamente anulados. Solo procesa la intersección con CAF cargados: no valida cobertura completa del rango. Los conteos no incluyen huecos sin CAF. En otros países conserva la anulación local. Si hay un rechazo o fallo posterior, las anulaciones ya confirmadas permanecen en Emify y details indica los tramos confirmados y el tramo no confirmado. Ante un fallo de comunicación, consulta el SII antes de reintentar: la operación puede haberse ejecutado allí aunque no haya respuesta.



## OpenAPI

````yaml /api-reference/openapi.json put /api/companies/{idCompany}/enumeration/void
openapi: 3.1.0
info:
  title: Emify API
  description: >-
    API pública de Emify para la emisión y gestión de documentos tributarios
    electrónicos (DTE) en Chile.
  version: 1.0.0
  contact:
    name: Soporte Emify
    email: soporte@emify.co
servers:
  - url: https://api.emify.co
    description: Producción
  - url: http://localhost:8080
    description: Desarrollo local
security: []
tags:
  - name: Services
    description: >-
      Utilidades públicas de la plataforma (validación de documentos, tipos de
      cambio)
  - name: Certificates
    description: Gestión de certificados digitales por empresa
  - name: Legal Entities
    description: Tipos de persona jurídica / persona natural por país
  - name: Tax Identification Documents
    description: Documentos de identificación tributaria por país
  - name: Purchases (Receptions)
    description: Gestión de documentos recibidos (compras y recepciones)
  - name: Legal Activities
    description: Actividades económicas / giros por país
  - name: Tax Information
    description: Información fiscal de referencia por país
  - name: Additional Export Info
    description: Información adicional para documentos de exportación por país
  - name: Enumeration (CAF)
    description: Gestión de folios (CAF) y enumeración de documentos por empresa
  - name: Currencies
    description: Monedas disponibles por país
  - name: Document Cancellation Reasons
    description: Razones de anulación de documentos por país
  - name: Document Types
    description: Tipos de documentos tributarios por país
  - name: Companies
    description: Gestión de empresas emisoras de documentos tributarios
  - name: Measurement Units
    description: Unidades de medida por país
  - name: Users
    description: Operaciones de usuario autenticado
  - name: Company Settings
    description: Configuración operacional de la empresa
  - name: Item Code Types
    description: Tipos de código de ítem por país
  - name: Invoices
    description: Emisión y gestión de facturas y documentos tributarios electrónicos
  - name: Countries
    description: Listado de países soportados
  - name: Tax Types
    description: Tipos de impuesto por país
  - name: Taxpayers
    description: Consulta de datos de contribuyentes en entes tributarios
  - name: Webhooks
    description: Suscripción a eventos de la empresa vía webhooks
  - name: Payment Types
    description: Tipos de pago por país
paths:
  /api/companies/{idCompany}/enumeration/void:
    put:
      tags:
        - Enumeration (CAF)
      summary: Anular folios
      description: >-
        Anula folios disponibles de los CAF activos de una empresa y tipo de
        documento. En Chile solicita la anulación al SII usando el certificado
        activo de la empresa y actualiza Emify únicamente para los tramos
        confirmados. Omite usados, reservados y previamente anulados. Solo
        procesa la intersección con CAF cargados: no valida cobertura completa
        del rango. Los conteos no incluyen huecos sin CAF. En otros países
        conserva la anulación local. Si hay un rechazo o fallo posterior, las
        anulaciones ya confirmadas permanecen en Emify y details indica los
        tramos confirmados y el tramo no confirmado. Ante un fallo de
        comunicación, consulta el SII antes de reintentar: la operación puede
        haberse ejecutado allí aunque no haya respuesta.
      operationId: voidFolios
      parameters:
        - name: idCompany
          in: path
          description: ID de la empresa
          required: true
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VoidFoliosRequest'
      responses:
        '200':
          description: >-
            Anulación completada para los folios disponibles; puede devolver
            cero si todos ya estaban usados, reservados o anulados.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VoidFoliosResponse'
        '400':
          description: Campos faltantes o vacíos, folios no positivos, o from mayor que to.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FolioCancellationErrorResponse'
        '401':
          description: API key ausente o inválida.
        '403':
          description: Sin acceso a la empresa.
        '404':
          description: >-
            Empresa, tipo de documento, certificado activo o CAF que intersecte
            el rango no encontrado.
        '422':
          description: >-
            FOLIO_SII_REJECTED: el SII no confirmó todos los tramos; las
            anulaciones confirmadas se conservan.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FolioCancellationErrorResponse'
        '502':
          description: >-
            FOLIO_SII_COMMUNICATION_ERROR: no se pudo confirmar la respuesta del
            SII. Verifica el SII antes de reintentar. Las anulaciones
            previamente confirmadas se conservan.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FolioCancellationErrorResponse'
      security:
        - ApiKey: []
components:
  schemas:
    VoidFoliosRequest:
      type: object
      required:
        - id_document_type
        - from
        - to
        - reason
      properties:
        id_document_type:
          type: string
          minLength: 1
          description: >-
            Código de Emify del tipo de documento; no es el código numérico del
            SII.
          example: FCE
        from:
          type: integer
          format: int32
          minimum: 1
          description: Primer folio del rango inclusivo.
          example: 5201
        to:
          type: integer
          format: int32
          minimum: 1
          description: >-
            Último folio; debe ser mayor o igual a from. Para un folio
            individual, usa from = to.
          example: 5210
        reason:
          type: string
          minLength: 1
          description: Motivo de anulación enviado al SII; no puede contener solo espacios.
          example: Folios que no serán utilizados
    VoidFoliosResponse:
      type: object
      properties:
        voided_count:
          type: integer
          format: int32
          description: >-
            Folios disponibles anulados en esta solicitud. En Chile, confirmados
            por el SII.
          example: 9
        skipped_count:
          type: integer
          format: int32
          description: >-
            Folios cargados omitidos por estar usados, reservados o previamente
            anulados. No incluye huecos sin CAF.
          example: 1
        from:
          type: integer
          example: 5201
        to:
          type: integer
          example: 5210
        message:
          type: string
          example: 9 folios voided successfully
    FolioCancellationErrorResponse:
      type: object
      properties:
        error:
          type: string
        code:
          type: string
        message:
          type: string
        details:
          type: array
          items:
            type: string
        timestamp:
          type: string
        trace_id:
          type: string
  securitySchemes:
    ApiKey:
      type: apiKey
      name: X-Api-Key
      in: header

````