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

# Enrolar usuario autorizado

> Enrola un usuario autorizado del SII para emitir boletas de honorarios. El RUT se valida contra el caché local (poblado por POST .../authorized-users/sync/), no contra el SII en vivo — sincroniza primero si la entidad nunca fue sincronizada. El master_entity_id y rut se proporcionan en el body o query parameters. Para desenrolar, usa el endpoint de desenrolar.



## OpenAPI

````yaml api-reference/openapi-v2.json PATCH /honorary/authorized-users/
openapi: 3.0.0
info:
  title: Tupana API — v2
  description: >-
    API v2 de Tupana: facturación electrónica, cesiones, recaudación, consultas,
    boleta de honorarios y nómina. Los identificadores de recursos son public
    IDs opacos con prefijo (docu_, ment_, cred_, doce_, empl_…).
  version: 2.0.0
servers:
  - url: https://api.tupana.ai/v2
    description: Producción (v2)
security:
  - apiKeyAuth: []
paths:
  /honorary/authorized-users/:
    patch:
      tags:
        - Honorary
      summary: Enrolar usuario autorizado
      description: >-
        Enrola un usuario autorizado del SII para emitir boletas de honorarios.
        El RUT se valida contra el caché local (poblado por POST
        .../authorized-users/sync/), no contra el SII en vivo — sincroniza
        primero si la entidad nunca fue sincronizada. El master_entity_id y rut
        se proporcionan en el body o query parameters. Para desenrolar, usa el
        endpoint de desenrolar.
      parameters:
        - name: master_entity_id
          in: query
          required: false
          schema:
            type: integer
            description: ID de la entidad emisora
          description: >-
            ID de la entidad emisora. Puede proporcionarse en query parameter o
            en el body.
        - name: rut
          in: query
          required: false
          schema:
            type: string
            description: RUT del usuario autorizado
          description: >-
            RUT del usuario a gestionar. Puede proporcionarse en query parameter
            o en el body.
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                master_entity_id:
                  type: integer
                  description: >-
                    ID de la entidad emisora (requerido si no se proporciona en
                    query parameter)
                  example: 1
                rut:
                  type: string
                  description: >-
                    RUT del usuario autorizado (requerido si no se proporciona
                    en query parameter)
                  example: 12.345.678-9
                action:
                  type: string
                  enum:
                    - enroll
                    - unenroll
                  description: Acción a realizar. Por defecto 'enroll'
                  default: enroll
                  example: enroll
              required:
                - master_entity_id
                - rut
      responses:
        '200':
          description: Operación exitosa (enrolar o desenrolar)
          content:
            application/json:
              schema:
                oneOf:
                  - type: object
                    description: Respuesta al enrolar
                    properties:
                      status:
                        type: string
                        enum:
                          - enrolled
                          - already_enrolled
                        description: Estado del enrolamiento
                      message:
                        type: string
                        description: Mensaje descriptivo
                      rut:
                        type: string
                        description: RUT normalizado del usuario enrolado
                      master_entity:
                        type: object
                        description: Información de la entidad creada/asociada
                        properties:
                          id:
                            type: integer
                            description: ID de la entidad
                          name:
                            type: string
                            description: Nombre completo de la entidad
                          tax_id:
                            type: string
                            description: RUT de la entidad
                    required:
                      - status
                      - message
                      - rut
                  - type: object
                    description: Respuesta al desenrolar
                    properties:
                      success:
                        type: boolean
                        description: Siempre true para respuestas exitosas
                        example: true
                      message:
                        type: string
                        description: Mensaje descriptivo del resultado
                        example: >-
                          Usuario autorizador 12345678-9 desenrolado
                          exitosamente
                      rut:
                        type: string
                        description: RUT del usuario desenrolado
                        example: 12345678-9
                    required:
                      - success
                      - message
                      - rut
        '400':
          description: Datos inválidos, usuario no autorizado, o acción inválida
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    oneOf:
                      - example: Se requiere el parámetro master_entity_id
                      - example: Se requiere el parámetro rut
                      - example: >-
                          El RUT proporcionado no está en la lista de usuarios
                          autorizadores
                      - example: >-
                          Aún no se ha sincronizado la lista de usuarios
                          autorizadores con el SII para esta entidad. Sincroniza
                          primero e inténtalo de nuevo.
                      - example: La acción debe ser 'enroll' o 'unenroll'
                      - example: El RUT proporcionado no es válido
        '403':
          description: Sin permisos para acceder a la entidad
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    example: Usuario sin permisos para acceder a la entidad
        '404':
          description: Entidad, credencial o usuario no encontrado
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    oneOf:
                      - example: No se encontró una credencial válida para la entidad
                      - example: >-
                          No se encontró una entidad con el RUT asociada al
                          usuario
        '500':
          description: Error interno del servidor
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    example: Error al gestionar usuario autorizador
      security:
        - apiKeyAuth: []
components:
  securitySchemes:
    apiKeyAuth:
      type: apiKey
      in: header
      name: Authorization
      description: >-
        API Key para autenticación. Debe proporcionarse en el header
        Authorization con el formato: 'Api-Key YOUR-API-KEY' (incluye el prefijo
        'Api-Key ' seguido de tu API key)

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.