SIIDTE

Modificar permisos de un usuario autorizado existente

Modificar los permisos de un usuario **existente** de un contribuyente.

POST /api/v1/sii/dte/contribuyentes/modificar_usuario/{contribuyente}
import requests
 
headers = {
    "X-API-Token": "sk_live_replace_with_your_token",
}
 
response = requests.post(
    "https://api.fiscalbridge.cl/api/v1/sii/dte/contribuyentes/modificar_usuario/:contribuyente",
    headers=headers,
)
response.raise_for_status()
print(response.json())

Modificar 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

ParametroTipoRequeridoDescripcion
contribuyentestringSiRUT del contribuyente (XXXXXXXX-K)

Parametros de consulta

ParametroTipoDefaultDescripcion
ambientestring00 produccion, 1 certificacion

Body (JSON)

CampoTipoRequeridoDescripcion
auth.cert.cert-datastringSiCertificado digital (base64)
auth.cert.pkey-datastringSiClave privada del certificado (base64)
auth.cert.passphrasestringNoPassphrase del certificado
usuario.rutstringSiRUT del usuario existente (XXXXXXXX-K)
usuario.permisos.solicitar_foliosbooleanNoSolicitar Folios (estado final)
usuario.permisos.anular_foliosbooleanNoAnular Documentos (estado final)
usuario.permisos.firmarbooleanNoFirmar Documentos (estado final)
usuario.permisos.enviarbooleanNoEnviar Documentos (estado final)
usuario.permisos.consultarbooleanNoConsulta (estado final)

usuario.permisos.administrador se ignora: el permiso de administrador se preserva y no se modifica por esta via.

Request de ejemplo

{
  "auth": {
    "cert": {
      "cert-data": "BASE64_CERT",
      "pkey-data": "BASE64_PKEY",
      "passphrase": "CERT_PASSPHRASE"
    }
  },
  "usuario": {
    "rut": "12.345.678-5",
    "permisos": {
      "solicitar_folios": true,
      "firmar": true,
      "enviar": true,
      "consultar": true
    }
  }
}

Respuesta exitosa (200)

Mensaje + permisos resultantes extraidos del HTML de confirmacion del SII (gateway transparente, sin hardcoded):

{
  "success": true,
  "message": "Se ha grabado satisfactoriamente las modificaciones al usuario ...",
  "permisos": {
    "administrador": true,
    "solicitar_folios": true,
    "anular_folios": false,
    "firmar": true,
    "enviar": true,
    "consultar": true
  }
}

Errores especificos

Codigoerror_codeCausaResolucion
400AUTH_ERRORCertificado SII invalidoRenovar certificado
400VALIDATION_ERRORUsuario no autorizado / rechazo SIIUsar set_usuario o revisar message
401HTTP_401API token ausente o invalidoEnviar X-API-Token valido
403INSUFFICIENT_SCOPEToken sin scope sii:writeGenerar token con scope adecuado
403AUTH_ERRORCertificado sin permiso de administradorUsar certificado del administrador
422VALIDATION_ERRORBody sin usuario o campos invalidosRevisar errors[]
429SII_RATE_LIMIT / QUOTA_EXCEEDEDRate limitRespetar Retry-After
502SII_GATEWAY_ERRORSII rechazo la modificacionRevisar message y details.observacion

Notas

  • Solo modifica usuarios existentes (eu_mod_usuario). Para agregar un usuario nuevo, usar set_usuario.
  • Usar GET /listar_usuarios para verificar los permisos actuales antes de modificar.

Parámetros

Header / Body
Tipo
Descripción
Requerido
contribuyente
string · path
ambiente
string · query
`0` produccion, `1` certificacion
No
dry_run
string | null · query
Si es `true` (o `1`/`yes`/`on`), el endpoint valida el payload y retorna una respuesta de previsualización (mismo shape que la respuesta real) sin contactar al SII. Útil para validar requests sin consumir folios, cuota ni créditos.
No

Cuerpo de la solicitud

Requerido. Content-Type: application/json.

{
  "auth": {
    "cert": {
      "cert-data": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0t...",
      "passphrase": "mi_passphrase_segura",
      "pkey-data": "LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVkt..."
    }
  },
  "usuario": {
    "permisos": {
      "administrador": false,
      "anular_folios": false,
      "consultar": false,
      "enviar": false,
      "firmar": false,
      "solicitar_folios": false
    },
    "rut": "string"
  }
}

Respuestas

200Successful Response
400Usuario invalido o credenciales SII incorrectas
401API token ausente o invalido
403Sin scope `sii:write` o sin permiso sobre contribuyente
422Body con formato invalido
429Limite de tasa excedido
502SII rechazo la modificacion
503SII en mantenimiento

Forma de la respuesta

Código 200. Estructura del JSON devuelto.

{}

On this page