{"id":4,"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. Optional Source Tracing on extracted fields.","card_url":"https://www.claix.dev/.well-known/agent-card.json","endpoint":"https://www.claix.dev/a2a","protocol_version":"1.0","first_seen":"2026-10-07T05:19:35.487366+00:00","last_verified":"2026-10-07T08:19:57.174006+00:00","card":{"url":"https://www.claix.dev/a2a","name":"Claix","skills":[{"id":"extract-excel","name":"Convert an Excel or CSV file to JSON using a schema","tags":["extract","excel","csv","json"],"examples":["{\"skill\":\"extract-excel\",\"schema_id\":\"<uuid>\",\"file_base64\":\"<base64>\"}"],"security":[{"apiKey":[]}],"inputModes":["application/json","text/plain"],"description":"Convert an Excel or CSV file to JSON using a schema. Accepts an .xlsx or .csv file and a schema_id, and returns transformed JSON whose keys match the schema properties exactly, plus log_id. If source verification is enabled on the schema, each field is {value, source} instead of a bare value. If the workbook has multiple sheets, only the first sheet is processed. Max file size follows the REST /excel-json limits. A2A skill id: extract-excel. REST: POST /excel-json. JSON DataPart must include \"skill\": \"extract-excel\". Required A2A parameters: skill, schema_id. Form/DataPart fields: schema_id, file_base64, file_path, filename, space_id. multipart/form-data equivalent: schema_id + file_base64 or file_path in the DataPart JSON. Optional space_id groups the persisted document. Use snake_case names exactly. OpenAPI multipart `file` → file_base64 or file_path in A2A JSON.","outputModes":["application/json","text/plain"]},{"id":"convert-json-to-excel","name":"Convert JSON documents to an Excel file","tags":["convert","excel","json"],"examples":["{\"skill\":\"convert-json-to-excel\",\"schema_id\":\"<uuid>\",\"data\":[{}]}"],"security":[{"apiKey":[]}],"inputModes":["application/json","text/plain"],"description":"Convert JSON documents to an Excel file. Accepts JSON data and a schema_id, and returns a binary .xlsx whose columns follow the schema order and names. In A2A send schema_id plus data (array or object). Aliases records and json_data are normalized to data. A2A skill id: convert-json-to-excel. REST: POST /json-excel. JSON DataPart must include \"skill\": \"convert-json-to-excel\". Required A2A parameters: skill. Body JSON fields: schema_id, data. JSON body: schema_id (required) and data (array or object). Aliases records/json_data also map to data. Use snake_case names exactly. OpenAPI multipart `file` → file_base64 or file_path in A2A JSON.","outputModes":["application/json","text/plain"]},{"id":"extract-pdf","name":"Extract structured data from a PDF using a schema","tags":["extract","pdf","json"],"examples":["{\"skill\":\"extract-pdf\",\"schema_id\":\"<uuid>\",\"file_base64\":\"<base64>\"}"],"security":[{"apiKey":[]}],"inputModes":["application/json","text/plain"],"description":"Extract structured data from a PDF using a schema. Accepts a .pdf (selectable text or scanned) and a schema_id, and returns a single JSON object for the whole document plus log_id. Response data always contains exactly one record. If source verification is enabled on the schema, each field is {value, source}. Max file size: 15 MB. A2A skill id: extract-pdf. REST: POST /pdf-json. JSON DataPart must include \"skill\": \"extract-pdf\". Required A2A parameters: skill, schema_id. Form/DataPart fields: schema_id, file_base64, file_path, filename, space_id. schema_id + file_base64 or file_path in the DataPart JSON. Optional space_id. Use snake_case names exactly. OpenAPI multipart `file` → file_base64 or file_path in A2A JSON.","outputModes":["application/json","text/plain"]},{"id":"extract-doc","name":"Extract structured data from a text document using a schema","tags":["extract","docx","json"],"examples":["{\"skill\":\"extract-doc\",\"schema_id\":\"<uuid>\",\"file_base64\":\"<base64>\"}"],"security":[{"apiKey":[]}],"inputModes":["application/json","text/plain"],"description":"Extract structured data from a text document using a schema. Accepts .docx, .txt, .md, or .rtf plus a schema_id, and returns a single JSON object for the whole document plus log_id. If source verification is enabled on the schema, each field is {value, source}. Legacy .doc (Word 97-2003) is not supported. Max file size: 10 MB; extracted text max 300,000 characters. A2A skill id: extract-doc. REST: POST /doc-json. JSON DataPart must include \"skill\": \"extract-doc\". Required A2A parameters: skill, schema_id. Form/DataPart fields: schema_id, file_base64, file_path, filename, space_id. schema_id + file_base64 or file_path (.docx, .txt, .md, .rtf). Optional space_id. Use snake_case names exactly. OpenAPI multipart `file` → file_base64 or file_path in A2A JSON.","outputModes":["application/json","text/plain"]},{"id":"extract-img","name":"Extract structured data from an image using a schema","tags":["extract","image","json"],"examples":["{\"skill\":\"extract-img\",\"schema_id\":\"<uuid>\",\"file_base64\":\"<base64>\"}"],"security":[{"apiKey":[]}],"inputModes":["application/json","text/plain"],"description":"Extract structured data from an image using a schema. Accepts .jpeg, .jpg, .png, .webp, .heic, or .heif plus a schema_id, and returns a single JSON object from the visible content plus log_id. If source verification is enabled on the schema, each field is {value, source}. Unreadable images return HTTP 422. Max file size: 15 MB. A2A skill id: extract-img. REST: POST /img-json. JSON DataPart must include \"skill\": \"extract-img\". Required A2A parameters: skill, schema_id. Form/DataPart fields: schema_id, file_base64, file_path, filename, space_id. schema_id + file_base64 or file_path (.jpeg, .png, .webp, .heic). Optional space_id. Use snake_case names exactly. OpenAPI multipart `file` → file_base64 or file_path in A2A JSON.","outputModes":["application/json","text/plain"]},{"id":"extract-txt","name":"Extract structured data from plain text, HTML, or XML using a schema","tags":["extract","text","html","xml"],"examples":["{\"skill\":\"extract-txt\",\"schema_id\":\"<uuid>\",\"content\":\"<text>\"}"],"security":[{"apiKey":[]}],"inputModes":["application/json","text/plain"],"description":"Extract structured data from plain text, HTML, or XML using a schema. Accepts a content string (plain text, HTML, or XML) and a txt-json schema_id. No file upload. Returns log_id. If source verification is enabled on the schema, each field is {value, source}. Max 300,000 characters. A2A skill id: extract-txt. REST: POST /txt-json. JSON DataPart must include \"skill\": \"extract-txt\". Required A2A parameters: skill, content, schema_id. Form/DataPart fields: schema_id, content, space_id. schema_id + content (plain text/HTML/XML string, not a file). Optional space_id. Use snake_case names exactly. OpenAPI multipart `file` → file_base64 or file_path in A2A JSON.","outputModes":["application/json","text/plain"]},{"id":"extract-audio","name":"Extract structured data from spoken audio using a schema","tags":["extract","audio","json"],"examples":["{\"skill\":\"extract-audio\",\"schema_id\":\"<uuid>\",\"file_base64\":\"<base64>\"}"],"security":[{"apiKey":[]}],"inputModes":["application/json","text/plain"],"description":"Extract structured data from spoken audio using a schema. Accepts .mp3, .wav, .m4a, or .ogg plus a schema_id, and returns a single JSON object from the spoken content plus log_id. If source verification is enabled on the schema, each field is {value, source}. Unintelligible audio returns HTTP 422. Max file size: 12 MB. Max duration: 10 minutes. A2A skill id: extract-audio. REST: POST /audio-json. JSON DataPart must include \"skill\": \"extract-audio\". Required A2A parameters: skill, schema_id. Form/DataPart fields: schema_id, file_base64, file_path, filename, space_id. schema_id + file_base64 or file_path (.mp3, .wav, .m4a, .ogg). Optional space_id. Use snake_case names exactly. OpenAPI multipart `file` → file_base64 or file_path in A2A JSON.","outputModes":["application/json","text/plain"]},{"id":"get-document","name":"Return the raw content of a persisted document","tags":["context","document"],"examples":["{\"skill\":\"get-document\",\"document_id\":\"<uuid>\"}"],"security":[{"apiKey":[]}],"inputModes":["application/json","text/plain"],"description":"Return the raw content of a persisted document. Read-only. document_id is a path parameter only (no body). Returns markdown/text and metadata for a document created by an extraction with window_context enabled. Free call. A2A skill id: get-document. REST: GET /get-document/{document_id}. JSON DataPart must include \"skill\": \"get-document\". Required A2A parameters: skill, document_id. Path params: document_id. document_id is a path parameter only. No body and no questions. Use snake_case names exactly. OpenAPI multipart `file` → file_base64 or file_path in A2A JSON.","outputModes":["application/json","text/plain"]},{"id":"query-document","name":"Answer questions about a persisted document","tags":["context","qa","document"],"examples":["{\"skill\":\"query-document\",\"document_id\":\"<uuid>\",\"questions\":[{\"question\":\"What is the total?\",\"format\":\"int\"}]}"],"security":[{"apiKey":[]}],"inputModes":["application/json","text/plain"],"description":"Answer questions about a persisted document. document_id goes in the URL path. questions (1–5 strings, max 400 chars each) go in the JSON body only — never embed document_id inside a question. Returns { user_ask, ia_response, log_id } aligned 1:1; ia_response items are null when the answer is not in the document. If source verification is enabled on document queries, each ia_response item is {value, source} citing markdown evidence (or source is requires_human_revision). A2A skill id: query-document. REST: POST /document-context/{document_id}. JSON DataPart must include \"skill\": \"query-document\". Required A2A parameters: skill, document_id, questions. Path params: document_id. Body JSON fields: questions. document_id goes in the URL path. questions[] of { question, format } (1–5 items; format ∈ string|int|boolean|timestamp|array; question max 400 chars) goes in the JSON body only — never inside the question text. Use snake_case names exactly. OpenAPI multipart `file` → file_base64 or file_path in A2A JSON.","outputModes":["application/json","text/plain"]},{"id":"query-space","name":"Answer questions across every document in a knowledge space","tags":["context","qa","space"],"examples":["{\"skill\":\"query-space\",\"space_id\":\"<uuid>\",\"questions\":[{\"question\":\"Compare notice periods\",\"format\":\"string\"}]}"],"security":[{"apiKey":[]}],"inputModes":["application/json","text/plain"],"description":"Answer questions across every document in a knowledge space. space_id goes in the URL path. questions (1–5 strings, max 400 chars each) go in the JSON body only — never embed space_id inside a question. Cross-references up to 50 active documents in the space. Returns { user_ask, ia_response, log_id }; null means no evidence in any document. If source verification is enabled on knowledge space queries, each ia_response item is {value, source} naming document_id and file_name. A2A skill id: query-space. REST: POST /space-context/{space_id}. JSON DataPart must include \"skill\": \"query-space\". Required A2A parameters: skill, space_id, questions. Path params: space_id. Body JSON fields: questions. space_id goes in the URL path. questions[] of { question, format } (1–5 items; format ∈ string|int|boolean|timestamp|array; question max 400 chars) goes in the JSON body only — never inside the question text. Use snake_case names exactly. OpenAPI multipart `file` → file_base64 or file_path in A2A JSON.","outputModes":["application/json","text/plain"]},{"id":"create-space","name":"Create a knowledge space for the API key account","tags":["spaces"],"examples":["{\"skill\":\"create-space\",\"name\":\"Acme invoices\"}"],"security":[{"apiKey":[]}],"inputModes":["application/json","text/plain"],"description":"Create a knowledge space for the API key account. Creates an empty knowledge space. Required JSON body field: name (max 200 chars). Returns space_id for use as optional space_id on extractions and for query-space. Free call. A2A skill id: create-space. REST: POST /create-space. JSON DataPart must include \"skill\": \"create-space\". Required A2A parameters: skill, name. Body JSON fields: name. JSON body with name (string, max 200 chars). Returns space_id. Use snake_case names exactly. OpenAPI multipart `file` → file_base64 or file_path in A2A JSON.","outputModes":["application/json","text/plain"]},{"id":"delete-space","name":"Delete a knowledge space","tags":["spaces"],"examples":["{\"skill\":\"delete-space\",\"space_id\":\"<uuid>\"}"],"security":[{"apiKey":[]}],"inputModes":["application/json","text/plain"],"description":"Delete a knowledge space. space_id is a path parameter only (no body). Deletes the space owned by the API key account. Free call. A2A skill id: delete-space. REST: DELETE /delete-space/{space_id}. JSON DataPart must include \"skill\": \"delete-space\". Required A2A parameters: skill, space_id. Path params: space_id. space_id is a path parameter only. No body. Use snake_case names exactly. OpenAPI multipart `file` → file_base64 or file_path in A2A JSON.","outputModes":["application/json","text/plain"]},{"id":"delete-document","name":"Delete a persisted document","tags":["context","document"],"examples":["{\"skill\":\"delete-document\",\"document_id\":\"<uuid>\"}"],"security":[{"apiKey":[]}],"inputModes":["application/json","text/plain"],"description":"Delete a persisted document. document_id is a path parameter only (no body). Deletes the document owned by the API key account. Free call. A2A skill id: delete-document. REST: DELETE /delete-document/{document_id}. JSON DataPart must include \"skill\": \"delete-document\". Required A2A parameters: skill, document_id. Path params: document_id. document_id is a path parameter only. No body. Use snake_case names exactly. OpenAPI multipart `file` → file_base64 or file_path in A2A JSON.","outputModes":["application/json","text/plain"]},{"id":"agent-extract-excel","name":"Excel/CSV to JSON with Agent Mode reasoning","tags":["agent","excel"],"examples":["{\"skill\":\"agent-extract-excel\",\"schema_id\":\"<uuid>\",\"file_base64\":\"<base64>\"}"],"security":[{"apiKey":[]}],"inputModes":["application/json","text/plain"],"description":"Excel/CSV to JSON with Agent Mode reasoning. Same inputs as extract-excel, but the schema must have is_agent_mode enabled. Returns extraction data, agent_data from agent_definition, and log_id. If source verification is enabled on the schema, fields are {value, source}. A2A skill id: agent-extract-excel. REST: POST /agent/excel-json. JSON DataPart must include \"skill\": \"agent-extract-excel\". Required A2A parameters: skill, schema_id. Form/DataPart fields: schema_id, file_base64, file_path, filename, space_id. Same as extract-excel but schema must have is_agent_mode. schema_id + file_base64 or file_path. Use snake_case names exactly. OpenAPI multipart `file` → file_base64 or file_path in A2A JSON.","outputModes":["application/json","text/plain"]},{"id":"agent-extract-pdf","name":"PDF to JSON with Agent Mode reasoning","tags":["agent","pdf"],"examples":["{\"skill\":\"agent-extract-pdf\",\"schema_id\":\"<uuid>\",\"file_base64\":\"<base64>\"}"],"security":[{"apiKey":[]}],"inputModes":["application/json","text/plain"],"description":"PDF to JSON with Agent Mode reasoning. Same inputs as extract-pdf, but the schema must have is_agent_mode enabled. Returns data[], typed agent_data, and log_id. If source verification is enabled on the schema, fields are {value, source}. Max PDF size: 15 MB. A2A skill id: agent-extract-pdf. REST: POST /agent/pdf-json. JSON DataPart must include \"skill\": \"agent-extract-pdf\". Required A2A parameters: skill, schema_id. Form/DataPart fields: schema_id, file_base64, file_path, filename, space_id. Same as extract-pdf but schema must have is_agent_mode. schema_id + file_base64 or file_path. Use snake_case names exactly. OpenAPI multipart `file` → file_base64 or file_path in A2A JSON.","outputModes":["application/json","text/plain"]},{"id":"agent-extract-doc","name":"Document to JSON with Agent Mode reasoning","tags":["agent","docx"],"examples":["{\"skill\":\"agent-extract-doc\",\"schema_id\":\"<uuid>\",\"file_base64\":\"<base64>\"}"],"security":[{"apiKey":[]}],"inputModes":["application/json","text/plain"],"description":"Document to JSON with Agent Mode reasoning. Same inputs as extract-doc, but the schema must have is_agent_mode enabled. Returns data[], agent_data, and log_id. If source verification is enabled on the schema, fields are {value, source}. Formats: .docx, .txt, .md, .rtf. A2A skill id: agent-extract-doc. REST: POST /agent/doc-json. JSON DataPart must include \"skill\": \"agent-extract-doc\". Required A2A parameters: skill, schema_id. Form/DataPart fields: schema_id, file_base64, file_path, filename, space_id. Same as extract-doc but schema must have is_agent_mode. schema_id + file_base64 or file_path. Use snake_case names exactly. OpenAPI multipart `file` → file_base64 or file_path in A2A JSON.","outputModes":["application/json","text/plain"]},{"id":"agent-extract-img","name":"Image to JSON with Agent Mode reasoning","tags":["agent","image"],"examples":["{\"skill\":\"agent-extract-img\",\"schema_id\":\"<uuid>\",\"file_base64\":\"<base64>\"}"],"security":[{"apiKey":[]}],"inputModes":["application/json","text/plain"],"description":"Image to JSON with Agent Mode reasoning. Same inputs as extract-img, but the schema must have is_agent_mode enabled. Returns data[], agent_data, and log_id. If source verification is enabled on the schema, fields are {value, source}. Formats: JPEG, PNG, WebP, HEIC/HEIF. A2A skill id: agent-extract-img. REST: POST /agent/img-json. JSON DataPart must include \"skill\": \"agent-extract-img\". Required A2A parameters: skill, schema_id. Form/DataPart fields: schema_id, file_base64, file_path, filename, space_id. Same as extract-img but schema must have is_agent_mode. schema_id + file_base64 or file_path. Use snake_case names exactly. OpenAPI multipart `file` → file_base64 or file_path in A2A JSON.","outputModes":["application/json","text/plain"]},{"id":"agent-extract-txt","name":"Text/HTML/XML to JSON with Agent Mode reasoning","tags":["agent","text"],"examples":["{\"skill\":\"agent-extract-txt\",\"schema_id\":\"<uuid>\",\"content\":\"<text>\"}"],"security":[{"apiKey":[]}],"inputModes":["application/json","text/plain"],"description":"Text/HTML/XML to JSON with Agent Mode reasoning. Same inputs as extract-txt, but the schema must have is_agent_mode enabled. content string + schema_id; returns data[], agent_data, and log_id. If source verification is enabled on the schema, fields are {value, source}. A2A skill id: agent-extract-txt. REST: POST /agent/txt-json. JSON DataPart must include \"skill\": \"agent-extract-txt\". Required A2A parameters: skill, content, schema_id. Form/DataPart fields: schema_id, content, space_id. Same as extract-txt but schema must have is_agent_mode. schema_id + content string. Use snake_case names exactly. OpenAPI multipart `file` → file_base64 or file_path in A2A JSON.","outputModes":["application/json","text/plain"]},{"id":"agent-extract-audio","name":"Audio to JSON with Agent Mode reasoning","tags":["agent","audio"],"examples":["{\"skill\":\"agent-extract-audio\",\"schema_id\":\"<uuid>\",\"file_base64\":\"<base64>\"}"],"security":[{"apiKey":[]}],"inputModes":["application/json","text/plain"],"description":"Audio to JSON with Agent Mode reasoning. Same inputs as extract-audio, but the schema must have is_agent_mode enabled. Returns data[], agent_data, and log_id. If source verification is enabled on the schema, fields are {value, source}. Formats: MP3, WAV, M4A, OGG. Max 12 MB / 10 minutes. A2A skill id: agent-extract-audio. REST: POST /agent/audio-json. JSON DataPart must include \"skill\": \"agent-extract-audio\". Required A2A parameters: skill, schema_id. Form/DataPart fields: schema_id, file_base64, file_path, filename, space_id. Same as extract-audio but schema must have is_agent_mode. schema_id + file_base64 or file_path. Use snake_case names exactly. OpenAPI multipart `file` → file_base64 or file_path in A2A JSON.","outputModes":["application/json","text/plain"]},{"id":"list-schemas","name":"List every schema for the API key account","tags":["schemas"],"examples":["{\"skill\":\"list-schemas\"}"],"security":[{"apiKey":[]}],"inputModes":["application/json","text/plain"],"description":"List every schema for the API key account. No parameters. Returns all schemas owned by the API key account (id, name, type, definition), newest first. Free call. A2A skill id: list-schemas. REST: GET /schemas. JSON DataPart must include \"skill\": \"list-schemas\". Required A2A parameters: skill. No parameters. Returns every schema in the account. Use snake_case names exactly. OpenAPI multipart `file` → file_base64 or file_path in A2A JSON.","outputModes":["application/json","text/plain"]},{"id":"create-schema","name":"Create a schema for the API key account","tags":["schemas"],"examples":["{\"skill\":\"create-schema\",\"name\":\"Invoice\",\"type\":\"pdf-json\",\"schema_definition\":{}}"],"security":[{"apiKey":[]}],"inputModes":["application/json","text/plain"],"description":"Create a schema for the API key account. JSON body: name, type (excel-json | json-excel | pdf-json | doc-json | img-json | txt-json | audio-json), and schema_definition (object). Optional is_agent_mode, agent_definition, resumen_agent, window_context, window_time, and source verification. Free call. A2A skill id: create-schema. REST: POST /create-schema. JSON DataPart must include \"skill\": \"create-schema\". Required A2A parameters: skill, name, type, schema_definition. Body JSON fields: name, type, schema_definition, is_agent_mode, agent_definition, resumen_agent, window_context, window_time, cita_por_campo. JSON body: name, type (excel-json|pdf-json|doc-json|img-json|txt-json|audio-json|json-excel), schema_definition (object). Optional is_agent_mode, agent_definition, window_context, window_time, source verification. Use snake_case names exactly. OpenAPI multipart `file` → file_base64 or file_path in A2A JSON.","outputModes":["application/json","text/plain"]},{"id":"delete-schema","name":"Delete a schema from the API key account","tags":["schemas"],"examples":["{\"skill\":\"delete-schema\",\"schema_id\":\"<uuid>\"}"],"security":[{"apiKey":[]}],"inputModes":["application/json","text/plain"],"description":"Delete a schema from the API key account. JSON body with schema_id (UUID). Deletes the schema if it belongs to the API key account. Free call. A2A skill id: delete-schema. REST: POST /delete-schema. JSON DataPart must include \"skill\": \"delete-schema\". Required A2A parameters: skill, schema_id. Body JSON fields: schema_id. JSON body with schema_id (UUID). Query ?schema_id= also accepted by REST. Use snake_case names exactly. OpenAPI multipart `file` → file_base64 or file_path in A2A JSON.","outputModes":["application/json","text/plain"]}],"iconUrl":"https://www.claix.dev/claix-logo.png","version":"1.0.0","provider":{"url":"https://www.claix.dev","organization":"Claix"},"security":[{"apiKey":[]}],"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. Optional Source Tracing on extracted fields.","capabilities":{"streaming":false,"extensions":[{"uri":"https://claix.dev/a2a/extensions/openapi-skills","params":{"extract-doc":{"inputSchema":{"type":"object","required":["skill","schema_id"],"properties":{"skill":{"type":"string","description":"Skill identifier matching the Agent Card skill id."},"filename":{"type":"string","description":"Original filename with extension."},"space_id":{"type":"string","format":"uuid","example":"5b9e2c14-7d3a-4f8b-9e1c-6a0d4b8f2e7c","description":"Optional. Knowledge space UUID to attach the persisted document when window_context is enabled."},"file_path":{"type":"string","format":"uri","description":"Public https URL of the document to download."},"schema_id":{"type":"string","format":"uuid","example":"b980cfe7-61ef-4a5a-9724-881c8a5541e2","description":"UUID of a doc-json schema for this account."},"file_base64":{"type":"string","description":"Base64-encoded document (or data URL)."}},"additionalProperties":true},"openApiPath":"/doc-json","openApiMethod":"POST","openApiOperationId":"docToJson"},"extract-img":{"inputSchema":{"type":"object","required":["skill","schema_id"],"properties":{"skill":{"type":"string","description":"Skill identifier matching the Agent Card skill id."},"filename":{"type":"string","description":"Original filename with extension."},"space_id":{"type":"string","format":"uuid","example":"5b9e2c14-7d3a-4f8b-9e1c-6a0d4b8f2e7c","description":"Optional. Knowledge space UUID to attach the persisted document when window_context is enabled."},"file_path":{"type":"string","format":"uri","description":"Public https URL of the image to download."},"schema_id":{"type":"string","format":"uuid","example":"3c7a9f21-4b8e-4d1a-9c6f-2e0d8a5b7c4f","description":"UUID of an img-json schema for this account."},"file_base64":{"type":"string","description":"Base64-encoded image (or data URL)."}},"additionalProperties":true},"openApiPath":"/img-json","openApiMethod":"POST","openApiOperationId":"imgToJson"},"extract-pdf":{"inputSchema":{"type":"object","required":["skill","schema_id"],"properties":{"skill":{"type":"string","description":"Skill identifier matching the Agent Card skill id."},"filename":{"type":"string","description":"Original filename with extension."},"space_id":{"type":"string","format":"uuid","example":"5b9e2c14-7d3a-4f8b-9e1c-6a0d4b8f2e7c","description":"Optional. Knowledge space UUID to attach the persisted document when window_context is enabled."},"file_path":{"type":"string","format":"uri","description":"Public https URL of the PDF to download."},"schema_id":{"type":"string","format":"uuid","example":"3c7a9f21-4b8e-4d1a-9c6f-2e0d8a5b7c4f","description":"UUID of a pdf-json schema for this account."},"file_base64":{"type":"string","description":"Base64-encoded PDF (or data URL)."}},"additionalProperties":true},"openApiPath":"/pdf-json","openApiMethod":"POST","openApiOperationId":"pdfToJson"},"extract-txt":{"inputSchema":{"type":"object","required":["skill","content","schema_id"],"properties":{"skill":{"type":"string","description":"Skill identifier matching the Agent Card skill id."},"content":{"type":"string","example":"<html><body><h1>Factura F-2026-00456</h1></body></html>","description":"Plain text, HTML, or XML string to extract from."},"space_id":{"type":"string","format":"uuid","example":"5b9e2c14-7d3a-4f8b-9e1c-6a0d4b8f2e7c","description":"Optional. Knowledge space UUID to attach the persisted document when window_context is enabled."},"schema_id":{"type":"string","format":"uuid","example":"b980cfe7-61ef-4a5a-9724-881c8a5541e2","description":"UUID of a txt-json schema for this account."}},"additionalProperties":true},"openApiPath":"/txt-json","openApiMethod":"POST","openApiOperationId":"txtToJson"},"query-space":{"inputSchema":{"type":"object","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 of the knowledge space (path parameter)."},"questions":{"type":"array","items":{"$ref":"#/components/schemas/TypedContextQuestion"},"example":[{"format":"string","question":"¿Qué proveedor factura más en total sumando todas las facturas?"},{"format":"boolean","question":"¿Hay algún contrato cuyo importe no coincida con su factura?"}],"maxItems":5,"minItems":1,"description":"Array of 1–5 question strings (max 400 characters each). Do not include space_id in the question text."}},"additionalProperties":true},"openApiPath":"/space-context/{space_id}","openApiMethod":"POST","openApiOperationId":"spaceContextAsk"},"create-space":{"inputSchema":{"type":"object","required":["skill","name"],"properties":{"name":{"type":"string","example":"Proveedores 2026","maxLength":200,"minLength":1,"description":"Display name of the knowledge space (max 200 characters)."},"skill":{"type":"string","description":"Skill identifier matching the Agent Card skill id."}},"additionalProperties":true},"openApiPath":"/create-space","openApiMethod":"POST","openApiOperationId":"createSpace"},"delete-space":{"inputSchema":{"type":"object","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 of the knowledge space to delete (path parameter)."}},"additionalProperties":true},"openApiPath":"/delete-space/{space_id}","openApiMethod":"DELETE","openApiOperationId":"deleteSpace"},"get-document":{"inputSchema":{"type":"object","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 of the persisted document (path parameter)."}},"additionalProperties":true},"openApiPath":"/get-document/{document_id}","openApiMethod":"GET","openApiOperationId":"getDocument"},"list-schemas":{"inputSchema":{"type":"object","required":["skill"],"properties":{"skill":{"type":"string","description":"Skill identifier matching the Agent Card skill id."}},"additionalProperties":true},"openApiPath":"/schemas","openApiMethod":"GET","openApiOperationId":"listSchemas"},"create-schema":{"inputSchema":{"type":"object","required":["skill","name","type","schema_definition"],"properties":{"name":{"type":"string","example":"DNI cliente","maxLength":200,"description":"Visible schema name (max 200 characters)."},"type":{"enum":["excel-json","json-excel","pdf-json","doc-json","img-json","txt-json","audio-json"],"type":"string","example":"img-json","description":"Conversion type: excel-json, json-excel, pdf-json, doc-json, img-json, txt-json, or audio-json."},"skill":{"type":"string","description":"Skill identifier matching the Agent Card skill id."},"window_time":{"oneOf":[{"enum":[5,10,15,30,45,60,90,120,180,240,360,480,720,1440,0],"type":"number"},{"enum":["infinity"],"type":"string"}],"example":null,"nullable":true,"description":"Required when window_context is true. Minutes: 5–1440, or 0 / \"infinity\" for no expiry."},"is_agent_mode":{"type":"boolean","example":true,"description":"When true, Agent Mode is enabled and agent_definition is required."},"resumen_agent":{"type":"string","nullable":true,"maxLength":500,"description":"Optional instruction for the Agent Mode reasoning phase (max 500 chars)."},"cita_por_campo":{"type":"boolean","example":false,"description":"Enables source verification: each extracted field (and each agent_data field) is returned as {value, source} instead of a bare value. Defaults to false."},"window_context":{"type":"boolean","example":false,"description":"When true, extractions persist a queryable document context window."},"agent_definition":{"type":"object","description":"Agent Mode field definitions (boolean, string, closed, integer). Required when is_agent_mode is true.","additionalProperties":{"$ref":"#/components/schemas/AgentFieldDefinition"}},"schema_definition":{"type":"object","description":"Object whose keys are output property names; each value has type and description.","additionalProperties":{"$ref":"#/components/schemas/SchemaFieldDefinition"}}},"additionalProperties":true},"openApiPath":"/create-schema","openApiMethod":"POST","openApiOperationId":"createSchema"},"delete-schema":{"inputSchema":{"type":"object","required":["skill","schema_id"],"properties":{"skill":{"type":"string","description":"Skill identifier matching the Agent Card skill id."},"schema_id":{"type":"string","format":"uuid","example":"b980cfe7-61ef-4a5a-9724-881c8a5541e2","description":"UUID of the schema to delete."}},"additionalProperties":true},"openApiPath":"/delete-schema","openApiMethod":"POST","openApiOperationId":"deleteSchema"},"extract-audio":{"inputSchema":{"type":"object","required":["skill","schema_id"],"properties":{"skill":{"type":"string","description":"Skill identifier matching the Agent Card skill id."},"filename":{"type":"string","description":"Original filename with extension."},"space_id":{"type":"string","format":"uuid","example":"5b9e2c14-7d3a-4f8b-9e1c-6a0d4b8f2e7c","description":"Optional. Knowledge space UUID to attach the persisted document when window_context is enabled."},"file_path":{"type":"string","format":"uri","description":"Public https URL of the audio file to download."},"schema_id":{"type":"string","format":"uuid","example":"3c7a9f21-4b8e-4d1a-9c6f-2e0d8a5b7c4f","description":"UUID of an audio-json schema for this account."},"file_base64":{"type":"string","description":"Base64-encoded audio (or data URL)."}},"additionalProperties":true},"openApiPath":"/audio-json","openApiMethod":"POST","openApiOperationId":"audioToJson"},"extract-excel":{"inputSchema":{"type":"object","required":["skill","schema_id"],"properties":{"skill":{"type":"string","description":"Skill identifier matching the Agent Card skill id."},"filename":{"type":"string","description":"Original filename with extension."},"space_id":{"type":"string","format":"uuid","example":"5b9e2c14-7d3a-4f8b-9e1c-6a0d4b8f2e7c","description":"Optional. Knowledge space UUID to attach the persisted document when window_context is enabled on the schema."},"file_path":{"type":"string","format":"uri","description":"Public https URL of the .xlsx or .csv file to download."},"schema_id":{"type":"string","format":"uuid","example":"8f14e45f-ceea-4e6f-8b23-1e2d3c4b5a6f","description":"UUID of an excel-json schema previously created for this account."},"file_base64":{"type":"string","description":"Base64-encoded .xlsx or .csv (or data URL)."}},"additionalProperties":true},"openApiPath":"/excel-json","openApiMethod":"POST","openApiOperationId":"excelToJson"},"query-document":{"inputSchema":{"type":"object","required":["skill","document_id","questions"],"properties":{"skill":{"type":"string","description":"Skill identifier matching the Agent Card skill id."},"questions":{"type":"array","items":{"$ref":"#/components/schemas/TypedContextQuestion"},"example":[{"format":"string","question":"¿Cuál es la penalización exacta por cancelación anticipada?"},{"format":"string","question":"¿Qué empresa figura como arrendataria y cuál es su CIF?"}],"maxItems":5,"minItems":1,"description":"Array of 1–5 question strings (max 400 characters each). Do not include document_id in the question text."},"document_id":{"type":"string","format":"uuid","description":"UUID of the persisted document (path parameter)."}},"additionalProperties":true},"openApiPath":"/document-context/{document_id}","openApiMethod":"POST","openApiOperationId":"documentContextAsk"},"delete-document":{"inputSchema":{"type":"object","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 of the document to delete (path parameter)."}},"additionalProperties":true},"openApiPath":"/delete-document/{document_id}","openApiMethod":"DELETE","openApiOperationId":"deleteDocument"},"agent-extract-doc":{"inputSchema":{"type":"object","required":["skill","schema_id"],"properties":{"skill":{"type":"string","description":"Skill identifier matching the Agent Card skill id."},"filename":{"type":"string","description":"Original filename with extension."},"space_id":{"type":"string","format":"uuid","example":"5b9e2c14-7d3a-4f8b-9e1c-6a0d4b8f2e7c","description":"Optional knowledge space UUID when window_context is enabled."},"file_path":{"type":"string","format":"uri","description":"Public https URL of the document to download."},"schema_id":{"type":"string","format":"uuid","example":"b980cfe7-61ef-4a5a-9724-881c8a5541e2","description":"UUID of an agent-mode doc-json schema."},"file_base64":{"type":"string","description":"Base64-encoded document (or data URL)."}},"additionalProperties":true},"openApiPath":"/agent/doc-json","openApiMethod":"POST","openApiOperationId":"agentDocToJson"},"agent-extract-img":{"inputSchema":{"type":"object","required":["skill","schema_id"],"properties":{"skill":{"type":"string","description":"Skill identifier matching the Agent Card skill id."},"filename":{"type":"string","description":"Original filename with extension."},"space_id":{"type":"string","format":"uuid","example":"5b9e2c14-7d3a-4f8b-9e1c-6a0d4b8f2e7c","description":"Optional knowledge space UUID when window_context is enabled."},"file_path":{"type":"string","format":"uri","description":"Public https URL of the image to download."},"schema_id":{"type":"string","format":"uuid","example":"3c7a9f21-4b8e-4d1a-9c6f-2e0d8a5b7c4f","description":"UUID of an agent-mode img-json schema."},"file_base64":{"type":"string","description":"Base64-encoded image (or data URL)."}},"additionalProperties":true},"openApiPath":"/agent/img-json","openApiMethod":"POST","openApiOperationId":"agentImgToJson"},"agent-extract-pdf":{"inputSchema":{"type":"object","required":["skill","schema_id"],"properties":{"skill":{"type":"string","description":"Skill identifier matching the Agent Card skill id."},"filename":{"type":"string","description":"Original filename with extension."},"space_id":{"type":"string","format":"uuid","example":"5b9e2c14-7d3a-4f8b-9e1c-6a0d4b8f2e7c","description":"Optional knowledge space UUID when window_context is enabled."},"file_path":{"type":"string","format":"uri","description":"Public https URL of the PDF to download."},"schema_id":{"type":"string","format":"uuid","example":"3c7a9f21-4b8e-4d1a-9c6f-2e0d8a5b7c4f","description":"UUID of an agent-mode pdf-json schema."},"file_base64":{"type":"string","description":"Base64-encoded PDF (or data URL)."}},"additionalProperties":true},"openApiPath":"/agent/pdf-json","openApiMethod":"POST","openApiOperationId":"agentPdfToJson"},"agent-extract-txt":{"inputSchema":{"type":"object","required":["skill","content","schema_id"],"properties":{"skill":{"type":"string","description":"Skill identifier matching the Agent Card skill id."},"content":{"type":"string","example":"<html><body><h1>Factura F-2026-00456</h1></body></html>","description":"Plain text, HTML, or XML string to extract from."},"space_id":{"type":"string","format":"uuid","example":"5b9e2c14-7d3a-4f8b-9e1c-6a0d4b8f2e7c","description":"Optional knowledge space UUID when window_context is enabled."},"schema_id":{"type":"string","format":"uuid","example":"b980cfe7-61ef-4a5a-9724-881c8a5541e2","description":"UUID of an agent-mode txt-json schema."}},"additionalProperties":true},"openApiPath":"/agent/txt-json","openApiMethod":"POST","openApiOperationId":"agentTxtToJson"},"agent-extract-audio":{"inputSchema":{"type":"object","required":["skill","schema_id"],"properties":{"skill":{"type":"string","description":"Skill identifier matching the Agent Card skill id."},"filename":{"type":"string","description":"Original filename with extension."},"space_id":{"type":"string","format":"uuid","example":"5b9e2c14-7d3a-4f8b-9e1c-6a0d4b8f2e7c","description":"Optional knowledge space UUID when window_context is enabled."},"file_path":{"type":"string","format":"uri","description":"Public https URL of the audio file to download."},"schema_id":{"type":"string","format":"uuid","example":"3c7a9f21-4b8e-4d1a-9c6f-2e0d8a5b7c4f","description":"UUID of an agent-mode audio-json schema."},"file_base64":{"type":"string","description":"Base64-encoded audio (or data URL)."}},"additionalProperties":true},"openApiPath":"/agent/audio-json","openApiMethod":"POST","openApiOperationId":"agentAudioToJson"},"agent-extract-excel":{"inputSchema":{"type":"object","required":["skill","schema_id"],"properties":{"skill":{"type":"string","description":"Skill identifier matching the Agent Card skill id."},"filename":{"type":"string","description":"Original filename with extension."},"space_id":{"type":"string","format":"uuid","example":"5b9e2c14-7d3a-4f8b-9e1c-6a0d4b8f2e7c","description":"Optional knowledge space UUID when window_context is enabled."},"file_path":{"type":"string","format":"uri","description":"Public https URL of the file to download."},"schema_id":{"type":"string","format":"uuid","example":"8f14e45f-ceea-4e6f-8b23-1e2d3c4b5a6f","description":"UUID of an agent-mode excel-json schema."},"file_base64":{"type":"string","description":"Base64-encoded .xlsx or .csv (or data URL)."}},"additionalProperties":true},"openApiPath":"/agent/excel-json","openApiMethod":"POST","openApiOperationId":"agentExcelToJson"},"convert-json-to-excel":{"inputSchema":{"type":"object","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 of a json-excel schema for this account."}},"additionalProperties":true},"openApiPath":"/json-excel","openApiMethod":"POST","openApiOperationId":"jsonToExcel"}},"required":false,"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."}],"pushNotifications":true},"protocolVersion":"0.3","securitySchemes":{"apiKey":{"in":"header","name":"x-api-key","type":"apiKey","description":"Claix API key (same as the REST API)."}},"documentationUrl":"https://www.claix.dev/documentation","defaultInputModes":["application/json","text/plain"],"defaultOutputModes":["application/json","text/plain"],"preferredTransport":"JSONRPC","supportedInterfaces":[{"url":"https://www.claix.dev/a2a","tenant":"","protocolBinding":"JSONRPC","protocolVersion":"1.0"},{"url":"https://www.claix.dev/a2a","tenant":"","protocolBinding":"JSONRPC","protocolVersion":"0.3"}],"supportsAuthenticatedExtendedCard":false},"source_name":"Direct submission","source_url":"https://www.claix.dev/.well-known/agent-card.json","last_check":{"checked_at":"2026-10-07T08:19:57.174006+00:00","success":true,"http_status":200,"detail":"Agent Card validated"},"skills":[{"skill_id":"query-document","name":"Answer questions about a persisted document","description":"Answer questions about a persisted document. document_id goes in the URL path. questions (1–5 strings, max 400 chars each) go in the JSON body only — never embed document_id inside a question. Returns { user_ask, ia_response, log_id } aligned 1:1; ia_response items are null when the answer is not in the document. If source verification is enabled on document queries, each ia_response item is {value, source} citing markdown evidence (or source is requires_human_revision). A2A skill id: query-document. REST: POST /document-context/{document_id}. JSON DataPart must include \"skill\": \"query-document\". Required A2A parameters: skill, document_id, questions. Path params: document_id. Body JSON fields: questions. document_id goes in the URL path. questions[] of { question, format } (1–5 items; format ∈ string|int|boolean|timestamp|array; question max 400 chars) goes in the JSON body only — never inside the question text. Use snake_case names exactly. OpenAPI multipart `file` → file_base64 or file_path in A2A JSON.","tags":["context","qa","document"]},{"skill_id":"query-space","name":"Answer questions across every document in a knowledge space","description":"Answer questions across every document in a knowledge space. space_id goes in the URL path. questions (1–5 strings, max 400 chars each) go in the JSON body only — never embed space_id inside a question. Cross-references up to 50 active documents in the space. Returns { user_ask, ia_response, log_id }; null means no evidence in any document. If source verification is enabled on knowledge space queries, each ia_response item is {value, source} naming document_id and file_name. A2A skill id: query-space. REST: POST /space-context/{space_id}. JSON DataPart must include \"skill\": \"query-space\". Required A2A parameters: skill, space_id, questions. Path params: space_id. Body JSON fields: questions. space_id goes in the URL path. questions[] of { question, format } (1–5 items; format ∈ string|int|boolean|timestamp|array; question max 400 chars) goes in the JSON body only — never inside the question text. Use snake_case names exactly. OpenAPI multipart `file` → file_base64 or file_path in A2A JSON.","tags":["context","qa","space"]},{"skill_id":"agent-extract-audio","name":"Audio to JSON with Agent Mode reasoning","description":"Audio to JSON with Agent Mode reasoning. Same inputs as extract-audio, but the schema must have is_agent_mode enabled. Returns data[], agent_data, and log_id. If source verification is enabled on the schema, fields are {value, source}. Formats: MP3, WAV, M4A, OGG. Max 12 MB / 10 minutes. A2A skill id: agent-extract-audio. REST: POST /agent/audio-json. JSON DataPart must include \"skill\": \"agent-extract-audio\". Required A2A parameters: skill, schema_id. Form/DataPart fields: schema_id, file_base64, file_path, filename, space_id. Same as extract-audio but schema must have is_agent_mode. schema_id + file_base64 or file_path. Use snake_case names exactly. OpenAPI multipart `file` → file_base64 or file_path in A2A JSON.","tags":["agent","audio"]},{"skill_id":"convert-json-to-excel","name":"Convert JSON documents to an Excel file","description":"Convert JSON documents to an Excel file. Accepts JSON data and a schema_id, and returns a binary .xlsx whose columns follow the schema order and names. In A2A send schema_id plus data (array or object). Aliases records and json_data are normalized to data. A2A skill id: convert-json-to-excel. REST: POST /json-excel. JSON DataPart must include \"skill\": \"convert-json-to-excel\". Required A2A parameters: skill. Body JSON fields: schema_id, data. JSON body: schema_id (required) and data (array or object). Aliases records/json_data also map to data. Use snake_case names exactly. OpenAPI multipart `file` → file_base64 or file_path in A2A JSON.","tags":["convert","excel","json"]},{"skill_id":"extract-excel","name":"Convert an Excel or CSV file to JSON using a schema","description":"Convert an Excel or CSV file to JSON using a schema. Accepts an .xlsx or .csv file and a schema_id, and returns transformed JSON whose keys match the schema properties exactly, plus log_id. If source verification is enabled on the schema, each field is {value, source} instead of a bare value. If the workbook has multiple sheets, only the first sheet is processed. Max file size follows the REST /excel-json limits. A2A skill id: extract-excel. REST: POST /excel-json. JSON DataPart must include \"skill\": \"extract-excel\". Required A2A parameters: skill, schema_id. Form/DataPart fields: schema_id, file_base64, file_path, filename, space_id. multipart/form-data equivalent: schema_id + file_base64 or file_path in the DataPart JSON. Optional space_id groups the persisted document. Use snake_case names exactly. OpenAPI multipart `file` → file_base64 or file_path in A2A JSON.","tags":["extract","excel","csv","json"]},{"skill_id":"create-space","name":"Create a knowledge space for the API key account","description":"Create a knowledge space for the API key account. Creates an empty knowledge space. Required JSON body field: name (max 200 chars). Returns space_id for use as optional space_id on extractions and for query-space. Free call. A2A skill id: create-space. REST: POST /create-space. JSON DataPart must include \"skill\": \"create-space\". Required A2A parameters: skill, name. Body JSON fields: name. JSON body with name (string, max 200 chars). Returns space_id. Use snake_case names exactly. OpenAPI multipart `file` → file_base64 or file_path in A2A JSON.","tags":["spaces"]},{"skill_id":"create-schema","name":"Create a schema for the API key account","description":"Create a schema for the API key account. JSON body: name, type (excel-json | json-excel | pdf-json | doc-json | img-json | txt-json | audio-json), and schema_definition (object). Optional is_agent_mode, agent_definition, resumen_agent, window_context, window_time, and source verification. Free call. A2A skill id: create-schema. REST: POST /create-schema. JSON DataPart must include \"skill\": \"create-schema\". Required A2A parameters: skill, name, type, schema_definition. Body JSON fields: name, type, schema_definition, is_agent_mode, agent_definition, resumen_agent, window_context, window_time, cita_por_campo. JSON body: name, type (excel-json|pdf-json|doc-json|img-json|txt-json|audio-json|json-excel), schema_definition (object). Optional is_agent_mode, agent_definition, window_context, window_time, source verification. Use snake_case names exactly. OpenAPI multipart `file` → file_base64 or file_path in A2A JSON.","tags":["schemas"]},{"skill_id":"delete-space","name":"Delete a knowledge space","description":"Delete a knowledge space. space_id is a path parameter only (no body). Deletes the space owned by the API key account. Free call. A2A skill id: delete-space. REST: DELETE /delete-space/{space_id}. JSON DataPart must include \"skill\": \"delete-space\". Required A2A parameters: skill, space_id. Path params: space_id. space_id is a path parameter only. No body. Use snake_case names exactly. OpenAPI multipart `file` → file_base64 or file_path in A2A JSON.","tags":["spaces"]},{"skill_id":"delete-document","name":"Delete a persisted document","description":"Delete a persisted document. document_id is a path parameter only (no body). Deletes the document owned by the API key account. Free call. A2A skill id: delete-document. REST: DELETE /delete-document/{document_id}. JSON DataPart must include \"skill\": \"delete-document\". Required A2A parameters: skill, document_id. Path params: document_id. document_id is a path parameter only. No body. Use snake_case names exactly. OpenAPI multipart `file` → file_base64 or file_path in A2A JSON.","tags":["context","document"]},{"skill_id":"delete-schema","name":"Delete a schema from the API key account","description":"Delete a schema from the API key account. JSON body with schema_id (UUID). Deletes the schema if it belongs to the API key account. Free call. A2A skill id: delete-schema. REST: POST /delete-schema. JSON DataPart must include \"skill\": \"delete-schema\". Required A2A parameters: skill, schema_id. Body JSON fields: schema_id. JSON body with schema_id (UUID). Query ?schema_id= also accepted by REST. Use snake_case names exactly. OpenAPI multipart `file` → file_base64 or file_path in A2A JSON.","tags":["schemas"]},{"skill_id":"agent-extract-doc","name":"Document to JSON with Agent Mode reasoning","description":"Document to JSON with Agent Mode reasoning. Same inputs as extract-doc, but the schema must have is_agent_mode enabled. Returns data[], agent_data, and log_id. If source verification is enabled on the schema, fields are {value, source}. Formats: .docx, .txt, .md, .rtf. A2A skill id: agent-extract-doc. REST: POST /agent/doc-json. JSON DataPart must include \"skill\": \"agent-extract-doc\". Required A2A parameters: skill, schema_id. Form/DataPart fields: schema_id, file_base64, file_path, filename, space_id. Same as extract-doc but schema must have is_agent_mode. schema_id + file_base64 or file_path. Use snake_case names exactly. OpenAPI multipart `file` → file_base64 or file_path in A2A JSON.","tags":["agent","docx"]},{"skill_id":"agent-extract-excel","name":"Excel/CSV to JSON with Agent Mode reasoning","description":"Excel/CSV to JSON with Agent Mode reasoning. Same inputs as extract-excel, but the schema must have is_agent_mode enabled. Returns extraction data, agent_data from agent_definition, and log_id. If source verification is enabled on the schema, fields are {value, source}. A2A skill id: agent-extract-excel. REST: POST /agent/excel-json. JSON DataPart must include \"skill\": \"agent-extract-excel\". Required A2A parameters: skill, schema_id. Form/DataPart fields: schema_id, file_base64, file_path, filename, space_id. Same as extract-excel but schema must have is_agent_mode. schema_id + file_base64 or file_path. Use snake_case names exactly. OpenAPI multipart `file` → file_base64 or file_path in A2A JSON.","tags":["agent","excel"]},{"skill_id":"extract-pdf","name":"Extract structured data from a PDF using a schema","description":"Extract structured data from a PDF using a schema. Accepts a .pdf (selectable text or scanned) and a schema_id, and returns a single JSON object for the whole document plus log_id. Response data always contains exactly one record. If source verification is enabled on the schema, each field is {value, source}. Max file size: 15 MB. A2A skill id: extract-pdf. REST: POST /pdf-json. JSON DataPart must include \"skill\": \"extract-pdf\". Required A2A parameters: skill, schema_id. Form/DataPart fields: schema_id, file_base64, file_path, filename, space_id. schema_id + file_base64 or file_path in the DataPart JSON. Optional space_id. Use snake_case names exactly. OpenAPI multipart `file` → file_base64 or file_path in A2A JSON.","tags":["extract","pdf","json"]},{"skill_id":"extract-doc","name":"Extract structured data from a text document using a schema","description":"Extract structured data from a text document using a schema. Accepts .docx, .txt, .md, or .rtf plus a schema_id, and returns a single JSON object for the whole document plus log_id. If source verification is enabled on the schema, each field is {value, source}. Legacy .doc (Word 97-2003) is not supported. Max file size: 10 MB; extracted text max 300,000 characters. A2A skill id: extract-doc. REST: POST /doc-json. JSON DataPart must include \"skill\": \"extract-doc\". Required A2A parameters: skill, schema_id. Form/DataPart fields: schema_id, file_base64, file_path, filename, space_id. schema_id + file_base64 or file_path (.docx, .txt, .md, .rtf). Optional space_id. Use snake_case names exactly. OpenAPI multipart `file` → file_base64 or file_path in A2A JSON.","tags":["extract","docx","json"]},{"skill_id":"extract-img","name":"Extract structured data from an image using a schema","description":"Extract structured data from an image using a schema. Accepts .jpeg, .jpg, .png, .webp, .heic, or .heif plus a schema_id, and returns a single JSON object from the visible content plus log_id. If source verification is enabled on the schema, each field is {value, source}. Unreadable images return HTTP 422. Max file size: 15 MB. A2A skill id: extract-img. REST: POST /img-json. JSON DataPart must include \"skill\": \"extract-img\". Required A2A parameters: skill, schema_id. Form/DataPart fields: schema_id, file_base64, file_path, filename, space_id. schema_id + file_base64 or file_path (.jpeg, .png, .webp, .heic). Optional space_id. Use snake_case names exactly. OpenAPI multipart `file` → file_base64 or file_path in A2A JSON.","tags":["extract","image","json"]},{"skill_id":"extract-txt","name":"Extract structured data from plain text, HTML, or XML using a schema","description":"Extract structured data from plain text, HTML, or XML using a schema. Accepts a content string (plain text, HTML, or XML) and a txt-json schema_id. No file upload. Returns log_id. If source verification is enabled on the schema, each field is {value, source}. Max 300,000 characters. A2A skill id: extract-txt. REST: POST /txt-json. JSON DataPart must include \"skill\": \"extract-txt\". Required A2A parameters: skill, content, schema_id. Form/DataPart fields: schema_id, content, space_id. schema_id + content (plain text/HTML/XML string, not a file). Optional space_id. Use snake_case names exactly. OpenAPI multipart `file` → file_base64 or file_path in A2A JSON.","tags":["extract","text","html","xml"]},{"skill_id":"extract-audio","name":"Extract structured data from spoken audio using a schema","description":"Extract structured data from spoken audio using a schema. Accepts .mp3, .wav, .m4a, or .ogg plus a schema_id, and returns a single JSON object from the spoken content plus log_id. If source verification is enabled on the schema, each field is {value, source}. Unintelligible audio returns HTTP 422. Max file size: 12 MB. Max duration: 10 minutes. A2A skill id: extract-audio. REST: POST /audio-json. JSON DataPart must include \"skill\": \"extract-audio\". Required A2A parameters: skill, schema_id. Form/DataPart fields: schema_id, file_base64, file_path, filename, space_id. schema_id + file_base64 or file_path (.mp3, .wav, .m4a, .ogg). Optional space_id. Use snake_case names exactly. OpenAPI multipart `file` → file_base64 or file_path in A2A JSON.","tags":["extract","audio","json"]},{"skill_id":"agent-extract-img","name":"Image to JSON with Agent Mode reasoning","description":"Image to JSON with Agent Mode reasoning. Same inputs as extract-img, but the schema must have is_agent_mode enabled. Returns data[], agent_data, and log_id. If source verification is enabled on the schema, fields are {value, source}. Formats: JPEG, PNG, WebP, HEIC/HEIF. A2A skill id: agent-extract-img. REST: POST /agent/img-json. JSON DataPart must include \"skill\": \"agent-extract-img\". Required A2A parameters: skill, schema_id. Form/DataPart fields: schema_id, file_base64, file_path, filename, space_id. Same as extract-img but schema must have is_agent_mode. schema_id + file_base64 or file_path. Use snake_case names exactly. OpenAPI multipart `file` → file_base64 or file_path in A2A JSON.","tags":["agent","image"]},{"skill_id":"list-schemas","name":"List every schema for the API key account","description":"List every schema for the API key account. No parameters. Returns all schemas owned by the API key account (id, name, type, definition), newest first. Free call. A2A skill id: list-schemas. REST: GET /schemas. JSON DataPart must include \"skill\": \"list-schemas\". Required A2A parameters: skill. No parameters. Returns every schema in the account. Use snake_case names exactly. OpenAPI multipart `file` → file_base64 or file_path in A2A JSON.","tags":["schemas"]},{"skill_id":"agent-extract-pdf","name":"PDF to JSON with Agent Mode reasoning","description":"PDF to JSON with Agent Mode reasoning. Same inputs as extract-pdf, but the schema must have is_agent_mode enabled. Returns data[], typed agent_data, and log_id. If source verification is enabled on the schema, fields are {value, source}. Max PDF size: 15 MB. A2A skill id: agent-extract-pdf. REST: POST /agent/pdf-json. JSON DataPart must include \"skill\": \"agent-extract-pdf\". Required A2A parameters: skill, schema_id. Form/DataPart fields: schema_id, file_base64, file_path, filename, space_id. Same as extract-pdf but schema must have is_agent_mode. schema_id + file_base64 or file_path. Use snake_case names exactly. OpenAPI multipart `file` → file_base64 or file_path in A2A JSON.","tags":["agent","pdf"]},{"skill_id":"get-document","name":"Return the raw content of a persisted document","description":"Return the raw content of a persisted document. Read-only. document_id is a path parameter only (no body). Returns markdown/text and metadata for a document created by an extraction with window_context enabled. Free call. A2A skill id: get-document. REST: GET /get-document/{document_id}. JSON DataPart must include \"skill\": \"get-document\". Required A2A parameters: skill, document_id. Path params: document_id. document_id is a path parameter only. No body and no questions. Use snake_case names exactly. OpenAPI multipart `file` → file_base64 or file_path in A2A JSON.","tags":["context","document"]},{"skill_id":"agent-extract-txt","name":"Text/HTML/XML to JSON with Agent Mode reasoning","description":"Text/HTML/XML to JSON with Agent Mode reasoning. Same inputs as extract-txt, but the schema must have is_agent_mode enabled. content string + schema_id; returns data[], agent_data, and log_id. If source verification is enabled on the schema, fields are {value, source}. A2A skill id: agent-extract-txt. REST: POST /agent/txt-json. JSON DataPart must include \"skill\": \"agent-extract-txt\". Required A2A parameters: skill, content, schema_id. Form/DataPart fields: schema_id, content, space_id. Same as extract-txt but schema must have is_agent_mode. schema_id + content string. Use snake_case names exactly. OpenAPI multipart `file` → file_base64 or file_path in A2A JSON.","tags":["agent","text"]}]}