{"domain":"claix.dev","count":1,"changes":[{"captured_at":"2026-09-09T00:38:28","card_hash":"56ce5c67380a3f47065ac4e690333cd2feb7be41dd16c5b73af8b7b931588994","previous_card_hash":null,"diff":{"skills_added":[{"id":"agent-extract-doc","name":"Documento a JSON con extracción y razonamiento Modo Agente","description":"Documento a JSON con extracción y razonamiento Modo Agente Equivalente a POST /api/doc-json más fase agente. Devuelve data[] y agent_data. Requiere is_agent_mode. Formatos admitidos: .docx, .txt, .md, .rtf. Tamaño máximo: 10 MB; texto extraído máx. 300.000 caracteres. A2A skill id: agent-extract-doc. JSON DataPart must include \"skill\": \"agent-extract-doc\". Required parameters: skill, schema_id. Binary OpenAPI `file` fields are accepted as file_base64 or file_path in A2A JSON.","tags":["agent","docx","Modo Agente"],"inputModes":["application/json","text/plain"],"outputModes":["application/json","text/plain"]},{"id":"agent-extract-excel","name":"Excel/CSV a JSON con extracción y razonamiento Modo Agente","description":"Excel/CSV a JSON con extracción y razonamiento Modo Agente Equivalente a POST /api/excel-json seguido de una fase agente con Gemini. Devuelve la respuesta de extracción (data, mapa_columnas, etc.) más agent_data según agent_definition. El schema debe tener is_agent_mode activado. Misma petición multipart (file + schema_id) y mismos códigos de error que /api/excel-json; además puede devolver 400 si el schema no tiene Modo Agente o agent_definition inválida, o 502 si falla la fase agente. A2A skill id: agent-extract-excel. JSON DataPart must include \"skill\": \"agent-extract-excel\". Required parameters: skill, schema_id. Binary OpenAPI `file` fields are accepted as file_base64 or file_path in A2A JSON.","tags":["agent","excel","Modo Agente"],"inputModes":["application/json","text/plain"],"outputModes":["application/json","text/plain"]},{"id":"agent-extract-img","name":"Imagen a JSON con extracción y razonamiento Modo Agente","description":"Imagen a JSON con extracción y razonamiento Modo Agente Equivalente a POST /api/img-json más fase agente. Devuelve data[] y agent_data. Requiere is_agent_mode. Formatos: JPEG, PNG, WebP, HEIC/HEIF. Tamaño máximo: 15 MB. A2A skill id: agent-extract-img. JSON DataPart must include \"skill\": \"agent-extract-img\". Required parameters: skill, schema_id. Binary OpenAPI `file` fields are accepted as file_base64 or file_path in A2A JSON.","tags":["agent","image","Modo Agente"],"inputModes":["application/json","text/plain"],"outputModes":["application/json","text/plain"]},{"id":"agent-extract-pdf","name":"PDF a JSON con extracción y razonamiento Modo Agente","description":"PDF a JSON con extracción y razonamiento Modo Agente Equivalente a POST /api/pdf-json más fase agente. Devuelve data[] con la extracción del schema principal y agent_data con evaluaciones tipadas (booleanos, enteros, strings, opciones cerradas). Requiere is_agent_mode en el schema. Tamaño máximo del PDF: 15 MB. A2A skill id: agent-extract-pdf. JSON DataPart must include \"skill\": \"agent-extract-pdf\". Required parameters: skill, schema_id. Binary OpenAPI `file` fields are accepted as file_base64 or file_path in A2A JSON.","tags":["agent","pdf","Modo Agente"],"inputModes":["application/json","text/plain"],"outputModes":["application/json","text/plain"]},{"id":"agent-extract-txt","name":"Txt / HTML / XML a JSON con extracción y razonamiento Modo Agente","description":"Txt / HTML / XML a JSON con extracción y razonamiento Modo Agente Equivalente a POST /api/txt-json más fase agente. Recibe content + schema_id (multipart). Devuelve data[] y agent_data. Requiere is_agent_mode. Máximo 300.000 caracteres. URL pública: POST https://claix.dev/agent/txt-json. Misma tarifa que extracción txt-json (€0,10 por llamada exitosa tras el free tier). A2A skill id: agent-extract-txt. JSON DataPart must include \"skill\": \"agent-extract-txt\". Required parameters: skill, content, schema_id. Binary OpenAPI `file` fields are accepted as file_base64 or file_path in A2A JSON.","tags":["agent","text","Modo Agente"],"inputModes":["application/json","text/plain"],"outputModes":["application/json","text/plain"]},{"id":"convert-json-to-excel","name":"Convierte uno o varios documentos JSON a un archivo Excel","description":"Convierte uno o varios documentos JSON a un archivo Excel Recibe datos JSON (como archivo, texto plano o cuerpo JSON puro) y un schema_id, y devuelve un archivo .xlsx binario con las columnas en el orden y nombres definidos por el schema. Admite multipart/form-data (uno o varios campos con JSON) o application/json puro (array, objeto único, o sobre con schema_id + data/records). A2A skill id: convert-json-to-excel. JSON DataPart must include \"skill\": \"convert-json-to-excel\". Required parameters: skill. Binary OpenAPI `file` fields are accepted as file_base64 or file_path in A2A JSON.","tags":["convert","excel","json","JSON a Excel"],"inputModes":["application/json","text/plain"],"outputModes":["application/json","text/plain"]},{"id":"create-schema","name":"Crea un schema en la cuenta asociada al API key","description":"Crea un schema en la cuenta asociada al API key Llama `POST https://claix.dev/api/create-schema`. Crea un schema listo para usar en los endpoints de extracción o Modo Agente. `name`, `type` y `schema_definition` son obligatorios. Si `is_agent_mode` es true (o se envía `agent_definition`), hay que incluir `agent_definition` con al menos un parámetro. El tipo json-excel no admite Modo Agente. Esta llamada es gratuita: no se factura ni consume el cupo de extracciones. A2A skill id: create-schema. JSON DataPart must include \"skill\": \"create-schema\". Required parameters: skill, name, type, schema_definition. Binary OpenAPI `file` fields are accepted as file_base64 or file_path in A2A JSON.","tags":["schemas","Schemas"],"inputModes":["application/json","text/plain"],"outputModes":["application/json","text/plain"]},{"id":"create-space","name":"Crea un espacio de conocimiento en la cuenta del API key","description":"Crea un espacio de conocimiento en la cuenta del API key Equivale a POST https://claix.dev/create-space. Crea un espacio de conocimiento vacío en la cuenta de la API key. El único campo obligatorio es `name`. Devuelve el `space_id` que luego se envía como `space_id` opcional en los endpoints de extracción para agrupar documentos, y que identifica el espacio en POST /space-context/{space_id}. Esta llamada es gratuita: no se factura ni consume el cupo de extracciones. A2A skill id: create-space. JSON DataPart must include \"skill\": \"create-space\". Required parameters: skill, name. Binary OpenAPI `file` fields are accepted as file_base64 or file_path in A2A JSON.","tags":["spaces","Espacios de Conocimiento"],"inputModes":["application/json","text/plain"],"outputModes":["application/json","text/plain"]},{"id":"delete-document","name":"Elimina un documento persistido","description":"Elimina un documento persistido Equivale a DELETE https://claix.dev/delete-document/{document_id}. Borra de la tabla documents el documento indicado por document_id, filtrando simultáneamente por id y user_id de la API key. No admite body ni query params. Si no se elimina ninguna fila (no existe, es ajeno o ya fue purgado), responde 404 con mensaje genérico. Llamada gratuita. A2A skill id: delete-document. JSON DataPart must include \"skill\": \"delete-document\". Required parameters: skill, document_id. Binary OpenAPI `file` fields are accepted as file_base64 or file_path in A2A JSON.","tags":["context","document","Ventana de Contexto"],"inputModes":["application/json","text/plain"],"outputModes":["application/json","text/plain"]},{"id":"delete-schema","name":"Elimina un schema de la cuenta asociada al API key","description":"Elimina un schema de la cuenta asociada al API key Llama `POST https://claix.dev/api/delete-schema`. Borra el schema identificado por `schema_id` si pertenece a la cuenta del API key. También admite DELETE y el query param `?schema_id=<uuid>`. Esta llamada es gratuita: no se factura ni consume el cupo de extracciones. A2A skill id: delete-schema. JSON DataPart must include \"skill\": \"delete-schema\". Required parameters: skill, schema_id. Binary OpenAPI `file` fields are accepted as file_base64 or file_path in A2A JSON.","tags":["schemas","Schemas"],"inputModes":["application/json","text/plain"],"outputModes":["application/json","text/plain"]},{"id":"delete-space","name":"Elimina un espacio de conocimiento","description":"Elimina un espacio de conocimiento Equivale a DELETE https://claix.dev/delete-space/{space_id}. Borra el espacio indicado en la ruta, filtrando a la vez por espacio y por cuenta de la API key, de modo que un espacio ajeno nunca se puede borrar. No admite body ni query params. Si no se elimina ninguna fila (no existe o es ajeno), responde 404 con mensaje genérico. Llamada gratuita. A2A skill id: delete-space. JSON DataPart must include \"skill\": \"delete-space\". Required parameters: skill, space_id. Binary OpenAPI `file` fields are accepted as file_base64 or file_path in A2A JSON.","tags":["spaces","Espacios de Conocimiento"],"inputModes":["application/json","text/plain"],"outputModes":["application/json","text/plain"]},{"id":"extract-doc","name":"Extrae datos estructurados de un documento de texto según un schema","description":"Extrae datos estructurados de un documento de texto según un schema Recibe un archivo de documento (.docx, .txt, .md o .rtf) y un schema_id, y devuelve un único objeto JSON con los datos extraídos del documento completo, con las claves exactamente iguales a las propiedades definidas en el schema. El texto se extrae de forma determinista en el servidor ANTES de llamar a la IA (desempaquetado del .docx, decodificación UTF-8 para .txt/.md, stripping de códigos de control para .rtf); solo el texto plano resultante se envía al modelo. El formato legacy .doc (Word 97-2003) no está soportado. Igual que en pdf-json, el documento se trata como una única fuente de datos: la respuesta siempre contiene exactamente un registro en \"data\". El tamaño máximo de archivo admitido es 10 MB, y el texto extraído no puede superar los 300.000 caracteres. A2A skill id: extract-doc. JSON DataPart must include \"skill\": \"extract-doc\". Required parameters: skill, schema_id. Binary OpenAPI `file` fields are accepted as file_base64 or file_path in A2A JSON.","tags":["extract","docx","json","Documento a JSON"],"inputModes":["application/json","text/plain"],"outputModes":["application/json","text/plain"]},{"id":"extract-excel","name":"Convierte un archivo Excel o CSV a JSON según un schema","description":"Convierte un archivo Excel o CSV a JSON según un schema Recibe un archivo .xlsx o .csv y un schema_id, y devuelve los datos transformados en JSON con las claves exactamente iguales a las propiedades definidas en el schema. Si el archivo tiene varias hojas, solo se procesa la primera. A2A skill id: extract-excel. JSON DataPart must include \"skill\": \"extract-excel\". Required parameters: skill, schema_id. Binary OpenAPI `file` fields are accepted as file_base64 or file_path in A2A JSON.","tags":["extract","excel","csv","json","Excel a JSON"],"inputModes":["application/json","text/plain"],"outputModes":["application/json","text/plain"]},{"id":"extract-img","name":"Extrae datos estructurados de una imagen según un schema","description":"Extrae datos estructurados de una imagen según un schema Recibe una imagen (.jpeg, .jpg, .png, .webp, .heic o .heif) y un schema_id, y devuelve un único objeto JSON con los datos extraídos del contenido visible, con las claves exactamente iguales a las propiedades definidas en el schema. El análisis lo realiza un modelo multimodal de IA. Antes de extraer datos, el modelo evalúa si la imagen es legible (nitidez, enfoque, iluminación); si no lo es, responde con 422. Igual que en pdf-json, la imagen se trata como una única fuente de datos: la respuesta siempre contiene exactamente un registro en \"data\". El tamaño máximo de archivo admitido es 15 MB. A2A skill id: extract-img. JSON DataPart must include \"skill\": \"extract-img\". Required parameters: skill, schema_id. Binary OpenAPI `file` fields are accepted as file_base64 or file_path in A2A JSON.","tags":["extract","image","json","Imagen a JSON"],"inputModes":["application/json","text/plain"],"outputModes":["application/json","text/plain"]},{"id":"extract-pdf","name":"Extrae datos estructurados de un archivo PDF según un schema","description":"Extrae datos estructurados de un archivo PDF según un schema Recibe un archivo .pdf (de texto seleccionable o escaneado) y un schema_id, y devuelve un único objeto JSON con los datos extraídos del documento completo, con las claves exactamente iguales a las propiedades definidas en el schema. A diferencia de excel-json, el documento se trata como una única fuente de datos: la respuesta siempre contiene exactamente un registro en \"data\", nunca una fila por cada elemento del documento. El tamaño máximo de archivo admitido es 15 MB. A2A skill id: extract-pdf. JSON DataPart must include \"skill\": \"extract-pdf\". Required parameters: skill, schema_id. Binary OpenAPI `file` fields are accepted as file_base64 or file_path in A2A JSON.","tags":["extract","pdf","json","PDF a JSON"],"inputModes":["application/json","text/plain"],"outputModes":["application/json","text/plain"]},{"id":"extract-txt","name":"Extrae datos estructurados de Txt / HTML / XML según un schema","description":"Extrae datos estructurados de Txt / HTML / XML según un schema Recibe el campo `content` (texto plano, HTML o XML ya procesado) y un schema_id de tipo txt-json, y devuelve un único objeto JSON con los datos extraídos. No se sube ningún archivo. Máximo 300.000 caracteres. URL pública: POST https://claix.dev/api/txt-json. Tarifa fija €0,10 por llamada exitosa (HTTP 200) tras las 15 primeras gratis. A2A skill id: extract-txt. JSON DataPart must include \"skill\": \"extract-txt\". Required parameters: skill, content, schema_id. Binary OpenAPI `file` fields are accepted as file_base64 or file_path in A2A JSON.","tags":["extract","text","html","xml","Texto a JSON"],"inputModes":["application/json","text/plain"],"outputModes":["application/json","text/plain"]},{"id":"get-document","name":"Devuelve el contenido bruto de un documento procesado","description":"Devuelve el contenido bruto de un documento procesado Equivale a GET https://claix.dev/get-document/{document_id}. Endpoint de solo lectura, sin body ni query params. Recupera el contenido bruto (texto/markdown) y metadatos de un documento ya procesado por un endpoint de extracción con window_context activo. El documento debe pertenecer a la cuenta de la API key y no haber expirado. Esta llamada es gratuita: no se factura ni consume el cupo de extracciones. A2A skill id: get-document. JSON DataPart must include \"skill\": \"get-document\". Required parameters: skill, document_id. Binary OpenAPI `file` fields are accepted as file_base64 or file_path in A2A JSON.","tags":["context","document","Ventana de Contexto"],"inputModes":["application/json","text/plain"],"outputModes":["application/json","text/plain"]},{"id":"list-schemas","name":"Devuelve todos los schemas de la cuenta asociada al API key","description":"Devuelve todos los schemas de la cuenta asociada al API key Endpoint de solo lectura, sin body ni parámetros. Llama `GET https://claix.dev/api/schemas`. Dado un API key válido, devuelve la lista completa de schemas creados por el usuario dueño de esa key, con toda su información (id, nombre, tipo y definición), ordenados del más reciente al más antiguo. Esta llamada es gratuita: no se factura ni consume el cupo de extracciones. A2A skill id: list-schemas. JSON DataPart must include \"skill\": \"list-schemas\". Required parameters: skill. Binary OpenAPI `file` fields are accepted as file_base64 or file_path in A2A JSON.","tags":["schemas","Schemas"],"inputModes":["application/json","text/plain"],"outputModes":["application/json","text/plain"]},{"id":"query-document","name":"Responde preguntas sobre un documento persistido","description":"Responde preguntas sobre un documento persistido Equivale a POST https://claix.dev/document-context/{document_id}. Recibe un document_id en la URL (el que devolvió una extracción con window_context activo) y un array `questions` en JSON. Carga markdown_content de la tabla documents, llama a Gemini 3.6 con el mismo modelo y generationConfig que el resto de funciones, y devuelve `{ user_ask, ia_response }`. Máximo 5 preguntas y 400 caracteres por pregunta. El documento debe pertenecer a la cuenta de la API key y no haber expirado. A2A skill id: query-document. JSON DataPart must include \"skill\": \"query-document\". Required parameters: skill, document_id, questions. Binary OpenAPI `file` fields are accepted as file_base64 or file_path in A2A JSON.","tags":["context","qa","document","Ventana de Contexto"],"inputModes":["application/json","text/plain"],"outputModes":["application/json","text/plain"]},{"id":"query-space","name":"Responde preguntas cruzando todos los documentos de un espacio","description":"Responde preguntas cruzando todos los documentos de un espacio Equivale a POST https://claix.dev/space-context/{space_id}. Mismo formato de entrada y de salida que POST /document-context/{document_id}: body con un array `questions` (máximo 5 preguntas, 400 caracteres cada una) y respuesta `{ user_ask, ia_response }` alineada 1:1. La única diferencia es el alcance: en vez de un único documento, carga el markdown_content de todos los documentos vigentes cuyo `espacio_id` sea ese space_id, y responde cruzando la información entre ellos (comparar, sumar, relacionar o consolidar datos repartidos en varios archivos). El espacio debe pertenecer a la cuenta de la API key. Los documentos expirados se ignoran. Para acotar coste y mantener la precisión del modelo se cargan como máximo 50 documentos y 200.000 caracteres en total, repartidos entre ellos. A2A skill id: query-space. JSON DataPart must include \"skill\": \"query-space\". Required parameters: skill, space_id, questions. Binary OpenAPI `file` fields are accepted as file_base64 or file_path in A2A JSON.","tags":["context","qa","space","Espacios de Conocimiento"],"inputModes":["application/json","text/plain"],"outputModes":["application/json","text/plain"]}],"skills_removed":[],"skills_changed":[],"fields_changed":[{"field":"name","before":null,"after":"Claix"},{"field":"description","before":null,"after":"Claix turns unstructured documents into typed JSON and queryable memory for AI agents. Extract PDF, Excel, Word, images, and text; ask persisted documents by document_id; reason across a knowledge space with space_id."},{"field":"version","before":null,"after":"1.0.0"},{"field":"protocolVersion","before":null,"after":"0.3"},{"field":"url","before":null,"after":"https://www.claix.dev/a2a"},{"field":"documentationUrl","before":null,"after":"https://www.claix.dev/documentation"},{"field":"iconUrl","before":null,"after":"https://www.claix.dev/claix-logo.png"},{"field":"preferredTransport","before":null,"after":"JSONRPC"},{"field":"supportsAuthenticatedExtendedCard","before":null,"after":false}],"other_changed":true,"is_empty":false,"human_summary":"added 20 skills · name ∅ → Claix · description ∅ → Claix turns unstructured documents into  · version ∅ → 1.0.0 · protocolVersion ∅ → 0.3 · url ∅ → https://www.claix.dev/a2a · documentationUrl ∅ → https://www.claix.dev/documentation · iconUrl ∅ → https://www.claix.dev/claix-logo.png · preferredTransport ∅ → JSONRPC · supportsAuthenticatedExtendedCard ∅ → False"}}]}