> ## 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.

# Referencia

> Todos los métodos del SDK de TypeScript y del de Python.

Los dos SDK tienen los mismos métodos. En Python los nombres van en `snake_case`, el `body` se pasa como argumentos con
nombre (`create(format="docx", prompt=…)`), las respuestas son diccionarios y todo es síncrono: los streams son
generadores (`for event in …`). Python no tiene `signal`.

## `new Doconda(options?)` · `Doconda(...)`

`apiKey`, `baseUrl`, `maxRetries`, `fetch`, `language`; en Python, `api_key`, `base_url`, `max_retries`, `http_client`,
`language`. Ver
[empezar](/es/sdk/introduction) y [SDK de Python](/es/sdk/python).

## `doconda.documents`

| TypeScript | Python | Devuelve | |
| - | - | - | - |
| `create(body, { idempotencyKey?, signal? })` | `create(**body, idempotency_key=None)` | `Document` | Crea, revisa o edita y espera a que termine. |
| `createInBackground(body, options?)` | `create_in_background(**body)` | `Document` | Responde al momento (`status: "queued"`). |
| `stream(body, options?)` | `stream(**body)` | `AsyncGenerator<DocumentEvent>` / generador | Crea y da sus eventos en directo. |
| `wait(id, { signal? })` | `wait(id)` | `Document` | Espera a que termine. |
| `get(id)` | `get(id)` | `Document` | Su estado actual. |
| `list({ status? })` | `list(status=None)` | `AsyncGenerator<Document>` / generador | Todos, del más reciente al más antiguo. |
| `page({ limit?, cursor?, status? })` | `page(limit=, cursor=, status=)` | `{ data, next_cursor }` | Una sola página. |
| `events(id, { after?, signal? })` | `events(id, after=0)` | `AsyncGenerator<DocumentEvent>` / generador | Sus eventos, retomables. |
| `cancel(id)` | `cancel(id)` | `Document` | Lo para si aún no ha terminado. |
| `delete(id)` | `delete(id)` | — | Lo borra: ficheros, informe, eventos y, en un artifact, su página y sus datos. |
| `outputs(id)` | `outputs(id)` | `Output[]` | Enlaces de descarga (y la página de un artifact, que funciona hasta que caduca el documento). |
| `download(id, kind)` | `download(id, kind)` | `Uint8Array` / `bytes` | Descarga `docx`, `pdf`, `pptx`, `xlsx`… |
| `report(id)` | `report(id)` | `Report` | Problemas, arreglos y cambios. |
| `data(id)` / `data(id, collection)` | `data(id, collection=None)` | colecciones / registros | Los datos de un artifact: sus colecciones, o los 1.000 registros más recientes de una. Con `storage: "local"`, error 409 `artifact_is_local`. |

El `body` es el mismo que el de [`POST /documents`](/es/api-reference/introduction), sin `stream` ni `background`.

## `doconda.files`

| TypeScript | Python | Devuelve | |
| - | - | - | - |
| `upload(file, filename)` | `upload(file, filename=None)` | `DocondaFile` | TS: `Blob`, `File` o bytes (`Uint8Array`, `Buffer`). Python: ruta, `bytes` (con `filename`) o fichero abierto. |
| `get(id)` | `get(id)` | `DocondaFile` | Sus datos. |
| `delete(id)` | `delete(id)` | — | Lo borra. |

## `doconda.webhooks`

| TypeScript | Python | Devuelve | |
| - | - | - | - |
| `create({ url, event_types? })` | `create(url, event_types=None)` | `CreatedWebhookEndpoint` | Registra un endpoint HTTPS; trae el `secret` solo esta vez. |
| `list()` | `list()` | `WebhookEndpoint[]` | Los del proyecto. |
| `delete(id)` | `delete(id)` | — | Deja de enviarle avisos. |

## `doconda.extract(file, { filename? })` · `extract(file, filename=None)`

Cualquier archivo a Markdown para tu modelo, gratis hasta 1.000 páginas al mes; después 0,01 € cada 5 páginas
([precios](/es/guides/account#precios)). Devuelve `Extraction` (`markdown`, `chars`, `truncated`, `pages`) y
espera si tarda. `file` es un id `file_…`/`doc_…`, una URL, una ruta (Node), bytes o `Blob` (con `filename`), o `{ url }` /
`{ data, filename }`.

```ts theme={"theme":{"light":"github-light","dark":"github-dark-dimmed"}}
const { markdown } = await doconda.extract("propuesta.pdf") // un fichero de este equipo
```

## `doconda.tools({ localFiles? })` · `tools(local_files=False)`

Las herramientas de Doconda para tu agente: cada una con `name`, `description`, `inputSchema` (en Python, `input_schema`)
y `run(args)`. Si la API responde con un error, `run` no lanza: devuelve `{ error, message, fields }` (`error` es el
`code`; `fields`, solo en errores de validación) para que el modelo pueda corregirse. Mira [agentes](/es/agents/introduction).

## `verifyWebhook(rawBody, headers, secret, toleranceSeconds?)` · `verify_webhook(body, headers, secret, tolerance_seconds=300)`

Comprueba la firma Standard Webhooks de un aviso y devuelve el `WebhookEvent`. Lanza un error si la firma no cuadra o
el mensaje tiene más de 5 minutos (en Python, `ValueError`). Mira [Webhooks](/es/guides/webhooks).

## `DocondaError`

`status`, `code`, `message`, `errors`, `requestId`; en Python, `status`, `code`, `errors`, `request_id` y el mensaje en
`str(e)`. Ver [errores y reintentos](/es/sdk/errors).

## Tipos

`Document`, `DocumentEvent`, `Output`, `Report`, `ArtifactRecord` y `CreateDocumentBody` se exportan desde
`@doconda/sdk`: son los mismos con los que la API valida cada petición. En Python son diccionarios con los mismos
campos.


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