> ## Documentation Index
> Fetch the complete documentation index at: https://docs.doconda.com/llms.txt
> Use this file to discover all available pages before exploring further.

# ¿Cómo mantener los documentos en la UE y borrarlos al terminar?

> Doconda guarda los documentos en la UE (Irlanda) y borra su contenido al acabar su retention: de 15 minutos (none) a 90 días.

Los documentos y ficheros de Doconda se guardan en la Unión Europea (Irlanda), y la IA que los procesa también
funciona en la UE. Para que no se queden más de lo necesario, elige `retention` en cada petición (de `none`, 15
minutos, a `90d`) o bórralos tú con `DELETE /documents/{id}` en cuanto los descargues.

## Pasos

1. Guarda tu API key en `DOCONDA_API_KEY` e instala el SDK (`pip install doconda` o `npm install @doconda/sdk`).
2. Crea el documento con la retención más corta que te sirva.
3. Descárgalo y bórralo, junto con los ficheros que subiste.

<CodeGroup>
  ```python Python theme={"theme":{"light":"github-light","dark":"github-dark-dimmed"}}
  from pathlib import Path
  from doconda import Doconda

  doconda = Doconda()  # lee la key de DOCONDA_API_KEY
  doc = doconda.documents.create(
      format="docx",
      content={"markdown": "# Nota interna\n\nLa reunión del lunes pasa a las 10:00."},
      retention="none",
  )
  Path("nota.docx").write_bytes(doconda.documents.download(doc["id"], "docx"))
  doconda.documents.delete(doc["id"])
  ```

  ```ts TypeScript theme={"theme":{"light":"github-light","dark":"github-dark-dimmed"}}
  import { writeFile } from "node:fs/promises"
  import { Doconda } from "@doconda/sdk"

  const doconda = new Doconda()
  const doc = await doconda.documents.create({
    format: "docx",
    content: { markdown: "# Nota interna\n\nLa reunión del lunes pasa a las 10:00." },
    retention: "none",
  })
  await writeFile("nota.docx", await doconda.documents.download(doc.id, "docx"))
  await doconda.documents.delete(doc.id)
  ```
</CodeGroup>

Si subiste ficheros, bórralos también con `files.delete(id)`.

## Qué valores admite `retention`

| `retention` | Se guarda |
| - | - |
| `none` | 15 minutos |
| `1d` | 1 día |
| `7d` | 7 días |
| `30d` | 30 días (por defecto) |
| `90d` | 90 días |

No hay «para siempre». Para todo un proyecto se elige en el panel, en **Organización → Proyectos → Se guarda**; vale
también para los ficheros que subas con `POST /files`.

## Qué devuelve

* El documento lleva `retention` y `expires_at`: cuándo se borrará su contenido (se fija al terminar).
* Al borrarse, el documento muestra `content_deleted_at`, y `/report` y `/events` responden `410 content_deleted`.
* Se borran los ficheros (Word, PDF, imágenes), tu petición, el informe, los eventos y el `metadata`. Queda solo lo
  necesario para cobrar: estado, formato, tipo, páginas y coste.

## Límites

* Un artifact con `retention: "none"` no puede guardar datos compartidos: los guarda en el navegador de cada
  visitante.
* Los enlaces de descarga caducan a los 5 minutos; `documents.outputs(id)` da otros mientras el documento exista.

## Preguntas frecuentes

<AccordionGroup>
  <Accordion title="¿Leer un fichero a Markdown guarda algo?">
    No. [`extract`](/guides/extract) no tiene retención: Doconda no guarda nada una vez te ha dado el texto, y si no
    lo recoges lo borra a los 15 minutos.
  </Accordion>

  <Accordion title="¿Cómo me llevo cada documento en cuanto termina?">
    Con los [webhooks](/guides/webhooks): te avisan al terminar y lo descargas a tu sistema.
  </Accordion>

  <Accordion title="¿Qué API uso desde Europa?">
    Todas las API keys (`ak_eu_…`) van contra `https://api.eu.doconda.com/v1`.
  </Accordion>
</AccordionGroup>

## Sigue leyendo

* [Cuánto se guarda](/guides/retention) y [Cuenta y proyectos](/guides/account#proyectos).
* [Quickstart](/quickstart).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.