Pulsa / para buscar

Toda la documentación
docs Extraer Conjuntos de datos, almacenamiento y archivos

Se ejecuta enWrit CloudDesktop

almacenamiento ▸ lo que conservas

Datasets, almacenamiento & archivos

Cada ejecución deja algo detrás: filas en un dataset, una tabla consultable por workflow, y archivos. Esta página es el mapa de dónde aterriza esa salida, cómo consultarla y buscarla, cuánto tiempo se conserva, y los topes que aplica el almacén de archivos.

Todo aquí está acotado a tu organización: un id que no es tuyo responde 404, nunca un 403 que confirmaría que existe.

datasets ▸ uno por fuente

Datasets

Un dataset es la salida acumulada de una fuente — un crawl o un workflow. La lista te dice de dónde viene cada uno y qué tan fresco está: cada entrada lleva un source_type (crawl o workflow), su run_count y su marca de tiempo last_updated.

EndpointFunción
GET /api/v1/datasetsLista tus datasets con source_type, run_count, last_updated.
GET /api/v1/datasets/{id}/recordsRecorre los registros de un dataset, página a página.
GET /api/v1/datasets/searchUna consulta sobre todos tus datasets a la vez (semántica abajo).
DELETE /api/v1/datasets/{id} · …/recordsBorra un dataset, o solo sus registros. Requiere el scope datasets:delete.

tablas ▸ filas por ejecución

Tablas de workflow

Cada workflow expone además su salida como una tabla. Una ejecución que extrajo una lista aporta una fila por registro — una ejecución que raspó 40 productos añade 40 filas, no un solo bloque. Cada fila lleva su procedencia: run_id, run_at y status, y las entradas con las que se llamó la ejecución aparecen como columnas input.<name>, con los valores secretos censurados.

EndpointFunción
GET /api/v1/workflows/{id}/dataLa tabla en sí: filtrar, ordenar, paginar.
GET /api/v1/workflows/{id}/data/facetsValores distintos por columna, para construir filtros.
GET /api/v1/workflows/{id}/data/exportLa misma tabla como descarga (formatos abajo).
ParamSignificado
qCoincidencia por subcadena en todos los campos de datos y las entradas.
filterPares column:substring, repetibles.
filtersCláusulas JSON, para condiciones que filter no puede expresar.
sort_by / sort_dirUna columna de datos, una columna input.<name>, o run_at | status | duration_ms.
limit / offsetlimit de 1 a 500, 50 por defecto.
include_inputsAñade las columnas input.<name> a la respuesta.
collectionPivota un array anidado en una fila por elemento.

búsqueda ▸ sobre todo

Búsqueda

GET /api/v1/datasets/search ejecuta una consulta sobre todos los datasets que tienes. La misma llamada se escribe datasets.search en cada SDK:

const hits = await client.datasets.search("invoice 2291", { limit: 20 });

La semántica es deliberadamente pequeña, y conviene conocerla con exactitud:

  • Los términos separados por espacios se combinan con Y; cada término coincide por prefijo, sin distinguir mayúsculas.
  • Los operadores de frase y booleanos no están soportados a propósito; una consulta acepta como máximo 8 términos.
  • Los candidatos se limitan a las 500 coincidencias más recientes — la respuesta marca truncated cuando se alcanza el tope.
  • Los fragmentos muestran 80 caracteres de contexto alrededor de la coincidencia; limit va de 1 a 200, 50 por defecto.

export ▸ cuatro formatos

Formatos de exportación

Tablas y datasets se renderizan en cuatro formatos:

FormatoPor defecto para
jsonLas respuestas de la API.
csvLas descargas.
markdown
html

retención ▸ cuánto tiempo

Retención

RegistroSe conserva
Ejecuciones90 días
Logs90 días
Cambios detectados90 días
Eventos de auditoría400 días (~13 meses)

Estas son las ventanas por defecto.

archivos ▸ el lado de los bytes

Archivos

Los archivos viven en un almacenamiento de objetos por tenant, direccionados por un handle estable file_…, y se sirven por la Files API en /api/v1/files (subida, listado, lectura, descarga, borrado). Una descarga es un 302 a un enlace firmado, de un solo objeto, que expira en 600 s — el host de almacenamiento y sus credenciales nunca quedan expuestos.

  • Tope por archivo: 100 MB — se aplica a cada archivo, sea cual sea su origen.
  • Los archivos producidos por workflow_output, ai_session o streaming son efímeros: TTL de 24 h, salvo que los promuevas a la biblioteca.
  • Los tipos de contenido ejecutables se rechazan por defecto.
  • El control de propiedad responde 404 para todo lo que no es tuyo — nunca un 403 que delataría que existe.

cuota ▸ por plan

Cuota de almacenamiento

Cada plan lleva una cuota de almacenamiento de archivos para la organización:

PlanAlmacenamiento
Free1 GB
Starter2 GB
Pro5 GB
Growth50 GB
Scale200 GB
Enterprise1000 GB

Una cuota llena responde un 402 de almacenamiento — un error distinto del 402 de créditos. Liberar espacio (o un plan mayor) arregla el primero; los fondos arreglan el segundo.

byo ▸ tu propio bucket

Trae tu propio almacenamiento

Por defecto los bytes residen en el almacén gestionado de Writ. Puedes en cambio apuntar Writ a un bucket compatible con S3 que tú controlas — s3, minio, r2 o spaces — en Settings → Storage. La clave secreta es de solo escritura (cifrada en reposo, nunca devuelta), una prueba de conexión del lado del servidor sondea el bucket antes de activarlo, y cambiar el proveedor por defecto nunca rompe la descarga de los archivos ya guardados.

Qué sigue