---
title: Recuperar y eliminar chats, archivos y proyectos
url: https://platform.claude.com/docs/es/manage-claude/compliance-content-data
description: Accede al contenido de chats, archivos adjuntos y proyectos de organizaciones de claude.ai a través de la Compliance API.
---

<Note>
  Los endpoints de esta página están disponibles únicamente para organizaciones de Claude Enterprise. Recuperan y eliminan chats, archivos y proyectos de claude.ai; las transcripciones de sesiones en aplicaciones como Cowork y Claude Code se cubren en [Recuperar transcripciones de sesiones](https://platform.claude.com/docs/es/manage-claude/compliance-sessions). Consulta [Configurar la Compliance API](https://platform.claude.com/docs/es/manage-claude/compliance-api-access).
</Note>

<Check>
  **Alcance requerido:** `read:compliance_user_data` en la Compliance Access Key. Los endpoints de eliminación también requieren `delete:compliance_user_data`.

  **Requisito previo:** Ninguno para listar chats en toda la organización. Para filtrar la lista de chats a usuarios específicos, necesitas los IDs de usuario de [Listar usuarios de la organización](https://platform.claude.com/docs/es/manage-claude/compliance-org-data#list-organization-users). Los demás endpoints de esta página aceptan IDs de recursos directamente.
</Check>

Los endpoints de esta página exponen el contenido de chats, las cargas de archivos, los proyectos y los adjuntos de proyectos de Claude Enterprise a los revisores de cumplimiento. Admiten exportaciones de eDiscovery (descubrimiento electrónico), la aplicación de "data loss prevention" (prevención de pérdida de datos), o DLP, y respuestas a solicitudes de eliminación de cuentas. El contenido de chats, archivos y proyectos se conserva durante el tiempo que permita la política de retención de tu organización. Cuando un usuario elimina un chat en claude.ai, el contenido de sus mensajes, los archivos adjuntos, los archivos generados por herramientas y los artefactos se eliminan junto con él. La Compliance API sigue listando el chat, con `deleted_at` completado y un `name` vacío, y devuelve sus mensajes sin su contenido. Los chats que han sido eliminados de forma permanente (a través de la propia Compliance API, o después de que expire la ventana de retención de la organización) no se pueden recuperar.

Ambos alcances se otorgan únicamente en Compliance Access Keys (`sk-ant-api01-...`) creadas en claude.ai; consulta [Configurar la Compliance API](https://platform.claude.com/docs/es/manage-claude/compliance-api-access) para aprovisionar una. El alcance `read:compliance_user_data` cubre la recuperación; `delete:compliance_user_data` se requiere únicamente para los endpoints de eliminación. Los endpoints de chats, archivos, proyectos y adjuntos no están disponibles para las claves de Admin API (`sk-ant-admin01-...`); las llamadas autenticadas con una clave de Admin API devuelven [403 Forbidden](https://platform.claude.com/docs/es/manage-claude/compliance-errors#403-forbidden).

Los endpoints de esta página paginan de dos maneras; consulta [Paginar resultados](https://platform.claude.com/docs/es/manage-claude/compliance-activity-feed#paginate-results) para la referencia completa. Cada sección indica qué esquema aplica.

## Recuperar chats y mensajes

Usa [Listar chats](https://platform.claude.com/docs/es/api/compliance/apps/chats/list) para recorrer los metadatos de los chats y luego [Obtener mensajes de chat](https://platform.claude.com/docs/es/api/compliance/apps/chats/messages/list) para obtener el contenido completo de los mensajes de un chat.

Estos endpoints devuelven los chats de la experiencia unificada de Claude como cualquier otro chat: un chat que continúa en una sesión en la nube se devuelve como un solo chat. El trabajo que Claude realiza allí aparece en el `content` de cada mensaje como bloques `tool_use` (el `name` y el `input` de la herramienta) y bloques `tool_result` (su salida, asociada mediante `tool_use_id`). La cobertura de estos chats está en beta.

El endpoint de lista de chats tiene como alcance predeterminado toda la organización: omite `user_ids[]` para incluir todos los chats de tu organización principal. Agrega `order_by=updated_at` para ordenar por la hora de la última actualización. Esta combinación es la forma recomendada de exportar chats y mantener una exportación al día, porque un único bucle paginado recoge los chats nuevos, los chats con mensajes nuevos y los chats eliminados en claude.ai de todos los usuarios sin tener que enumerar primero a los usuarios. La siguiente solicitud lista los chats actualizados desde una fecha determinada.

```bash cURL
curl --fail-with-body -sS -G \
  "https://api.anthropic.com/v1/compliance/apps/chats" \
  --header "x-api-key: $ANTHROPIC_COMPLIANCE_ACCESS_KEY" \
  --header "anthropic-version: 2023-06-01" \
  --data-urlencode "order_by=updated_at" \
  --data-urlencode "updated_at.gte=2025-06-01T00:00:00Z" \
  --data-urlencode "limit=100"
```

```json Response
{
  "data": [
    {
      "id": "claude_chat_01H5CWunD7RpVJ5bHa8RCkja",
      "name": "Product Requirements Discussion",
      "created_at": "2026-04-10T08:09:10Z",
      "updated_at": "2026-04-10T09:10:11Z",
      "deleted_at": null,
      "href": "https://claude.ai/chat/abcdef01-2345-6789-abcd-ef0123456789",
      "model": "claude-opus-5-5",
      "organization_uuid": "91012d09-e48b-438e-a489-1bebfd8fa6f9",
      "project_id": "claude_proj_01KGp4eZNug9ri4kE35RSppq",
      "user": {
        "id": "user_01XyDMpzjS89pFZXqSFUBDr6",
        "email_address": "user@example.com"
      }
    }
  ],
  "has_more": true,
  "first_id": "eyJrIjogInVwZGF0ZWRfYXQiLCAidCI6ICIyMDI2LTA0LTEwVDA5OjEwOjExKzAwOjAwIiwgImlkIjogImFiY2RlZjAxLS4uLiJ9",
  "last_id": "eyJrIjogInVwZGF0ZWRfYXQiLCAidCI6ICIyMDI2LTA0LTEwVDA5OjEwOjExKzAwOjAwIiwgImlkIjogImFiY2RlZjAxLS4uLiJ9"
}
```

Los resultados se ordenan de forma ascendente según el campo `order_by`, del más antiguo al más reciente, y los empates se resuelven por `id`. La paginación usa los campos de cursor estándar `first_id`/`last_id`/`has_more` descritos en [Paginar resultados](https://platform.claude.com/docs/es/manage-claude/compliance-activity-feed#paginate-results). Para avanzar hacia chats más recientes, pasa el `last_id` de la respuesta como `after_id` en la siguiente solicitud.

Ese avance también es la forma de mantener una exportación al día entre ejecuciones: guarda el `last_id` de la última página y reanuda desde él como `after_id` en la siguiente ejecución. Como la lista está ordenada por `updated_at`, un chat vuelve a aparecer por delante de tu cursor guardado cuando recibe un mensaje nuevo, se mueve a un proyecto o se saca de él, o se elimina en claude.ai. Por lo tanto, cada ejecución incremental devuelve tanto chats completamente nuevos como chats más antiguos que han cambiado desde entonces de alguna de esas maneras. No se garantiza que otras ediciones, como un cambio de nombre, hagan que un chat vuelva a aparecer. Procesa los resultados de forma idempotente, usando el `id` del chat como clave, para manejar esas reapariciones. Un chat que vuelve con `deleted_at` completado ya no tiene contenido que obtener, así que trátalo como eliminado en lugar de actualizado.

Se aplican algunas restricciones a estas consultas de toda la organización. Los cursores son opacos y están vinculados a la clave de ordenación, por lo que un `after_id` emitido con un valor de `order_by` se rechaza con un error 400 si se usa con el otro. Los límites del filtro de tiempo también deben coincidir con la clave de ordenación: combina los límites `updated_at.*` con `order_by=updated_at`, y los límites `created_at.*` con el valor predeterminado `order_by=created_at`. No se admite la paginación hacia atrás con `before_id`, y el filtro `project_ids[]` no está disponible. Consulta [Listar chats](https://platform.claude.com/docs/es/api/compliance/apps/chats/list) para ver la referencia completa de filtros.

Para limitar la lista a usuarios específicos en su lugar, por ejemplo para un "legal hold" (retención legal) sobre custodios determinados, pasa entre 1 y 10 valores de `user_ids[]`. Obtén los ID en [Listar usuarios de la organización](https://platform.claude.com/docs/es/manage-claude/compliance-org-data#list-organization-users). Las consultas filtradas por usuario siempre se ordenan por `created_at` (pasar `order_by=updated_at` devuelve un error 400) y admiten tanto `after_id` como `before_id`. El filtrado por `project_ids[]` solo está disponible en esta forma filtrada por usuario. Combinar `user_ids[]` con cualquier límite `updated_at.*` está obsoleto y se rechazará con un error 400 después del 2026-09-22; para mantener actualizado un conjunto de custodios según la hora de actualización, ejecuta el recorrido de toda la organización con `order_by=updated_at` sin `user_ids[]` y selecciona los chats de los custodios entre sus resultados, y reserva el listado filtrado por usuario para las exportaciones ordenadas por `created_at`.

```bash cURL
curl --fail-with-body -sS -G \
  "https://api.anthropic.com/v1/compliance/apps/chats" \
  --header "x-api-key: $ANTHROPIC_COMPLIANCE_ACCESS_KEY" \
  --header "anthropic-version: 2023-06-01" \
  --data-urlencode "user_ids[]=user_01XyDMpzjS89pFZXqSFUBDr6" \
  --data-urlencode "created_at.gte=2025-06-01T00:00:00Z" \
  --data-urlencode "limit=100"
```

La respuesta de la lista solo contiene metadatos de los chats. Para obtener el contenido real del chat, los archivos adjuntos y los artefactos en línea (documentos estructurados que Claude genera dentro de un chat), llama después al endpoint de mensajes para cada ID de chat:

```bash cURL
chat_id="claude_chat_01H5CWunD7RpVJ5bHa8RCkja"

curl --fail-with-body -sS \
  "https://api.anthropic.com/v1/compliance/apps/chats/$chat_id/messages" \
  --header "x-api-key: $ANTHROPIC_COMPLIANCE_ACCESS_KEY" \
  --header "anthropic-version: 2023-06-01"
```

El endpoint de mensajes devuelve los metadatos del chat junto con un arreglo `chat_messages` ordenado por `created_at`. Cuando se omite `limit`, se devuelve el conjunto completo de mensajes en una sola respuesta; pasa `limit`, `after_id` o `before_id` para paginar chats muy largos. El endpoint también acepta límites de rango `created_at.*` y `updated_at.*` (`gt`, `gte`, `lt`, `lte`) y un parámetro `order` (`asc` o `desc`). Consulta [Obtener mensajes de chat](https://platform.claude.com/docs/es/api/compliance/apps/chats/messages/list) para ver la lista completa de parámetros. Para los mensajes del usuario, `created_at` es el momento en que se envió el mensaje; para los mensajes del asistente, es el momento en que Claude terminó de generar el mensaje. Cada mensaje contiene su contenido de texto y, cuando existen, los archivos subidos (normalmente en los mensajes del usuario), los archivos generados por herramientas y los artefactos que el asistente produjo o actualizó (normalmente en los mensajes del asistente):

```json Response
{
  "id": "claude_chat_01H5CWunD7RpVJ5bHa8RCkja",
  "name": "Product Requirements Discussion",
  "created_at": "2026-04-10T08:09:10Z",
  "updated_at": "2026-04-10T09:10:11Z",
  "deleted_at": null,
  "href": "https://claude.ai/chat/abcdef01-2345-6789-abcd-ef0123456789",
  "model": "claude-opus-5-5",
  "organization_uuid": "91012d09-e48b-438e-a489-1bebfd8fa6f9",
  "project_id": "claude_proj_01KGp4eZNug9ri4kE35RSppq",
  "user": {
    "id": "user_01XyDMpzjS89pFZXqSFUBDr6",
    "email_address": "user@example.com"
  },
  "chat_messages": [
    {
      "id": "claude_chat_msg_01VnBPkLmtj7YdW5QrXKEA8c",
      "role": "user",
      "created_at": "2026-04-10T08:09:10Z",
      "content": [
        {
          "type": "text",
          "text": "Can you help me draft requirements for our new dashboard feature?"
        }
      ],
      "files": [
        {
          "id": "claude_file_01UaT9wBcDfGhJkLmNpQrSv7",
          "filename": "dashboard_mockup_v1.pdf",
          "mime_type": "application/pdf",
          "size_bytes": 482133,
          "md5": "56367e4d2705cc9c025ad07424e944f0",
          "created_at": "2026-04-10T08:09:10Z"
        }
      ]
    },
    {
      "id": "claude_chat_msg_01M8tFcHwbQ2kY6NpEjRZv4D",
      "role": "assistant",
      "created_at": "2026-04-10T08:09:11Z",
      "content": [
        {
          "type": "text",
          "text": "I'd be happy to help you draft requirements for your dashboard feature..."
        }
      ],
      "generated_files": [
        {
          "id": "claude_gen_file_01TbR8wAcCeFhJkLnPqStUvX",
          "filename": "requirements_summary.csv",
          "mime_type": "text/csv",
          "size_bytes": 2048,
          "md5": "89968669461d95416549937168269d6b"
        }
      ],
      "artifacts": [
        {
          "id": "claude_artifact_01HqRsTuVwXyZa2BcDeFgH4J",
          "version_id": "claude_artifact_version_01KmNpQrSt3UvWxYz5AbCdEfG",
          "title": "Dashboard Requirements Draft",
          "artifact_type": "text/markdown"
        }
      ]
    }
  ],
  "has_more": false,
  "first_id": "eyJtc2dfdXVpZCI6ICIwZjcwYjA2Ni0uLi4ifQ==",
  "last_id": "eyJtc2dfdXVpZCI6ICJhNGUwYjE3Mi0uLi4ifQ=="
}
```

`files`, `generated_files` y `artifacts` pueden ser `null` en un mensaje determinado. `files` son los archivos y adjuntos de texto (por ejemplo, PDF, imágenes, hojas de cálculo, documentos y texto pegado) que el usuario adjuntó al mensaje, tal como claude.ai los almacenó. `generated_files` son archivos binarios que el asistente creó durante la conversación mediante el uso de herramientas (por ejemplo, PDF, hojas de cálculo o presentaciones de diapositivas). `artifacts` son documentos versionados (por ejemplo, código o markdown) que el asistente generó o actualizó en su respuesta; un artefacto puede revisarse a lo largo de varios turnos del asistente en el mismo chat, y cada revisión aparece como un nuevo `version_id` bajo el mismo `id` de artefacto. Pasa el `id` de cada entrada (o el `version_id` en el caso de los artefactos) al endpoint de contenido correspondiente en [Recuperar archivos y artefactos](https://platform.claude.com/docs/es/manage-claude/compliance-content-data#retrieve-files-and-artifacts) para descargarla.

## Recuperar archivos y artefactos

Los archivos y artefactos se descargan por ID. Salvo los documentos de Claude Docs (consulta el final de esta sección), no se listan de forma independiente. Los ID provienen del endpoint de mensajes del chat en [Recuperar chats y mensajes](https://platform.claude.com/docs/es/manage-claude/compliance-content-data#retrieve-chats-and-messages) (los arreglos `files`, `generated_files` y `artifacts` de cada mensaje) o, para los archivos subidos a nivel de proyecto, del [endpoint de adjuntos del proyecto](https://platform.claude.com/docs/es/manage-claude/compliance-content-data#retrieve-projects-and-attachments).

Elige el endpoint que corresponda a tu tipo de ID y a los datos que necesitas. El mismo endpoint de contenido de archivos sirve tanto para archivos de chat como para archivos de proyecto.

| Tienes                         | Quieres                                                      | Usa este endpoint                                                                                                                  |
| ------------------------------ | ------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------- |
| ID `claude_file_*`             | El contenido del archivo                                     | [Descargar contenido de archivo](https://platform.claude.com/docs/es/api/compliance/apps/chats/files/download)                     |
| ID `claude_file_*`             | Solo los metadatos del archivo                               | [Obtener metadatos de archivo](https://platform.claude.com/docs/es/api/compliance/apps/chats/files/retrieve)                       |
| ID `claude_gen_file_*`         | El contenido binario de un archivo generado por herramientas | [Descargar un archivo generado por Claude](https://platform.claude.com/docs/es/api/compliance/apps/chats/generated_files/download) |
| ID `claude_gen_file_*`         | Solo los metadatos de un archivo generado por herramientas   | [Obtener metadatos de archivo generado](https://platform.claude.com/docs/es/api/compliance/apps/chats/generated_files/retrieve)    |
| ID `claude_artifact_version_*` | El texto de una versión de artefacto                         | [Descargar contenido de artefacto](https://platform.claude.com/docs/es/api/compliance/apps/artifacts/download)                     |
| ID `claude_artifact_version_*` | Solo los metadatos de la versión del artefacto               | [Obtener metadatos de artefacto](https://platform.claude.com/docs/es/api/compliance/apps/artifacts/retrieve)                       |
| ID `claude_proj_doc_*`         | El contenido en texto plano de un documento de proyecto      | [Obtener contenido de documento de proyecto](https://platform.claude.com/docs/es/api/compliance/apps/projects/documents/retrieve)  |
| ID `claude_proj_doc_*`         | Solo los metadatos de un documento de proyecto               | [Obtener metadatos de documento de proyecto](https://platform.claude.com/docs/es/api/compliance/apps/projects/documents/metadata)  |

El endpoint de contenido de archivos transmite por streaming el contenido que claude.ai almacenó para el archivo como una respuesta binaria fragmentada (chunked). Ese contenido no siempre es idéntico al archivo que el usuario cargó. Las imágenes pueden servirse como una copia procesada en lugar de los bytes cargados. Algunos documentos adjuntos a chats (por ejemplo, archivos de Word, archivos de PowerPoint y algunos PDFs) se almacenan como el texto que claude.ai extrajo de ellos. Para estos documentos, el endpoint devuelve el texto extraído bajo el nombre de archivo original, y el documento original no está disponible a través de la Compliance API. Los campos `size_bytes` y `md5` describen el contenido almacenado en lugar del archivo cargado. El nombre del archivo y el `mime_type` pueden seguir indicando el formato del documento cargado. Identifica el formato de un archivo a partir de los bytes devueltos, no a partir de su nombre o tipo declarado.

La respuesta incluye estos encabezados:

* `Content-Disposition: attachment; filename*=utf-8''<percent-encoded filename>` contiene el nombre de archivo original de la carga en la forma extendida de RFC 5987. La forma extendida se usa para todos los nombres de archivo, no solo para los que no son ASCII.
* `Content-Type` contiene el tipo MIME registrado para el contenido almacenado, que para un documento almacenado como texto extraído puede seguir indicando el formato del documento original.
* `Content-MD5` contiene el digest MD5 de los bytes servidos, codificado en base64 como se especifica en RFC 1864.
* `Transfer-Encoding: chunked` siempre está presente.

```bash cURL
file_id="claude_file_01UaT9wBcDfGhJkLmNpQrSv7"

curl --fail-with-body -sS \
  "https://api.anthropic.com/v1/compliance/apps/chats/files/$file_id/content" \
  --header "x-api-key: $ANTHROPIC_COMPLIANCE_ACCESS_KEY" \
  --header "anthropic-version: 2023-06-01" \
  --output "dashboard_mockup_v1.pdf"
```

En curl, la opción `--remote-header-name` (`-J`), que normalmente guarda una descarga con el nombre de archivo de `Content-Disposition`, no lee la forma `filename*`, así que asigna tú mismo el nombre al archivo guardado con `--output`. En un script, toma el nombre del campo `filename` del archivo en la respuesta de los mensajes del chat o de [Obtener metadatos del archivo](https://platform.claude.com/docs/es/api/compliance/apps/chats/files/retrieve), o decodifica `filename*`. En cualquier caso, es el nombre que el usuario le dio al archivo subido, así que trátalo como no confiable antes de usarlo como ruta de salida: conserva solo el nombre base, permite solo caracteres que sean seguros en tu sistema de archivos y rechaza los nombres que comiencen con `-` o `.`.

A diferencia del endpoint de contenido de archivos, el endpoint de contenido de artefactos devuelve un objeto JSON. Pasa el `version_id` de una de las entradas del arreglo `artifacts` de un mensaje del asistente, no el `id` estable del artefacto; cada nueva versión de un artefacto tiene su propio `version_id`. El campo `content` de la respuesta contiene exactamente el texto de esa versión, y sus campos `title` y `artifact_type` describen el artefacto. [Obtener metadatos del artefacto](https://platform.claude.com/docs/es/api/compliance/apps/artifacts/retrieve) calcula `size_bytes` y `md5` sobre la codificación UTF-8 de ese texto, así que compáralos con el valor de `content` y no con el cuerpo completo de la respuesta.

Los documentos de Claude Docs se listan por separado, mediante [Listar artefactos de código](https://platform.claude.com/docs/es/api/compliance/code/artifacts/list), con `artifact_type` establecido en `claude_docs`. La lista `versions` de un documento está vacía y su `published_version_id` es `null`. Para descargar el texto actual de un documento, llama a `GET /v1/compliance/apps/code/artifacts/{artifact_id}/content?multi_file_format=zip`. Devuelve un archivo ZIP con un archivo de Word (.docx) por cada pestaña que contenga texto. No se incluyen los comentarios, los archivos subidos ni el historial de ediciones. La descarga de Claude Docs a través de la Compliance API está en beta.

## Recuperar proyectos y adjuntos

Los proyectos agrupan chats relacionados junto con instrucciones personalizadas, contenido de base de conocimiento y archivos o documentos de texto adjuntos. La Compliance API expone los metadatos del proyecto, los detalles del proyecto y la lista de adjuntos que pertenecen a un proyecto.

* [Listar proyectos](https://platform.claude.com/docs/es/api/compliance/apps/projects/list)
* [Obtener detalles de proyecto](https://platform.claude.com/docs/es/api/compliance/apps/projects/retrieve)
* [Listar adjuntos de proyecto](https://platform.claude.com/docs/es/api/compliance/apps/projects/attachments/list)
* [Obtener contenido de documento de proyecto](https://platform.claude.com/docs/es/api/compliance/apps/projects/documents/retrieve)

Los resultados de proyectos se ordenan por fecha de creación de forma ascendente. Los resultados de adjuntos se ordenan por `created_at` de forma ascendente, con los empates resueltos por `id`. Las respuestas de lista de proyectos y lista de adjuntos paginan con un token de página opaco `next_page` en lugar de los cursores `first_id`/`last_id` que usan los chats y el Activity Feed. Pasa el token de vuelta como el parámetro de consulta `page` en la siguiente solicitud.

### Archivos de proyecto frente a documentos de proyecto

Un adjunto de proyecto tiene una de dos formas distintas, identificadas por el discriminador `type` de cada entrada:

Las entradas con `type` igual a `project_file` son cargas de archivos (PDFs, imágenes, hojas de cálculo) cuyos IDs comienzan con `claude_file_`; descárgalas con [Descargar contenido de archivo](https://platform.claude.com/docs/es/api/compliance/apps/chats/files/download). Las entradas con `type` igual a `project_doc` son documentos de texto plano (siempre `text/plain`) cuyos IDs comienzan con `claude_proj_doc_`, incluidos documentos como archivos de Word que claude.ai convierte a texto cuando se agregan a un proyecto; obténlas con [Obtener contenido de documento de proyecto](https://platform.claude.com/docs/es/api/compliance/apps/projects/documents/retrieve).

Un consumidor que recorre la lista de adjuntos debe bifurcar según `type` y llamar al endpoint de contenido correspondiente para cada entrada. La siguiente solicitud lista una página de adjuntos; pagina pasando `next_page` de vuelta como el parámetro `page` hasta que `has_more` sea `false`.

```bash cURL
project_id="claude_proj_01KGp4eZNug9ri4kE35RSppq"

curl --fail-with-body -sS -G \
  "https://api.anthropic.com/v1/compliance/apps/projects/$project_id/attachments" \
  --header "x-api-key: $ANTHROPIC_COMPLIANCE_ACCESS_KEY" \
  --header "anthropic-version: 2023-06-01"
```

```json Response
{
  "data": [
    {
      "id": "claude_file_01UaT9wBcDfGhJkLmNpQrSv7",
      "created_at": "2026-04-10T08:09:10Z",
      "filename": "dashboard_mockup_v1.pdf",
      "mime_type": "application/pdf",
      "size_bytes": 482133,
      "md5": "56367e4d2705cc9c025ad07424e944f0",
      "type": "project_file"
    },
    {
      "id": "claude_proj_doc_01YnT8sBcWvUtXzQpMkRfDgH",
      "created_at": "2026-04-10T08:09:11Z",
      "filename": "requirements.md",
      "mime_type": "text/plain",
      "type": "project_doc"
    }
  ],
  "has_more": false,
  "next_page": null
}
```

## Eliminar contenido

<Warning>
  Toda eliminación exitosa es permanente e inmediata. No hay ventana de recuperación.
</Warning>

La Compliance API expone endpoints de eliminación permanente para chats, archivos, documentos de proyecto y proyectos completos. Un chat eliminado de forma permanente no se puede restaurar, y deja de aparecer en las respuestas de lista a partir de entonces.

* [Eliminar chat](https://platform.claude.com/docs/es/api/compliance/apps/chats/delete): también elimina los mensajes del chat y cualquier archivo adjunto a esos mensajes.
* [Eliminar archivo](https://platform.claude.com/docs/es/api/compliance/apps/chats/files/delete): maneja tanto archivos de chat como archivos de proyecto.
* [Eliminar documento de proyecto](https://platform.claude.com/docs/es/api/compliance/apps/projects/documents/delete): elimina un único documento de proyecto por ID.
* [Eliminar proyecto](https://platform.claude.com/docs/es/api/compliance/apps/projects/delete): consulta [Desvincular chats antes de eliminar un proyecto](https://platform.claude.com/docs/es/manage-claude/compliance-content-data#detach-chats-before-deleting-a-project).

Para un chat de la experiencia unificada de Claude, [Eliminar chat](https://platform.claude.com/docs/es/api/compliance/apps/chats/delete) también elimina las sesiones en la nube que se iniciaron para el chat. No elimina las sesiones que esas sesiones iniciaron.

Los cuatro endpoints requieren el alcance `delete:compliance_user_data`, que se otorga por separado del alcance de lectura cuando se crea la Compliance Access Key.

La siguiente solicitud elimina un chat. El mismo patrón aplica a los demás endpoints de eliminación; solo cambia la URL.

```bash cURL
# ADVERTENCIA: Esta operación elimina PERMANENTEMENTE el chat, todos sus mensajes
# y los archivos adjuntos. La eliminación es inmediata y no se puede deshacer.
# Requiere el alcance `delete:compliance_user_data`, que se otorga por separado
# de `read:compliance_user_data` al crear la Compliance Access Key.
# Asegúrate de tener autorización explícita antes de ejecutar esto.

chat_id="claude_chat_01H5CWunD7RpVJ5bHa8RCkja"

curl --fail-with-body -sS -X DELETE \
  "https://api.anthropic.com/v1/compliance/apps/chats/$chat_id" \
  --header "x-api-key: $ANTHROPIC_COMPLIANCE_ACCESS_KEY" \
  --header "anthropic-version: 2023-06-01"
```

```json Response
{
  "id": "claude_chat_01H5CWunD7RpVJ5bHa8RCkja",
  "type": "claude_chat_deleted"
}
```

Cada eliminación exitosa devuelve un pequeño sobre de confirmación con un `id` y un discriminador `type`. El endpoint de chats devuelve `claude_chat_deleted`; verifica el campo `type` antes de considerar la eliminación como confirmada. Consulta el esquema de respuesta en la página de [referencia de la API](https://platform.claude.com/docs/es/api/compliance/apps) de cada endpoint de eliminación para conocer el valor exacto de `type` que devuelven los demás endpoints.

### Desvincular chats antes de eliminar un proyecto

Un proyecto no se puede eliminar mientras tenga chats vinculados. La API devuelve 409 con este cuerpo:

```json
{
  "error": {
    "type": "invalid_request_error",
    "message": "The \"claude_proj_01KGp4eZNug9ri4kE35RSppq\" project cannot be deleted as it has chats attached to it. Delete or detach all chats, and try deleting the project again."
  }
}
```

Para resolverlo, lista los chats del proyecto con `GET /v1/compliance/apps/chats?user_ids[]={user_id}&project_ids[]={project_id}` (el filtro `project_ids[]` requiere al menos un valor de `user_ids[]`; enumera los IDs mediante [Listar usuarios de la organización](https://platform.claude.com/docs/es/manage-claude/compliance-org-data#list-organization-users)), elimina cada uno con `DELETE /v1/compliance/apps/chats/{claude_chat_id}` (o muévelo fuera del proyecto desde claude.ai), y luego reintenta la eliminación del proyecto.

## Próximos pasos

<CardGroup cols={2}>
  <Card title="Referencia de la API" href="https://platform.claude.com/docs/es/api/compliance/apps">
    El esquema completo de solicitud y respuesta para cada endpoint de chats, archivos, proyectos y artefactos.
  </Card>

  <Card title="Recuperar transcripciones de sesiones" href="https://platform.claude.com/docs/es/manage-claude/compliance-sessions">
    Lista las sesiones que tus usuarios ejecutan en aplicaciones y agentes de Claude, como Cowork y Claude Code, y recupera sus transcripciones.
  </Card>

  <Card title="Listar organizaciones, usuarios, roles, grupos y configuraciones" href="https://platform.claude.com/docs/es/manage-claude/compliance-org-data">
    Enumera las personas y los equipos asociados con los chats y proyectos de esta página.
  </Card>
</CardGroup>
