Claix
www.claix.dev
· Claix
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.
www.claix.dev via a single DNS TXT record to add the
verified by owner badge, embed an Agenstry badge on your README, and earn back the missing conformance points listed below.
Dispute or improve this rating
D
Conformance score: 51/100
D-grade: significant issues, auth-gated, partially broken, or stale.
click to expand breakdown ▾
click to collapse breakdown ▴
agent-card.json changed within the last 7 days. We track these so downstream callers can react.
Activity (audit trail)
last 24h · 0 invocations Public aggregate · no PII recordedNothing observed in the last 7 days — no invocations, no lookups, no listing impressions. Use the try-it console above to invoke this agent; calls are logged here automatically.
Card history
1 snapshot Every change toagent-card.json
| Captured | Hash | |
|---|---|---|
| 2026-09-09 01:11:56 current | 56ce5c67380a… |
view → |
Endpoints
| Agent card | https://www.claix.dev/.well-known/agent-card.json |
| Provider | https://www.claix.dev |
| Docs | https://www.claix.dev/documentation |
Skills · 20 declared · mapped to canonical taxonomy
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…
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…
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 obj…
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…
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 …
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,…
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 p…
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 devol…
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 …
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 l…
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 esp…
Elimina un documento persistido Equivale a DELETE https://claix.dev/delete-document/{document_id}. Borra de la tabla documents el documento indicado por documen…
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 ex…
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 …
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_mod…
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. …
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). Devu…
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…
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 …
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…
Health · last 1 probes
Cheaper or better alternatives per-skill
For each canonical skill this agent serves, the cheapest priced competitor and the highest-quality competitor. Only shown when at least one beats the current agent. Skills where this agent is already best on both axes are hidden.
Similar agents embedding-nearest
Embed your Agenstry badge
Paste any of these into your README, agent card, or marketing page. Each badge auto-updates and links back to this page.
Markdown / HTML snippets
[](https://agenstry.com/agents/www.claix.dev) [](https://agenstry.com/agents/www.claix.dev) [](https://agenstry.com/agents/www.claix.dev) [](https://agenstry.com/agents/www.claix.dev)
Audit-grade evidence bundle
JSON snapshot for vendor-review files. Add ?sign=true for a JWS-signed envelope verifiable against
our JWKS. See the methodology.
Raw agent card JSON
{
"name": "Claix",
"description": "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.",
"version": "1.0.0",
"url": "https://www.claix.dev/a2a",
"preferredTransport": "JSONRPC",
"protocolVersion": "0.3",
"capabilities": {
"streaming": false,
"pushNotifications": true,
"extensions": [
{
"uri": "https://claix.dev/a2a/extensions/openapi-skills",
"description": "JSON Schema of each skill's input, generated from public/openapi.yaml. Binary file fields are exposed as file_base64/file_path for A2A DataParts.",
"required": false,
"params": {
"extract-excel": {
"openApiOperationId": "excelToJson",
"openApiPath": "/excel-json",
"openApiMethod": "POST",
"inputSchema": {
"type": "object",
"additionalProperties": true,
"required": [
"skill",
"schema_id"
],
"properties": {
"skill": {
"type": "string",
"description": "Skill identifier matching the Agent Card skill id."
},
"file_base64": {
"type": "string",
"description": "Base64-encoded file (or data URL). A2A JSON equivalent of OpenAPI multipart `file`."
},
"file_path": {
"type": "string",
"format": "uri",
"description": "Public https URL of the file to download."
},
"filename": {
"type": "string",
"description": "Original filename with extension."
},
"schema_id": {
"type": "string",
"format": "uuid",
"description": "Identificador del schema (previamente creado) de tipo \"Excel/CSV a JSON\".\n",
"example": "8f14e45f-ceea-4e6f-8b23-1e2d3c4b5a6f"
},
"space_id": {
"type": "string",
"format": "uuid",
"description": "Opcional. Espacio de conocimiento al que se asocia el documento guardado. Debe pertenecer al mismo usuario due\u00f1o de la API key. Solo tiene efecto cuando el schema tiene la ventana de contexto activada, que es cuando el documento se guarda.\n",
"example": "5b9e2c14-7d3a-4f8b-9e1c-6a0d4b8f2e7c"
}
}
}
},
"convert-json-to-excel": {
"openApiOperationId": "jsonToExcel",
"openApiPath": "/json-excel",
"openApiMethod": "POST",
"inputSchema": {
"type": "object",
"additionalProperties": true,
"required": [
"skill"
],
"properties": {
"skill": {
"type": "string",
"description": "Skill identifier matching the Agent Card skill id."
},
"schema_id": {
"type": "string",
"format": "uuid",
"example": "1f9e6103-9221-4c22-8a3a-8592d8b0eb38",
"description": "UUID del schema a utilizar. Alternativa a incluirlo en el cuerpo JSON (solo aplica cuando se usa application/json puro sin sobre).\n"
}
}
}
},
"extract-pdf": {
"openApiOperationId": "pdfToJson",
"openApiPath": "/pdf-json",
"openApiMethod": "POST",
"inputSchema": {
"type": "object",
"additionalProperties": true,
"required": [
"skill",
"schema_id"
],
"properties": {
"skill": {
"type": "string",
"description": "Skill identifier matching the Agent Card skill id."
},
"file_base64": {
"type": "string",
"description": "Base64-encoded file (or data URL). A2A JSON equivalent of OpenAPI multipart `file`."
},
"file_path": {
"type": "string",
"format": "uri",
"description": "Public https URL of the file to download."
},
"filename": {
"type": "string",
"description": "Original filename with extension."
},
"schema_id": {
"type": "string",
"format": "uuid",
"description": "Identificador del schema (previamente creado) de tipo \"PDF a JSON\".\n",
"example": "3c7a9f21-4b8e-4d1a-9c6f-2e0d8a5b7c4f"
},
"space_id": {
"type": "string",
"format": "uuid",
"description": "Opcional. Espacio de conocimiento al que se asocia el documento guardado. Debe pertenecer al mismo usuario due\u00f1o de la API key. Solo tiene efecto cuando el schema tiene la ventana de contexto activada, que es cuando el documento se guarda.\n",
"example": "5b9e2c14-7d3a-4f8b-9e1c-6a0d4b8f2e7c"
}
}
}
},
"extract-doc": {
"openApiOperationId": "docToJson",
"openApiPath": "/doc-json",
"openApiMethod": "POST",
"inputSchema": {
"type": "object",
"additionalProperties": true,
"required": [
"skill",
"schema_id"
],
"properties": {
"skill": {
"type": "string",
"description": "Skill identifier matching the Agent Card skill id."
},
"file_base64": {
"type": "string",
"description": "Base64-encoded file (or data URL). A2A JSON equivalent of OpenAPI multipart `file`."
},
"file_path": {
"type": "string",
"format": "uri",
"description": "Public https URL of the file to download."
},
"filename": {
"type": "string",
"description": "Original filename with extension."
},
"schema_id": {
"type": "string",
"format": "uuid",
"description": "Identificador del schema (previamente creado) de tipo \"Documento a JSON\".\n",
"example": "b980cfe7-61ef-4a5a-9724-881c8a5541e2"
},
"space_id": {
"type": "string",
"format": "uuid",
"description": "Opcional. Espacio de conocimiento al que se asocia el documento guardado. Debe pertenecer al mismo usuario due\u00f1o de la API key. Solo tiene efecto cuando el schema tiene la ventana de contexto activada, que es cuando el documento se guarda.\n",
"example": "5b9e2c14-7d3a-4f8b-9e1c-6a0d4b8f2e7c"
}
}
}
},
"extract-img": {
"openApiOperationId": "imgToJson",
"openApiPath": "/img-json",
"openApiMethod": "POST",
"inputSchema": {
"type": "object",
"additionalProperties": true,
"required": [
"skill",
"schema_id"
],
"properties": {
"skill": {
"type": "string",
"description": "Skill identifier matching the Agent Card skill id."
},
"file_base64": {
"type": "string",
"description": "Base64-encoded file (or data URL). A2A JSON equivalent of OpenAPI multipart `file`."
},
"file_path": {
"type": "string",
"format": "uri",
"description": "Public https URL of the file to download."
},
"filename": {
"type": "string",
"description": "Original filename with extension."
},
"schema_id": {
"type": "string",
"format": "uuid",
"description": "Identificador del schema (previamente creado) de tipo \"Imagen a JSON\".\n",
"example": "3c7a9f21-4b8e-4d1a-9c6f-2e0d8a5b7c4f"
},
"space_id": {
"type": "string",
"format": "uuid",
"description": "Opcional. Espacio de conocimiento al que se asocia el documento guardado. Debe pertenecer al mismo usuario due\u00f1o de la API key. Solo tiene efecto cuando el schema tiene la ventana de contexto activada, que es cuando el documento se guarda.\n",
"example": "5b9e2c14-7d3a-4f8b-9e1c-6a0d4b8f2e7c"
}
}
}
},
"extract-txt": {
"openApiOperationId": "txtToJson",
"openApiPath": "/txt-json",
"openApiMethod": "POST",
"inputSchema": {
"type": "object",
"additionalProperties": true,
"required": [
"skill",
"content",
"schema_id"
],
"properties": {
"skill": {
"type": "string",
"description": "Skill identifier matching the Agent Card skill id."
},
"content": {
"type": "string",
"description": "Texto plano, HTML o XML ya procesado. No es un archivo. M\u00e1ximo 300.000 caracteres.\n",
"example": "<html><body><h1>Factura F-2026-00456</h1></body></html>"
},
"schema_id": {
"type": "string",
"format": "uuid",
"description": "Identificador del schema (previamente creado) de tipo txt-json.\n",
"example": "b980cfe7-61ef-4a5a-9724-881c8a5541e2"
},
"space_id": {
"type": "string",
"format": "uuid",
"description": "Opcional. Espacio de conocimiento al que se asocia el documento guardado. Debe pertenecer al mismo usuario due\u00f1o de la API key. Solo tiene efecto cuando el schema tiene la ventana de contexto activada, que es cuando el documento se guarda.\n",
"example": "5b9e2c14-7d3a-4f8b-9e1c-6a0d4b8f2e7c"
}
}
}
},
"get-document": {
"openApiOperationId": "getDocument",
"openApiPath": "/get-document/{document_id}",
"openApiMethod": "GET",
"inputSchema": {
"type": "object",
"additionalProperties": true,
"required": [
"skill",
"document_id"
],
"properties": {
"skill": {
"type": "string",
"description": "Skill identifier matching the Agent Card skill id."
},
"document_id": {
"type": "string",
"format": "uuid",
"description": "UUID del documento persistido en documents."
}
}
}
},
"query-document": {
"openApiOperationId": "documentContextAsk",
"openApiPath": "/document-context/{document_id}",
"openApiMethod": "POST",
"inputSchema": {
"type": "object",
"additionalProperties": true,
"required": [
"skill",
"document_id",
"questions"
],
"properties": {
"skill": {
"type": "string",
"description": "Skill identifier matching the Agent Card skill id."
},
"document_id": {
"type": "string",
"format": "uuid",
"description": "UUID del documento persistido en documents."
},
"questions": {
"type": "array",
"minItems": 1,
"maxItems": 5,
"items": {
"type": "string",
"minLength": 1,
"maxLength": 400
},
"description": "Preguntas a responder usando solo el markdown persistido. M\u00e1ximo 5 por turno, 400 caracteres cada una.\n",
"example": [
"\u00bfCu\u00e1l es la penalizaci\u00f3n exacta por cancelaci\u00f3n anticipada?",
"\u00bfQu\u00e9 empresa figura como arrendataria y cu\u00e1l es su CIF?"
]
}
}
}
},
"query-space": {
"openApiOperationId": "spaceContextAsk",
"openApiPath": "/space-context/{space_id}",
"openApiMethod": "POST",
"inputSchema": {
"type": "object",
"additionalProperties": true,
"required": [
"skill",
"space_id",
"questions"
],
"properties": {
"skill": {
"type": "string",
"description": "Skill identifier matching the Agent Card skill id."
},
"space_id": {
"type": "string",
"format": "uuid",
"description": "UUID del espacio de conocimiento en espacios_conocimiento. Es el mismo valor que se env\u00eda como `space_id` opcional en los endpoints de extracci\u00f3n para agrupar el documento en ese espacio.\n"
},
"questions": {
"type": "array",
"minItems": 1,
"maxItems": 5,
"items": {
"type": "string",
"minLength": 1,
"maxLength": 400
},
"description": "Preguntas a responder usando solo el markdown persistido de los documentos del espacio. Mismo formato y mismos l\u00edmites que document-context: m\u00e1ximo 5 por turno, 400 caracteres cada una.\n",
"example": [
"\u00bfQu\u00e9 proveedor factura m\u00e1s en total sumando todas las facturas?",
"\u00bfHay alg\u00fan contrato cuyo importe no coincida con su factura?"
]
}
}
}
},
"create-space": {
"openApiOperationId": "createSpace",
"openApiPath": "/create-space",
"openApiMethod": "POST",
"inputSchema": {
"type": "object",
"additionalProperties": true,
"required": [
"skill",
"name"
],
"properties": {
"skill": {
"type": "string",
"description": "Skill identifier matching the Agent Card skill id."
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Nombre del espacio de conocimiento. Es el \u00fanico campo de entrada. M\u00e1ximo 200 caracteres.\n",
"example": "Proveedores 2026"
}
}
}
},
"delete-space": {
"openApiOperationId": "deleteSpace",
"openApiPath": "/delete-space/{space_id}",
"openApiMethod": "DELETE",
"inputSchema": {
"type": "object",
"additionalProperties": true,
"required": [
"skill",
"space_id"
],
"properties": {
"skill": {
"type": "string",
"description": "Skill identifier matching the Agent Card skill id."
},
"space_id": {
"type": "string",
"format": "uuid",
"description": "UUID del espacio de conocimiento a eliminar, el que devolvi\u00f3 POST /create-space.\n"
}
}
}
},
"delete-document": {
"openApiOperationId": "deleteDocument",
"openApiPath": "/delete-document/{document_id}",
"openApiMethod": "DELETE",
"inputSchema": {
"type": "object",
"additionalProperties": true,
"required": [
"skill",
"document_id"
],
"properties": {
"skill": {
"type": "string",
"description": "Skill identifier matching the Agent Card skill id."
},
"document_id": {
"type": "string",
"format": "uuid",
"description": "UUID del documento persistido en documents."
}
}
}
},
"agent-extract-excel": {
"openApiOperationId": "agentExcelToJson",
"openApiPath": "/agent/excel-json",
"openApiMethod": "POST",
"inputSchema": {
"type": "object",
"additionalProperties": true,
"required": [
"skill",
"schema_id"
],
"properties": {
"skill": {
"type": "string",
"description": "Skill identifier matching the Agent Card skill id."
},
"file_base64": {
"type": "string",
"description": "Base64-encoded file (or data URL). A2A JSON equivalent of OpenAPI multipart `file`."
},
"file_path": {
"type": "string",
"format": "uri",
"description": "Public https URL of the file to download."
},
"filename": {
"type": "string",
"description": "Original filename with extension."
},
"schema_id": {
"type": "string",
"format": "uuid",
"description": "Identificador del schema (previamente creado) de tipo \"Excel/CSV a JSON\".\n",
"example": "8f14e45f-ceea-4e6f-8b23-1e2d3c4b5a6f"
},
"space_id": {
"type": "string",
"format": "uuid",
"description": "Opcional. Espacio de conocimiento al que se asocia el documento guardado. Debe pertenecer al mismo usuario due\u00f1o de la API key. Solo tiene efecto cuando el schema tiene la ventana de contexto activada, que es cuando el documento se guarda.\n",
"example": "5b9e2c14-7d3a-4f8b-9e1c-6a0d4b8f2e7c"
}
}
}
},
"agent-extract-pdf": {
"openApiOperationId": "agentPdfToJson",
"openApiPath": "/agent/pdf-json",
"openApiMethod": "POST",
"inputSchema": {
"type": "object",
"additionalProperties": true,
"required": [
"skill",
"schema_id"
],
"properties": {
"skill": {
"type": "string",
"description": "Skill identifier matching the Agent Card skill id."
},
"file_base64": {
"type": "string",
"description": "Base64-encoded file (or data URL). A2A JSON equivalent of OpenAPI multipart `file`."
},
"file_path": {
"type": "string",
"format": "uri",
"description": "Public https URL of the file to download."
},
"filename": {
"type": "string",
"description": "Original filename with extension."
},
"schema_id": {
"type": "string",
"format": "uuid",
"description": "Identificador del schema (previamente creado) de tipo \"PDF a JSON\".\n",
"example": "3c7a9f21-4b8e-4d1a-9c6f-2e0d8a5b7c4f"
},
"space_id": {
"type": "string",
"format": "uuid",
"description": "Opcional. Espacio de conocimiento al que se asocia el documento guardado. Debe pertenecer al mismo usuario due\u00f1o de la API key. Solo tiene efecto cuando el schema tiene la ventana de contexto activada, que es cuando el documento se guarda.\n",
"example": "5b9e2c14-7d3a-4f8b-9e1c-6a0d4b8f2e7c"
}
}
}
},
"agent-extract-doc": {
"openApiOperationId": "agentDocToJson",
"openApiPath": "/agent/doc-json",
"openApiMethod": "POST",
"inputSchema": {
"type": "object",
"additionalProperties": true,
"required": [
"skill",
"schema_id"
],
"properties": {
"skill": {
"type": "string",
"description": "Skill identifier matching the Agent Card skill id."
},
"file_base64": {
"type": "string",
"description": "Base64-encoded file (or data URL). A2A JSON equivalent of OpenAPI multipart `file`."
},
"file_path": {
"type": "string",
"format": "uri",
"description": "Public https URL of the file to download."
},
"filename": {
"type": "string",
"description": "Original filename with extension."
},
"schema_id": {
"type": "string",
"format": "uuid",
"description": "Identificador del schema (previamente creado) de tipo \"Documento a JSON\".\n",
"example": "b980cfe7-61ef-4a5a-9724-881c8a5541e2"
},
"space_id": {
"type": "string",
"format": "uuid",
"description": "Opcional. Espacio de conocimiento al que se asocia el documento guardado. Debe pertenecer al mismo usuario due\u00f1o de la API key. Solo tiene efecto cuando el schema tiene la ventana de contexto activada, que es cuando el documento se guarda.\n",
"example": "5b9e2c14-7d3a-4f8b-9e1c-6a0d4b8f2e7c"
}
}
}
},
"agent-extract-img": {
"openApiOperationId": "agentImgToJson",
"openApiPath": "/agent/img-json",
"openApiMethod": "POST",
"inputSchema": {
"type": "object",
"additionalProperties": true,
"required": [
"skill",
"schema_id"
],
"properties": {
"skill": {
"type": "string",
"description": "Skill identifier matching the Agent Card skill id."
},
"file_base64": {
"type": "string",
"description": "Base64-encoded file (or data URL). A2A JSON equivalent of OpenAPI multipart `file`."
},
"file_path": {
"type": "string",
"format": "uri",
"description": "Public https URL of the file to download."
},
"filename": {
"type": "string",
"description": "Original filename with extension."
},
"schema_id": {
"type": "string",
"format": "uuid",
"description": "Identificador del schema (previamente creado) de tipo \"Imagen a JSON\".\n",
"example": "3c7a9f21-4b8e-4d1a-9c6f-2e0d8a5b7c4f"
},
"space_id": {
"type": "string",
"format": "uuid",
"description": "Opcional. Espacio de conocimiento al que se asocia el documento guardado. Debe pertenecer al mismo usuario due\u00f1o de la API key. Solo tiene efecto cuando el schema tiene la ventana de contexto activada, que es cuando el documento se guarda.\n",
"example": "5b9e2c14-7d3a-4f8b-9e1c-6a0d4b8f2e7c"
}
}
}
},
"agent-extract-txt": {
"openApiOperationId": "agentTxtToJson",
"openApiPath": "/agent/txt-json",
"openApiMethod": "POST",
"inputSchema": {
"type": "object",
"additionalProperties": true,
"required": [
"skill",
"content",
"schema_id"
],
"properties": {
"skill": {
"type": "string",
"description": "Skill identifier matching the Agent Card skill id."
},
"content": {
"type": "string",
"description": "Texto plano, HTML o XML ya procesado. No es un archivo. M\u00e1ximo 300.000 caracteres.\n",
"example": "<html><body><h1>Factura F-2026-00456</h1></body></html>"
},
"schema_id": {
"type": "string",
"format": "uuid",
"description": "Identificador del schema (previamente creado) de tipo txt-json.\n",
"example": "b980cfe7-61ef-4a5a-9724-881c8a5541e2"
},
"space_id": {
"type": "string",
"format": "uuid",
"description": "Opcional. Espacio de conocimiento al que se asocia el documento guardado. Debe pertenecer al mismo usuario due\u00f1o de la API key. Solo tiene efecto cuando el schema tiene la ventana de contexto activada, que es cuando el documento se guarda.\n",
"example": "5b9e2c14-7d3a-4f8b-9e1c-6a0d4b8f2e7c"
}
}
}
},
"list-schemas": {
"openApiOperationId": "listSchemas",
"openApiPath": "/schemas",
"openApiMethod": "GET",
"inputSchema": {
"type": "object",
"additionalProperties": true,
"required": [
"skill"
],
"properties": {
"skill": {
"type": "string",
"description": "Skill identifier matching the Agent Card skill id."
}
}
}
},
"create-schema": {
"openApiOperationId": "createSchema",
"openApiPath": "/create-schema",
"openApiMethod": "POST",
"inputSchema": {
"type": "object",
"additionalProperties": true,
"required": [
"skill",
"name",
"type",
"schema_definition"
],
"properties": {
"skill": {
"type": "string",
"description": "Skill identifier matching the Agent Card skill id."
},
"name": {
"type": "string",
"maxLength": 200,
"description": "Nombre visible del schema.",
"example": "DNI cliente"
},
"type": {
"type": "string",
"enum": [
"excel-json",
"json-excel",
"pdf-json",
"doc-json",
"img-json",
"txt-json"
],
"description": "Tipo de conversi\u00f3n para el que se usar\u00e1 este schema.",
"example": "img-json"
},
"schema_definition": {
"type": "object",
"additionalProperties": {
"$ref": "#/components/schemas/SchemaFieldDefinition"
},
"description": "Campos a extraer. Cada clave es el nombre de la propiedad JSON resultante; cada valor tiene type (string, integer, number o boolean) y description.\n"
},
"is_agent_mode": {
"type": "boolean",
"description": "Activa el Modo Agente. Si omites este campo pero env\u00edas agent_definition, se asume true.\n",
"example": true
},
"agent_definition": {
"type": "object",
"additionalProperties": {
"$ref": "#/components/schemas/AgentFieldDefinition"
},
"description": "Obligatorio si is_agent_mode es true. Cada clave es el nombre del campo en agent_data. Types: boolean, string, closed, integer. Si type es closed, options es obligatorio.\n"
},
"resumen_agent": {
"type": "string",
"maxLength": 500,
"nullable": true,
"description": "Instrucci\u00f3n opcional para la fase de razonamiento."
},
"window_context": {
"type": "boolean",
"description": "Activa la ventana temporal de contexto. Por defecto false.\n",
"example": false
},
"window_time": {
"oneOf": [
{
"type": "number",
"enum": [
5,
10,
15,
30,
45,
60,
90,
120,
180,
240,
360,
480,
720,
1440,
0
]
},
{
"type": "string",
"enum": [
"infinity"
]
}
],
"nullable": true,
"description": "Obligatorio si window_context es true. Duraci\u00f3n en minutos. Valores admitidos: 5, 10, 15, 30, 45, 60, 90, 120, 180, 240, 360, 480, 720, 1440. Tambi\u00e9n puedes enviar 0 o la cadena `infinity` para ventana sin caducidad; requiere modo persistente activo en la cuenta. Se persiste como window_time 0.\n",
"example": null
}
}
}
},
"delete-schema": {
"openApiOperationId": "deleteSchema",
"openApiPath": "/delete-schema",
"openApiMethod": "POST",
"inputSchema": {
"type": "object",
"additionalProperties": true,
"required": [
"skill",
"schema_id"
],
"properties": {
"skill": {
"type": "string",
"description": "Skill identifier matching the Agent Card skill id."
},
"schema_id": {
"type": "string",
"format": "uuid",
"description": "UUID del schema a eliminar.",
"example": "b980cfe7-61ef-4a5a-9724-881c8a5541e2"
}
}
}
}
}
}
]
},
"defaultInputModes": [
"application/json",
"text/plain"
],
"defaultOutputModes": [
"application/json",
"text/plain"
],
"skills": [
{
"id": "extract-excel",
"name": "Convierte un archivo Excel o CSV a JSON seg\u00fan un schema",
"description": "Convierte un archivo Excel o CSV a JSON seg\u00fan 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"
],
"examples": [
"{\"skill\":\"extract-excel\",\"schema_id\":\"<uuid>\",\"file_base64\":\"<base64>\"}"
],
"inputModes": [
"application/json",
"text/plain"
],
"outputModes": [
"application/json",
"text/plain"
],
"security": [
{
"apiKey": []
}
]
},
{
"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 \u00fanico, 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"
],
"examples": [
"{\"skill\":\"convert-json-to-excel\",\"schema_id\":\"<uuid>\",\"data\":[{}]}"
],
"inputModes": [
"application/json",
"text/plain"
],
"outputModes": [
"application/json",
"text/plain"
],
"security": [
{
"apiKey": []
}
]
},
{
"id": "extract-pdf",
"name": "Extrae datos estructurados de un archivo PDF seg\u00fan un schema",
"description": "Extrae datos estructurados de un archivo PDF seg\u00fan un schema Recibe un archivo .pdf (de texto seleccionable o escaneado) y un schema_id, y devuelve un \u00fanico objeto JSON con los datos extra\u00eddos 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 \u00fanica fuente de datos: la respuesta siempre contiene exactamente un registro en \"data\", nunca una fila por cada elemento del documento. El tama\u00f1o m\u00e1ximo 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"
],
"examples": [
"{\"skill\":\"extract-pdf\",\"schema_id\":\"<uuid>\",\"file_base64\":\"<base64>\"}"
],
"inputModes": [
"application/json",
"text/plain"
],
"outputModes": [
"application/json",
"text/plain"
],
"security": [
{
"apiKey": []
}
]
},
{
"id": "extract-doc",
"name": "Extrae datos estructurados de un documento de texto seg\u00fan un schema",
"description": "Extrae datos estructurados de un documento de texto seg\u00fan un schema Recibe un archivo de documento (.docx, .txt, .md o .rtf) y un schema_id, y devuelve un \u00fanico objeto JSON con los datos extra\u00eddos 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\u00f3n UTF-8 para .txt/.md, stripping de c\u00f3digos de control para .rtf); solo el texto plano resultante se env\u00eda al modelo. El formato legacy .doc (Word 97-2003) no est\u00e1 soportado. Igual que en pdf-json, el documento se trata como una \u00fanica fuente de datos: la respuesta siempre contiene exactamente un registro en \"data\". El tama\u00f1o m\u00e1ximo de archivo admitido es 10 MB, y el texto extra\u00eddo 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"
],
"examples": [
"{\"skill\":\"extract-doc\",\"schema_id\":\"<uuid>\",\"file_base64\":\"<base64>\"}"
],
"inputModes": [
"application/json",
"text/plain"
],
"outputModes": [
"application/json",
"text/plain"
],
"security": [
{
"apiKey": []
}
]
},
{
"id": "extract-img",
"name": "Extrae datos estructurados de una imagen seg\u00fan un schema",
"description": "Extrae datos estructurados de una imagen seg\u00fan un schema Recibe una imagen (.jpeg, .jpg, .png, .webp, .heic o .heif) y un schema_id, y devuelve un \u00fanico objeto JSON con los datos extra\u00eddos del contenido visible, con las claves exactamente iguales a las propiedades definidas en el schema. El an\u00e1lisis lo realiza un modelo multimodal de IA. Antes de extraer datos, el modelo eval\u00faa si la imagen es legible (nitidez, enfoque, iluminaci\u00f3n); si no lo es, responde con 422. Igual que en pdf-json, la imagen se trata como una \u00fanica fuente de datos: la respuesta siempre contiene exactamente un registro en \"data\". El tama\u00f1o m\u00e1ximo 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"
],
"examples": [
"{\"skill\":\"extract-img\",\"schema_id\":\"<uuid>\",\"file_base64\":\"<base64>\"}"
],
"inputModes": [
"application/json",
"text/plain"
],
"outputModes": [
"application/json",
"text/plain"
],
"security": [
{
"apiKey": []
}
]
},
{
"id": "extract-txt",
"name": "Extrae datos estructurados de Txt / HTML / XML seg\u00fan un schema",
"description": "Extrae datos estructurados de Txt / HTML / XML seg\u00fan un schema Recibe el campo `content` (texto plano, HTML o XML ya procesado) y un schema_id de tipo txt-json, y devuelve un \u00fanico objeto JSON con los datos extra\u00eddos. No se sube ning\u00fan archivo. M\u00e1ximo 300.000 caracteres. URL p\u00fablica: POST https://claix.dev/api/txt-json. Tarifa fija \u20ac0,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"
],
"examples": [
"{\"skill\":\"extract-txt\",\"schema_id\":\"<uuid>\",\"content\":\"<text>\"}"
],
"inputModes": [
"application/json",
"text/plain"
],
"outputModes": [
"application/json",
"text/plain"
],
"security": [
{
"apiKey": []
}
]
},
{
"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\u00f3n 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"
],
"examples": [
"{\"skill\":\"get-document\",\"document_id\":\"<uuid>\"}"
],
"inputModes": [
"application/json",
"text/plain"
],
"outputModes": [
"application/json",
"text/plain"
],
"security": [
{
"apiKey": []
}
]
},
{
"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\u00f3 una extracci\u00f3n 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\u00e1ximo 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"
],
"examples": [
"{\"skill\":\"query-document\",\"document_id\":\"<uuid>\",\"questions\":[\"What is the total?\"]}"
],
"inputModes": [
"application/json",
"text/plain"
],
"outputModes": [
"application/json",
"text/plain"
],
"security": [
{
"apiKey": []
}
]
},
{
"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\u00e1ximo 5 preguntas, 400 caracteres cada una) y respuesta `{ user_ask, ia_response }` alineada 1:1. La \u00fanica diferencia es el alcance: en vez de un \u00fanico documento, carga el markdown_content de todos los documentos vigentes cuyo `espacio_id` sea ese space_id, y responde cruzando la informaci\u00f3n 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\u00f3n del modelo se cargan como m\u00e1ximo 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"
],
"examples": [
"{\"skill\":\"query-space\",\"space_id\":\"<uuid>\",\"questions\":[\"Compare notice periods\"]}"
],
"inputModes": [
"application/json",
"text/plain"
],
"outputModes": [
"application/json",
"text/plain"
],
"security": [
{
"apiKey": []
}
]
},
{
"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\u00edo en la cuenta de la API key. El \u00fanico campo obligatorio es `name`. Devuelve el `space_id` que luego se env\u00eda como `space_id` opcional en los endpoints de extracci\u00f3n 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"
],
"examples": [
"{\"skill\":\"create-space\",\"name\":\"Acme invoices\"}"
],
"inputModes": [
"application/json",
"text/plain"
],
"outputModes": [
"application/json",
"text/plain"
],
"security": [
{
"apiKey": []
}
]
},
{
"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\u00e9rico. 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"
],
"examples": [
"{\"skill\":\"delete-space\",\"space_id\":\"<uuid>\"}"
],
"inputModes": [
"application/json",
"text/plain"
],
"outputModes": [
"application/json",
"text/plain"
],
"security": [
{
"apiKey": []
}
]
},
{
"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\u00e1neamente 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\u00e9rico. 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"
],
"examples": [
"{\"skill\":\"delete-document\",\"document_id\":\"<uuid>\"}"
],
"inputModes": [
"application/json",
"text/plain"
],
"outputModes": [
"application/json",
"text/plain"
],
"security": [
{
"apiKey": []
}
]
},
{
"id": "agent-extract-excel",
"name": "Excel/CSV a JSON con extracci\u00f3n y razonamiento Modo Agente",
"description": "Excel/CSV a JSON con extracci\u00f3n y razonamiento Modo Agente Equivalente a POST /api/excel-json seguido de una fase agente con Gemini. Devuelve la respuesta de extracci\u00f3n (data, mapa_columnas, etc.) m\u00e1s agent_data seg\u00fan agent_definition. El schema debe tener is_agent_mode activado. Misma petici\u00f3n multipart (file + schema_id) y mismos c\u00f3digos de error que /api/excel-json; adem\u00e1s puede devolver 400 si el schema no tiene Modo Agente o agent_definition inv\u00e1lida, 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"
],
"examples": [
"{\"skill\":\"agent-extract-excel\",\"schema_id\":\"<uuid>\",\"file_base64\":\"<base64>\"}"
],
"inputModes": [
"application/json",
"text/plain"
],
"outputModes": [
"application/json",
"text/plain"
],
"security": [
{
"apiKey": []
}
]
},
{
"id": "agent-extract-pdf",
"name": "PDF a JSON con extracci\u00f3n y razonamiento Modo Agente",
"description": "PDF a JSON con extracci\u00f3n y razonamiento Modo Agente Equivalente a POST /api/pdf-json m\u00e1s fase agente. Devuelve data[] con la extracci\u00f3n del schema principal y agent_data con evaluaciones tipadas (booleanos, enteros, strings, opciones cerradas). Requiere is_agent_mode en el schema. Tama\u00f1o m\u00e1ximo 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"
],
"examples": [
"{\"skill\":\"agent-extract-pdf\",\"schema_id\":\"<uuid>\",\"file_base64\":\"<base64>\"}"
],
"inputModes": [
"application/json",
"text/plain"
],
"outputModes": [
"application/json",
"text/plain"
],
"security": [
{
"apiKey": []
}
]
},
{
"id": "agent-extract-doc",
"name": "Documento a JSON con extracci\u00f3n y razonamiento Modo Agente",
"description": "Documento a JSON con extracci\u00f3n y razonamiento Modo Agente Equivalente a POST /api/doc-json m\u00e1s fase agente. Devuelve data[] y agent_data. Requiere is_agent_mode. Formatos admitidos: .docx, .txt, .md, .rtf. Tama\u00f1o m\u00e1ximo: 10 MB; texto extra\u00eddo m\u00e1x. 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"
],
"examples": [
"{\"skill\":\"agent-extract-doc\",\"schema_id\":\"<uuid>\",\"file_base64\":\"<base64>\"}"
],
"inputModes": [
"application/json",
"text/plain"
],
"outputModes": [
"application/json",
"text/plain"
],
"security": [
{
"apiKey": []
}
]
},
{
"id": "agent-extract-img",
"name": "Imagen a JSON con extracci\u00f3n y razonamiento Modo Agente",
"description": "Imagen a JSON con extracci\u00f3n y razonamiento Modo Agente Equivalente a POST /api/img-json m\u00e1s fase agente. Devuelve data[] y agent_data. Requiere is_agent_mode. Formatos: JPEG, PNG, WebP, HEIC/HEIF. Tama\u00f1o m\u00e1ximo: 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"
],
"examples": [
"{\"skill\":\"agent-extract-img\",\"schema_id\":\"<uuid>\",\"file_base64\":\"<base64>\"}"
],
"inputModes": [
"application/json",
"text/plain"
],
"outputModes": [
"application/json",
"text/plain"
],
"security": [
{
"apiKey": []
}
]
},
{
"id": "agent-extract-txt",
"name": "Txt / HTML / XML a JSON con extracci\u00f3n y razonamiento Modo Agente",
"description": "Txt / HTML / XML a JSON con extracci\u00f3n y razonamiento Modo Agente Equivalente a POST /api/txt-json m\u00e1s fase agente. Recibe content + schema_id (multipart). Devuelve data[] y agent_data. Requiere is_agent_mode. M\u00e1ximo 300.000 caracteres. URL p\u00fablica: POST https://claix.dev/agent/txt-json. Misma tarifa que extracci\u00f3n txt-json (\u20ac0,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"
],
"examples": [
"{\"skill\":\"agent-extract-txt\",\"schema_id\":\"<uuid>\",\"content\":\"<text>\"}"
],
"inputModes": [
"application/json",
"text/plain"
],
"outputModes": [
"application/json",
"text/plain"
],
"security": [
{
"apiKey": []
}
]
},
{
"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\u00e1metros. Llama `GET https://claix.dev/api/schemas`. Dado un API key v\u00e1lido, devuelve la lista completa de schemas creados por el usuario due\u00f1o de esa key, con toda su informaci\u00f3n (id, nombre, tipo y definici\u00f3n), ordenados del m\u00e1s reciente al m\u00e1s 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"
],
"examples": [
"{\"skill\":\"list-schemas\"}"
],
"inputModes": [
"application/json",
"text/plain"
],
"outputModes": [
"application/json",
"text/plain"
],
"security": [
{
"apiKey": []
}
]
},
{
"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\u00f3n o Modo Agente. `name`, `type` y `schema_definition` son obligatorios. Si `is_agent_mode` es true (o se env\u00eda `agent_definition`), hay que incluir `agent_definition` con al menos un par\u00e1metro. 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"
],
"examples": [
"{\"skill\":\"create-schema\",\"name\":\"Invoice\",\"type\":\"pdf-json\",\"schema_definition\":{}}"
],
"inputModes": [
"application/json",
"text/plain"
],
"outputModes": [
"application/json",
"text/plain"
],
"security": [
{
"apiKey": []
}
]
},
{
"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\u00e9n 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"
],
"examples": [
"{\"skill\":\"delete-schema\",\"schema_id\":\"<uuid>\"}"
],
"inputModes": [
"application/json",
"text/plain"
],
"outputModes": [
"application/json",
"text/plain"
],
"security": [
{
"apiKey": []
}
]
}
],
"provider": {
"url": "https://www.claix.dev",
"organization": "Claix"
},
"documentationUrl": "https://www.claix.dev/documentation",
"iconUrl": "https://www.claix.dev/claix-logo.png",
"supportsAuthenticatedExtendedCard": false,
"securitySchemes": {
"apiKey": {
"type": "apiKey",
"name": "x-api-key",
"in": "header",
"description": "Claix API key (same as the REST API)."
}
},
"security": [
{
"apiKey": []
}
],
"supportedInterfaces": [
{
"url": "https://www.claix.dev/a2a",
"protocolBinding": "JSONRPC",
"tenant": "",
"protocolVersion": "1.0"
},
{
"url": "https://www.claix.dev/a2a",
"protocolBinding": "JSONRPC",
"tenant": "",
"protocolVersion": "0.3"
}
]
}