---
title: "Registrar la supresión de un comprador (LOPDP)"
method: POST
path: "/privacidad/supresiones"
tags: ["privacidad"]
---

# Registrar la supresión de un comprador (LOPDP)

`POST /privacidad/supresiones`

## Request

- Base URL: `https://contadeo.com/api`
- URL: `https://contadeo.com/api/privacidad/supresiones`
- Auth: HTTP bearer

Resolución SPDP-SPD-2025-0030-R. El efecto es INMEDIATO y cumple la suspensión del art. 16: bloquea las fichas del comprador en el directorio (todas las de esa identificación, sea cual sea su tipo) y todos los comprobantes emitidos a ella. La eliminación del art. 23 se ejecuta al vencer `ejecutarAt` (dentro de las 72 horas desde la solicitud) y alcanza solo a lo que ninguna obligación ampara: el `clienteSnapshot` de los comprobantes persiste bloqueado por la retención tributaria de 7 años. Reenviar la solicitud NO reinicia el plazo: devuelve la que ya estaba. Solo owner y admin; queda registrado en la auditoría de accesos.

## Request body

- object
  - `tipoIdentificacion` '04' | '05' | '06' | '07' | '08' | '09', required: Tabla 7 del SRI: 04 RUC, 05 cédula, 06 pasaporte, 07 consumidor final, 08 identificación del exterior, 09 placa. El 07 se admite salvo con el comodín de consumidor final (13 nueves), que no identifica a ningún titular.
  - `identificacion` string, required: Identificación del comprador. El consumidor final (13 nueves) no identifica a un titular y se rechaza con 400.
  - `motivo` string: Opcional: la ley no obliga al titular a motivar su solicitud.

## Response `201`

Solicitud registrada y tratamiento suspendido

- object
  - `supresion` Supresion: Solicitud de supresión de un comprador (LOPDP). No se borra nunca: es la lista de exclusión permanente del tenant.
    - `id` string, uuid
    - `tipoIdentificacion` '04' | '05' | '06' | '07' | '08' | '09': 04=RUC, 05=cédula, 06=pasaporte, 07=consumidor final, 08=id. exterior, 09=placa
    - `identificacion` string
    - `motivo` string, nullable
    - `solicitadoAt` string, date-time
    - `ejecutarAt` string, date-time: Cuándo toca eliminar (art. 23): la solicitud más 3 días menos el margen de una pasada del cron, para que la eliminación caiga dentro de las 72 horas. Antes de esa fecha no se elimina nada.
    - `ejecutadoAt` string, date-time, nullable
    - `estado` 'pendiente' | 'ejecutado' | 'retirada': `pendiente` mientras corre el plazo del art. 23, `ejecutado` cuando el cron eliminó lo no amparado, `retirada` si el titular se echó atrás dentro del plazo (la fila se queda, pero deja de excluir a nadie).
    - `evidencia` object, nullable: Conteos de lo hecho al ejecutar: {fichasEliminadas, comprobantesBloqueados}. Nunca los datos suprimidos.
      - `fichasEliminadas` integer
      - `comprobantesBloqueados` integer
  - `fichaBloqueada` boolean: Si había alguna ficha con esa identificación en el directorio y quedó bloqueada.
  - `comprobantesBloqueados` integer: Comprobantes que esta solicitud acaba de bloquear.
  - `yaExistia` boolean: true cuando ya había una solicitud pendiente para esa identificación y se devuelve esa, con su plazo original: reenviar el formulario no abre un segundo reloj ni reinicia el del art. 23.

## Other responses

- `400`: Cuerpo inválido o validación de negocio (previene errores SRI 62/52/65/69/39)
- `403`: Rol insuficiente o acceso denegado

---

[API](https://skmtc.dev/contadeo/apis/api-de-contadeo.md) · [All operations](https://skmtc.dev/contadeo/apis/api-de-contadeo/llms.txt) · [OpenAPI document](https://skmtc.dev/contadeo/apis/api-de-contadeo/revisions/461bbb9a74ce?raw)
