> ## 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.

# Sincronizar usuarios autorizados con el SII

> Encola de forma asíncrona (no bloquea la respuesta) una consulta al SII para refrescar el caché local de usuarios autorizados de la entidad. Responde de inmediato con un job_id. El caché nunca queda vacío ni se corrompe por un sync fallido: solo un sync exitoso puede actualizar o desactivar usuarios (nunca los borra). Para saber cuándo terminó, haz polling de GET /honorary/master-entities/{master_entity_id}/authorized-users/ hasta que last_sync_status sea 'done' o 'error' — el canal WebSocket que expone el avance en tiempo real solo acepta autenticación de sesión (JWT), no API key.



## OpenAPI

````yaml api-reference/openapi-v2.json POST /honorary/master-entities/{master_entity_id}/authorized-users/sync/
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/master-entities/{master_entity_id}/authorized-users/sync/:
    post:
      tags:
        - Honorary
      summary: Sincronizar usuarios autorizados con el SII
      description: >-
        Encola de forma asíncrona (no bloquea la respuesta) una consulta al SII
        para refrescar el caché local de usuarios autorizados de la entidad.
        Responde de inmediato con un job_id. El caché nunca queda vacío ni se
        corrompe por un sync fallido: solo un sync exitoso puede actualizar o
        desactivar usuarios (nunca los borra). Para saber cuándo terminó, haz
        polling de GET
        /honorary/master-entities/{master_entity_id}/authorized-users/ hasta que
        last_sync_status sea 'done' o 'error' — el canal WebSocket que expone el
        avance en tiempo real solo acepta autenticación de sesión (JWT), no API
        key.
      parameters:
        - name: master_entity_id
          in: path
          required: true
          schema:
            type: integer
            description: ID de la entidad emisora
          description: ID de la entidad emisora a sincronizar
      responses:
        '202':
          description: Sincronización encolada exitosamente
          content:
            application/json:
              schema:
                type: object
                properties:
                  job_id:
                    type: integer
                    description: >-
                      ID del job de sincronización, útil para trazabilidad
                      interna
                    example: 123
                  status:
                    type: string
                    enum:
                      - queued
                    example: queued
                  channel_key:
                    type: string
                    description: >-
                      Canal WebSocket interno (solo JWT) donde se publica el
                      avance
                    example: honorary-authorized-users-sync-456
                required:
                  - job_id
                  - status
                  - channel_key
        '403':
          description: Sin permisos para acceder a la entidad, o API key inválida
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    example: Usuario sin permisos para acceder a la entidad
        '404':
          description: Entidad no encontrada o sin acceso
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    example: No encontrado
      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.