Modificar permisos de un usuario autorizado existente
Modificar los permisos de un usuario **existente** de un contribuyente.
/api/v1/sii/dte/contribuyentes/modificar_usuario/{contribuyente}v1 · ESTABLEModificar los permisos de un usuario existente de un contribuyente.
A diferencia de set_usuario (que crea usuarios nuevos), este endpoint modifica
los permisos de un usuario ya autorizado (flujo eu_mod_usuario del SII).
usuario.permisos es el estado final deseado: un permiso en false se
desactiva. El permiso de administrador se preserva (no es modificable por
esta via). Si el usuario no esta autorizado en la empresa, el SII rechaza y se
debe usar set_usuario.
Autenticacion requerida: API token en header X-API-Token con scope sii:write
- certificado digital del contribuyente o representante autorizado (con permiso de administrador sobre la empresa).
Quota: Consume 1 consulta | Peso: 5x (operacion critica de escritura)
Parametros de ruta
| Parametro | Tipo | Requerido | Descripcion |
|---|---|---|---|
contribuyente | string | Si | RUT del contribuyente (XXXXXXXX-K) |
Parametros de consulta
| Parametro | Tipo | Default | Descripcion |
|---|---|---|---|
ambiente | string | 0 | 0 produccion, 1 certificacion |
Body (JSON)
| Campo | Tipo | Requerido | Descripcion |
|---|---|---|---|
auth.cert.cert-data | string | Si | Certificado digital (base64) |
auth.cert.pkey-data | string | Si | Clave privada del certificado (base64) |
auth.cert.passphrase | string | No | Passphrase del certificado |
usuario.rut | string | Si | RUT del usuario existente (XXXXXXXX-K) |
usuario.permisos.solicitar_folios | boolean | No | Solicitar Folios (estado final) |
usuario.permisos.anular_folios | boolean | No | Anular Documentos (estado final) |
usuario.permisos.firmar | boolean | No | Firmar Documentos (estado final) |
usuario.permisos.enviar | boolean | No | Enviar Documentos (estado final) |
usuario.permisos.consultar | boolean | No | Consulta (estado final) |
usuario.permisos.administradorse ignora: el permiso de administrador se preserva y no se modifica por esta via.
Request de ejemplo
Respuesta exitosa (200)
Mensaje + permisos resultantes extraidos del HTML de confirmacion del SII (gateway transparente, sin hardcoded):
Errores especificos
| Codigo | error_code | Causa | Resolucion |
|---|---|---|---|
| 400 | AUTH_ERROR | Certificado SII invalido | Renovar certificado |
| 400 | VALIDATION_ERROR | Usuario no autorizado / rechazo SII | Usar set_usuario o revisar message |
| 401 | HTTP_401 | API token ausente o invalido | Enviar X-API-Token valido |
| 403 | INSUFFICIENT_SCOPE | Token sin scope sii:write | Generar token con scope adecuado |
| 403 | AUTH_ERROR | Certificado sin permiso de administrador | Usar certificado del administrador |
| 422 | VALIDATION_ERROR | Body sin usuario o campos invalidos | Revisar errors[] |
| 429 | SII_RATE_LIMIT / QUOTA_EXCEEDED | Rate limit | Respetar Retry-After |
| 502 | SII_GATEWAY_ERROR | SII rechazo la modificacion | Revisar message y details.observacion |
Notas
- Solo modifica usuarios existentes (
eu_mod_usuario). Para agregar un usuario nuevo, usarset_usuario. - Usar
GET /listar_usuariospara verificar los permisos actuales antes de modificar.
Parámetros
Cuerpo de la solicitud
Requerido. Content-Type: application/json.
Respuestas
Forma de la respuesta
Código 200. Estructura del JSON devuelto.