Doxis AI.dp (Klippa DocHorizon) MCP by usefulapi
Capture invoices, receipts, IDs and bank statements with Doxis AI.dp; split, render, convert files.
Sollte ich dies verwenden
Qualität und Sicherheit
Befunde (6)
- LOWin dochorizon_list_prompt_configurations
- LOWin dochorizon_capture_bank_statement
- LOWin dochorizon_submit_async_capture
- LOWin dochorizon_get_async_job_result
- LOWin dochorizon_search_peppol_directory
- LOWin dochorizon_lookup_peppol_participant
Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.
Kontextkosten
Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.
Installieren
Installation mit einem Klick
Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:
{
"mcpServers": {
"klippa-dochorizon": {
"url": "https://klippa-dochorizon.usefulapi.io/mcp"
}
}
}Remote-Endpunkte
https://klippa-dochorizon.usefulapi.io/mcpstreamable-httpWas es kann
Tool-Inventar
Tools (30)
🟢dochorizon_get_key_info
Check the connected Doxis AI.dp (Klippa DocHorizon) API key: organization, project, credential id, and the services enabled for it. Does not process a document and costs nothing. GET /auth/v1/info.
Eingabe-Schema
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢dochorizon_list_models
List the document capturing models enabled for this project (financial, identity, bank statement, salary slip, generic, e-invoice, ...). Does not process a document; normally not billed. GET /document_capturing/v1/enabled_models.
Eingabe-Schema
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢dochorizon_list_configurations(model)
List the capturing configurations of a model (name, slug and the enabled components). Pass a slug as configuration_slug to a capture tool to choose which fields are extracted. Does not process a document; normally not billed. GET /document_capturing/v1/{model}/configurations.
Eingabe-Schema
{
"type": "object",
"properties": {
"model": {
"type": "string",
"enum": [
"financial",
"identity",
"bank_statement",
"salary_slip"
],
"description": "The capturing model."
}
},
"required": [
"model"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢dochorizon_get_model_schema(model, configuration_slug)
The JSON schema of what a capturing model returns (every field it can extract), optionally for one configuration. Does not process a document; normally not billed. GET /document_capturing/v1/{model}/schema or /{model}/configurations/{slug}/schema.
Eingabe-Schema
{
"type": "object",
"properties": {
"model": {
"type": "string",
"enum": [
"financial",
"identity",
"bank_statement",
"salary_slip",
"einvoice"
],
"description": "The capturing model."
},
"configuration_slug": {
"description": "Schema for this configuration (not for einvoice).",
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "^[A-Za-z0-9_.-]+$"
}
},
"required": [
"model"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢dochorizon_list_prompt_configurations
List the Prompt Builder (LLM extraction) configurations of the project: name and slug. Does not process a document; normally not billed. GET /document_capturing/v1/prompt_builder/configurations.
Eingabe-Schema
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢dochorizon_get_prompt_schema(slug)
The JSON schema of the output of one Prompt Builder configuration. Does not process a document; normally not billed. GET /document_capturing/v1/prompt_builder/configurations/{slug}/schema.
Eingabe-Schema
{
"type": "object",
"properties": {
"slug": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "^[A-Za-z0-9_.-]+$",
"description": "Prompt Builder configuration slug."
}
},
"required": [
"slug"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟡dochorizon_capture_financial(url, data_base64, file_id, filename, content_type, ...)
SPENDS CREDITS: extract structured data from an invoice, receipt or other financial document with the Financial model: merchant and customer, dates, totals, VAT, line items, payment details, currency, and more (as the chosen configuration enables). Uses your own Doxis AI.dp (Klippa) credits: billed per request or per page depending on the service (extra components in a configuration can add cost), at your project's price (Billing → Pricing in the platform); a new account starts with EUR 25 of free credit. Give the document as exactly one of url (public https), data_base64 (small files) or file_id (a stored file). Synchronous; for long documents use dochorizon_submit_async_capture. POST /document_capturing/v1/financial.
Eingabe-Schema
{
"type": "object",
"properties": {
"url": {
"description": "Public https URL of the document. Klippa downloads it (must complete within 30 seconds).",
"type": "string",
"maxLength": 2048
},
"data_base64": {
"description": "The document as base64 (at most about 1.5 MB of file). Prefer url or file_id for anything bigger.",
"type": "string",
"maxLength": 2000200
},
"file_id": {
"description": "A Doxis AI.dp storage file id (from dochorizon_upload_file or a toolkit result).",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"filename": {
"description": "A name for the file (helps content-type detection).",
"type": "string",
"maxLength": 255
},
"content_type": {
"description": "MIME type, if it cannot be detected.",
"type": "string",
"maxLength": 100,
"pattern": "^[\\w.+-]+\\/[\\w.+-]+$"
},
"password": {
"description": "Password of a protected PDF. Only used for this request.",
"type": "string",
"maxLength": 200
},
"page_ranges": {
"description": "Pages to process, for example '1-3, 5', '2-last', 'first-last' (default: all pages; documents over 50 pages time out).",
"type": "string",
"maxLength": 100
},
"configuration_slug": {
"description": "Slug of a capturing configuration made in the platform (see dochorizon_list_configurations). Optional: the model's defaults apply without it.",
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "^[A-Za-z0-9_.-]+$"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟡dochorizon_capture_identity(url, data_base64, file_id, filename, content_type, ...)
SPENDS CREDITS: read an identity document (passport, ID card, driver's licence, visa) with the Identity model: name, date of birth, nationality, document number, expiry, MRZ, validity and fraud checks. WARNING: the result contains personal data of the people on the document; handle it accordingly. It is returned to you only; this server never stores or logs it. Uses your own Doxis AI.dp (Klippa) credits: billed per request or per page depending on the service (extra components in a configuration can add cost), at your project's price (Billing → Pricing in the platform); a new account starts with EUR 25 of free credit. Give the document as exactly one of url (public https), data_base64 (small files) or file_id (a stored file). Images up to 4096 px per side. POST /document_capturing/v1/identity.
Eingabe-Schema
{
"type": "object",
"properties": {
"url": {
"description": "Public https URL of the document. Klippa downloads it (must complete within 30 seconds).",
"type": "string",
"maxLength": 2048
},
"data_base64": {
"description": "The document as base64 (at most about 1.5 MB of file). Prefer url or file_id for anything bigger.",
"type": "string",
"maxLength": 2000200
},
"file_id": {
"description": "A Doxis AI.dp storage file id (from dochorizon_upload_file or a toolkit result).",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"filename": {
"description": "A name for the file (helps content-type detection).",
"type": "string",
"maxLength": 255
},
"content_type": {
"description": "MIME type, if it cannot be detected.",
"type": "string",
"maxLength": 100,
"pattern": "^[\\w.+-]+\\/[\\w.+-]+$"
},
"password": {
"description": "Password of a protected PDF. Only used for this request.",
"type": "string",
"maxLength": 200
},
"page_ranges": {
"description": "Pages to process, for example '1-3, 5', '2-last', 'first-last' (default: all pages; documents over 50 pages time out).",
"type": "string",
"maxLength": 100
},
"configuration_slug": {
"description": "Slug of a capturing configuration made in the platform (see dochorizon_list_configurations). Optional: the model's defaults apply without it.",
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "^[A-Za-z0-9_.-]+$"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟡dochorizon_capture_bank_statement(url, data_base64, file_id, filename, content_type, ...)
SPENDS CREDITS: extract a bank statement: bank, account holder, period, opening and closing balance and every transaction. WARNING: the result contains personal data of the people on the document; handle it accordingly. It is returned to you only; this server never stores or logs it. Uses your own Doxis AI.dp (Klippa) credits: billed per request or per page depending on the service (extra components in a configuration can add cost), at your project's price (Billing → Pricing in the platform); a new account starts with EUR 25 of free credit. Give the document as exactly one of url (public https), data_base64 (small files) or file_id (a stored file). POST /document_capturing/v1/bank_statement.
Eingabe-Schema
{
"type": "object",
"properties": {
"url": {
"description": "Public https URL of the document. Klippa downloads it (must complete within 30 seconds).",
"type": "string",
"maxLength": 2048
},
"data_base64": {
"description": "The document as base64 (at most about 1.5 MB of file). Prefer url or file_id for anything bigger.",
"type": "string",
"maxLength": 2000200
},
"file_id": {
"description": "A Doxis AI.dp storage file id (from dochorizon_upload_file or a toolkit result).",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"filename": {
"description": "A name for the file (helps content-type detection).",
"type": "string",
"maxLength": 255
},
"content_type": {
"description": "MIME type, if it cannot be detected.",
"type": "string",
"maxLength": 100,
"pattern": "^[\\w.+-]+\\/[\\w.+-]+$"
},
"password": {
"description": "Password of a protected PDF. Only used for this request.",
"type": "string",
"maxLength": 200
},
"page_ranges": {
"description": "Pages to process, for example '1-3, 5', '2-last', 'first-last' (default: all pages; documents over 50 pages time out).",
"type": "string",
"maxLength": 100
},
"configuration_slug": {
"description": "Slug of a capturing configuration made in the platform (see dochorizon_list_configurations). Optional: the model's defaults apply without it.",
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "^[A-Za-z0-9_.-]+$"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟡dochorizon_capture_salary_slip(url, data_base64, file_id, filename, content_type, ...)
SPENDS CREDITS: extract a salary slip (payslip): employer, employee, period, gross and net pay, deductions. WARNING: the result contains personal data of the people on the document; handle it accordingly. It is returned to you only; this server never stores or logs it. Uses your own Doxis AI.dp (Klippa) credits: billed per request or per page depending on the service (extra components in a configuration can add cost), at your project's price (Billing → Pricing in the platform); a new account starts with EUR 25 of free credit. Give the document as exactly one of url (public https), data_base64 (small files) or file_id (a stored file). POST /document_capturing/v1/salary_slip.
Eingabe-Schema
{
"type": "object",
"properties": {
"url": {
"description": "Public https URL of the document. Klippa downloads it (must complete within 30 seconds).",
"type": "string",
"maxLength": 2048
},
"data_base64": {
"description": "The document as base64 (at most about 1.5 MB of file). Prefer url or file_id for anything bigger.",
"type": "string",
"maxLength": 2000200
},
"file_id": {
"description": "A Doxis AI.dp storage file id (from dochorizon_upload_file or a toolkit result).",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"filename": {
"description": "A name for the file (helps content-type detection).",
"type": "string",
"maxLength": 255
},
"content_type": {
"description": "MIME type, if it cannot be detected.",
"type": "string",
"maxLength": 100,
"pattern": "^[\\w.+-]+\\/[\\w.+-]+$"
},
"password": {
"description": "Password of a protected PDF. Only used for this request.",
"type": "string",
"maxLength": 200
},
"page_ranges": {
"description": "Pages to process, for example '1-3, 5', '2-last', 'first-last' (default: all pages; documents over 50 pages time out).",
"type": "string",
"maxLength": 100
},
"configuration_slug": {
"description": "Slug of a capturing configuration made in the platform (see dochorizon_list_configurations). Optional: the model's defaults apply without it.",
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "^[A-Za-z0-9_.-]+$"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟡dochorizon_capture_generic(url, data_base64, file_id, filename, content_type, ...)
SPENDS CREDITS: turn any document into generic structured data: key-value pairs and tables, as JSON. Uses your own Doxis AI.dp (Klippa) credits: billed per request or per page depending on the service (extra components in a configuration can add cost), at your project's price (Billing → Pricing in the platform); a new account starts with EUR 25 of free credit. Give the document as exactly one of url (public https), data_base64 (small files) or file_id (a stored file). POST /document_capturing/v1/generic.
Eingabe-Schema
{
"type": "object",
"properties": {
"url": {
"description": "Public https URL of the document. Klippa downloads it (must complete within 30 seconds).",
"type": "string",
"maxLength": 2048
},
"data_base64": {
"description": "The document as base64 (at most about 1.5 MB of file). Prefer url or file_id for anything bigger.",
"type": "string",
"maxLength": 2000200
},
"file_id": {
"description": "A Doxis AI.dp storage file id (from dochorizon_upload_file or a toolkit result).",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"filename": {
"description": "A name for the file (helps content-type detection).",
"type": "string",
"maxLength": 255
},
"content_type": {
"description": "MIME type, if it cannot be detected.",
"type": "string",
"maxLength": 100,
"pattern": "^[\\w.+-]+\\/[\\w.+-]+$"
},
"password": {
"description": "Password of a protected PDF. Only used for this request.",
"type": "string",
"maxLength": 200
},
"page_ranges": {
"description": "Pages to process, for example '1-3, 5', '2-last', 'first-last' (default: all pages; documents over 50 pages time out).",
"type": "string",
"maxLength": 100
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟡dochorizon_capture_einvoice(url, data_base64, file_id, filename, content_type, ...)
SPENDS CREDITS: read an invoice with the financial model and return it in the Universal Invoice structure used for e-invoicing (parties, lines, tax subtotals, totals, payment means). Does not send anything to a network. Uses your own Doxis AI.dp (Klippa) credits: billed per request or per page depending on the service (extra components in a configuration can add cost), at your project's price (Billing → Pricing in the platform); a new account starts with EUR 25 of free credit. Give the document as exactly one of url (public https), data_base64 (small files) or file_id (a stored file). POST /document_capturing/v1/einvoice.
Eingabe-Schema
{
"type": "object",
"properties": {
"url": {
"description": "Public https URL of the document. Klippa downloads it (must complete within 30 seconds).",
"type": "string",
"maxLength": 2048
},
"data_base64": {
"description": "The document as base64 (at most about 1.5 MB of file). Prefer url or file_id for anything bigger.",
"type": "string",
"maxLength": 2000200
},
"file_id": {
"description": "A Doxis AI.dp storage file id (from dochorizon_upload_file or a toolkit result).",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"filename": {
"description": "A name for the file (helps content-type detection).",
"type": "string",
"maxLength": 255
},
"content_type": {
"description": "MIME type, if it cannot be detected.",
"type": "string",
"maxLength": 100,
"pattern": "^[\\w.+-]+\\/[\\w.+-]+$"
},
"password": {
"description": "Password of a protected PDF. Only used for this request.",
"type": "string",
"maxLength": 200
},
"page_ranges": {
"description": "Pages to process, for example '1-3, 5', '2-last', 'first-last' (default: all pages; documents over 50 pages time out).",
"type": "string",
"maxLength": 100
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟡dochorizon_capture_with_prompt(slug, url, data_base64, file_id, filename, ...)
SPENDS CREDITS: extract data from a document with a Prompt Builder configuration (an LLM extraction prompt you defined in the platform). Output follows that configuration's schema (see dochorizon_get_prompt_schema). The result may contain whatever personal data the document holds. Uses your own Doxis AI.dp (Klippa) credits: billed per request or per page depending on the service (extra components in a configuration can add cost), at your project's price (Billing → Pricing in the platform); a new account starts with EUR 25 of free credit. Give the document as exactly one of url (public https), data_base64 (small files) or file_id (a stored file). POST /document_capturing/v1/prompt_builder/configurations/{slug}.
Eingabe-Schema
{
"type": "object",
"properties": {
"slug": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "^[A-Za-z0-9_.-]+$",
"description": "Prompt Builder configuration slug (see dochorizon_list_prompt_configurations)."
},
"url": {
"description": "Public https URL of the document. Klippa downloads it (must complete within 30 seconds).",
"type": "string",
"maxLength": 2048
},
"data_base64": {
"description": "The document as base64 (at most about 1.5 MB of file). Prefer url or file_id for anything bigger.",
"type": "string",
"maxLength": 2000200
},
"file_id": {
"description": "A Doxis AI.dp storage file id (from dochorizon_upload_file or a toolkit result).",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"filename": {
"description": "A name for the file (helps content-type detection).",
"type": "string",
"maxLength": 255
},
"content_type": {
"description": "MIME type, if it cannot be detected.",
"type": "string",
"maxLength": 100,
"pattern": "^[\\w.+-]+\\/[\\w.+-]+$"
},
"password": {
"description": "Password of a protected PDF. Only used for this request.",
"type": "string",
"maxLength": 200
},
"page_ranges": {
"description": "Pages to process, for example '1-3, 5', '2-last', 'first-last' (default: all pages; documents over 50 pages time out).",
"type": "string",
"maxLength": 100
}
},
"required": [
"slug"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟡dochorizon_submit_async_capture(model, url, data_base64, file_id, filename, ...)
SPENDS CREDITS: queue one document for capturing and return a job_id right away; poll dochorizon_get_async_job, then read dochorizon_get_async_job_result. Use it for long documents and bursts (async jobs are not subject to the concurrent-request limit). No webhook or human review is configured. For identity, salary_slip and bank_statement the result holds personal data. Uses your own Doxis AI.dp (Klippa) credits: billed per request or per page depending on the service (extra components in a configuration can add cost), at your project's price (Billing → Pricing in the platform); a new account starts with EUR 25 of free credit. Give the document as exactly one of url (public https), data_base64 (small files) or file_id (a stored file). POST /document_capturing/v1/{model}/async.
Eingabe-Schema
{
"type": "object",
"properties": {
"model": {
"type": "string",
"enum": [
"financial",
"identity",
"bank_statement",
"salary_slip",
"generic",
"einvoice"
],
"description": "The capturing model."
},
"url": {
"description": "Public https URL of the document. Klippa downloads it (must complete within 30 seconds).",
"type": "string",
"maxLength": 2048
},
"data_base64": {
"description": "The document as base64 (at most about 1.5 MB of file). Prefer url or file_id for anything bigger.",
"type": "string",
"maxLength": 2000200
},
"file_id": {
"description": "A Doxis AI.dp storage file id (from dochorizon_upload_file or a toolkit result).",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"filename": {
"description": "A name for the file (helps content-type detection).",
"type": "string",
"maxLength": 255
},
"content_type": {
"description": "MIME type, if it cannot be detected.",
"type": "string",
"maxLength": 100,
"pattern": "^[\\w.+-]+\\/[\\w.+-]+$"
},
"password": {
"description": "Password of a protected PDF. Only used for this request.",
"type": "string",
"maxLength": 200
},
"page_ranges": {
"description": "Pages to process, for example '1-3, 5', '2-last', 'first-last' (default: all pages; documents over 50 pages time out).",
"type": "string",
"maxLength": 100
},
"configuration_slug": {
"description": "Slug of a capturing configuration made in the platform (see dochorizon_list_configurations). Optional: the model's defaults apply without it.",
"type": "string",
"minLength": 1,
"maxLength": 100,
"pattern": "^[A-Za-z0-9_.-]+$"
}
},
"required": [
"model"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢dochorizon_list_async_jobs(status, limit, offset)
List the project's async capture jobs (newest first as returned): job_id, status, created time, with paging. Does not process a document; normally not billed. GET /document_capturing/v1/async.
Eingabe-Schema
{
"type": "object",
"properties": {
"status": {
"description": "Only jobs in these states.",
"maxItems": 7,
"type": "array",
"items": {
"type": "string",
"enum": [
"in_queue",
"processing",
"hitl",
"done",
"error",
"closed",
"rejected"
]
}
},
"limit": {
"description": "Jobs per page (default 25).",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"offset": {
"description": "Skip this many jobs (use the previous reply's paging_data).",
"type": "integer",
"minimum": 0,
"maximum": 1000000
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢dochorizon_get_async_job(job_id)
The status of one async capture job (in_queue, processing, hitl, done, error, closed, rejected). Does not process a document; normally not billed. GET /document_capturing/v1/async/{job_id}.
Eingabe-Schema
{
"type": "object",
"properties": {
"job_id": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "The job_id returned when the document was submitted."
}
},
"required": [
"job_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢dochorizon_get_async_job_result(job_id)
The captured data of a finished async job (status done). The result may contain personal data (identity, salary slip, bank statement). Does not process a document; normally not billed. GET /document_capturing/v1/async/{job_id}/result.
Eingabe-Schema
{
"type": "object",
"properties": {
"job_id": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "The job_id returned when the document was submitted."
}
},
"required": [
"job_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢dochorizon_get_async_job_logs(job_id, limit, offset)
Status changes and error messages of an async job, to debug a failed one. Does not process a document; normally not billed. GET /document_capturing/v1/async/{job_id}/logs.
Eingabe-Schema
{
"type": "object",
"properties": {
"job_id": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "The job_id returned when the document was submitted."
},
"limit": {
"description": "Entries per page (default 25).",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"offset": {
"description": "Skip this many entries.",
"type": "integer",
"minimum": 0,
"maximum": 1000000
}
},
"required": [
"job_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴dochorizon_delete_async_job(job_id)
WRITE: permanently delete an async job, its result and the stored documents from Doxis AI.dp's servers; a job still waiting in the queue is cancelled. Use it to remove personal data you no longer need. Cannot be undone. DELETE /document_capturing/v1/async/{job_id}.
Eingabe-Schema
{
"type": "object",
"properties": {
"job_id": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "The job_id returned when the document was submitted."
}
},
"required": [
"job_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟡dochorizon_document_info(url, data_base64, file_id, filename, content_type, ...)
SPENDS CREDITS: page count, page sizes, content type, metadata and permissions of a PDF or TIFF. Useful to check the page count before capturing. Uses your own Doxis AI.dp (Klippa) credits: billed per request or per page depending on the service (extra components in a configuration can add cost), at your project's price (Billing → Pricing in the platform); a new account starts with EUR 25 of free credit. Give the document as exactly one of url (public https), data_base64 (small files) or file_id (a stored file). POST /document_toolkit/v1/info.
Eingabe-Schema
{
"type": "object",
"properties": {
"url": {
"description": "Public https URL of the document. Klippa downloads it (must complete within 30 seconds).",
"type": "string",
"maxLength": 2048
},
"data_base64": {
"description": "The document as base64 (at most about 1.5 MB of file). Prefer url or file_id for anything bigger.",
"type": "string",
"maxLength": 2000200
},
"file_id": {
"description": "A Doxis AI.dp storage file id (from dochorizon_upload_file or a toolkit result).",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"filename": {
"description": "A name for the file (helps content-type detection).",
"type": "string",
"maxLength": 255
},
"content_type": {
"description": "MIME type, if it cannot be detected.",
"type": "string",
"maxLength": 100,
"pattern": "^[\\w.+-]+\\/[\\w.+-]+$"
},
"password": {
"description": "Password of a protected PDF. Only used for this request.",
"type": "string",
"maxLength": 200
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟡dochorizon_document_split(url, data_base64, file_id, filename, content_type, ...)
SPENDS CREDITS: split a PDF into several PDFs by page ranges (one output file per range, for example ['1-3','4-6']). Output files are stored in Doxis AI.dp storage and returned as file ids you can pass to any other tool as file_id. Uses your own Doxis AI.dp (Klippa) credits: billed per request or per page depending on the service (extra components in a configuration can add cost), at your project's price (Billing → Pricing in the platform); a new account starts with EUR 25 of free credit. Give the document as exactly one of url (public https), data_base64 (small files) or file_id (a stored file). POST /document_toolkit/v1/split.
Eingabe-Schema
{
"type": "object",
"properties": {
"url": {
"description": "Public https URL of the document. Klippa downloads it (must complete within 30 seconds).",
"type": "string",
"maxLength": 2048
},
"data_base64": {
"description": "The document as base64 (at most about 1.5 MB of file). Prefer url or file_id for anything bigger.",
"type": "string",
"maxLength": 2000200
},
"file_id": {
"description": "A Doxis AI.dp storage file id (from dochorizon_upload_file or a toolkit result).",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"filename": {
"description": "A name for the file (helps content-type detection).",
"type": "string",
"maxLength": 255
},
"content_type": {
"description": "MIME type, if it cannot be detected.",
"type": "string",
"maxLength": 100,
"pattern": "^[\\w.+-]+\\/[\\w.+-]+$"
},
"password": {
"description": "Password of a protected PDF. Only used for this request.",
"type": "string",
"maxLength": 200
},
"page_ranges": {
"minItems": 1,
"maxItems": 50,
"type": "array",
"items": {
"type": "string",
"maxLength": 100,
"pattern": "^[A-Za-z0-9,\\- ]+$"
},
"description": "One entry per output file, e.g. ['1-3', '4-6', '7']."
}
},
"required": [
"page_ranges"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟡dochorizon_document_render(url, data_base64, file_id, filename, content_type, ...)
SPENDS CREDITS: render pages of a PDF as images, optionally limited in width/height. Each render config gives page_ranges and optional width and height in pixels. Images are stored in Doxis AI.dp storage and returned as file ids (use dochorizon_download_file for small ones). Uses your own Doxis AI.dp (Klippa) credits: billed per request or per page depending on the service (extra components in a configuration can add cost), at your project's price (Billing → Pricing in the platform); a new account starts with EUR 25 of free credit. Give the document as exactly one of url (public https), data_base64 (small files) or file_id (a stored file). POST /document_toolkit/v1/render.
Eingabe-Schema
{
"type": "object",
"properties": {
"url": {
"description": "Public https URL of the document. Klippa downloads it (must complete within 30 seconds).",
"type": "string",
"maxLength": 2048
},
"data_base64": {
"description": "The document as base64 (at most about 1.5 MB of file). Prefer url or file_id for anything bigger.",
"type": "string",
"maxLength": 2000200
},
"file_id": {
"description": "A Doxis AI.dp storage file id (from dochorizon_upload_file or a toolkit result).",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"filename": {
"description": "A name for the file (helps content-type detection).",
"type": "string",
"maxLength": 255
},
"content_type": {
"description": "MIME type, if it cannot be detected.",
"type": "string",
"maxLength": 100,
"pattern": "^[\\w.+-]+\\/[\\w.+-]+$"
},
"password": {
"description": "Password of a protected PDF. Only used for this request.",
"type": "string",
"maxLength": 200
},
"renders": {
"minItems": 1,
"maxItems": 10,
"type": "array",
"items": {
"type": "object",
"properties": {
"page_ranges": {
"minItems": 1,
"maxItems": 20,
"type": "array",
"items": {
"type": "string",
"maxLength": 100,
"pattern": "^[A-Za-z0-9,\\- ]+$"
},
"description": "Pages to render, e.g. ['1', '3-4']."
},
"width": {
"description": "Maximum width in pixels.",
"type": "integer",
"minimum": 1,
"maximum": 10000
},
"height": {
"description": "Maximum height in pixels.",
"type": "integer",
"minimum": 1,
"maximum": 10000
}
},
"required": [
"page_ranges"
]
},
"description": "The render configurations."
}
},
"required": [
"renders"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟡dochorizon_document_merge(documents)
SPENDS CREDITS: merge two or more PDFs into one, in the order given, optionally taking only some pages of each. The merged file is stored in Doxis AI.dp storage and returned as a file id. Uses your own Doxis AI.dp (Klippa) credits: billed per request or per page depending on the service (extra components in a configuration can add cost), at your project's price (Billing → Pricing in the platform); a new account starts with EUR 25 of free credit. Each document is one of url (public https), data_base64 or file_id. POST /document_toolkit/v1/merge.
Eingabe-Schema
{
"type": "object",
"properties": {
"documents": {
"minItems": 2,
"maxItems": 10,
"type": "array",
"items": {
"type": "object",
"properties": {
"url": {
"description": "Public https URL of the document. Klippa downloads it (must complete within 30 seconds).",
"type": "string",
"maxLength": 2048
},
"data_base64": {
"description": "The document as base64 (at most about 1.5 MB of file). Prefer url or file_id for anything bigger.",
"type": "string",
"maxLength": 2000200
},
"file_id": {
"description": "A Doxis AI.dp storage file id (from dochorizon_upload_file or a toolkit result).",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"filename": {
"description": "A name for the file (helps content-type detection).",
"type": "string",
"maxLength": 255
},
"password": {
"description": "Password of a protected PDF. Only used for this request.",
"type": "string",
"maxLength": 200
},
"page_ranges": {
"description": "Only these pages of this document, e.g. ['1-2']. Default: all.",
"maxItems": 20,
"type": "array",
"items": {
"type": "string",
"maxLength": 100,
"pattern": "^[A-Za-z0-9,\\- ]+$"
}
}
}
},
"description": "The PDFs to merge, in order (2 to 10)."
}
},
"required": [
"documents"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟡dochorizon_upload_file(url, data_base64, filename, content_type)
WRITE: store a file in your Doxis AI.dp storage and get a file_id to reuse in other tools (capture the same file several times without sending it again). Give a public https url or small base64 data. The file stays in your project's storage until it expires per your data-retention setting. May use credits per your pricing. POST /storage/v1/files.
Eingabe-Schema
{
"type": "object",
"properties": {
"url": {
"description": "Public https URL of the document. Klippa downloads it (must complete within 30 seconds).",
"type": "string",
"maxLength": 2048
},
"data_base64": {
"description": "The document as base64 (at most about 1.5 MB of file). Prefer url or file_id for anything bigger.",
"type": "string",
"maxLength": 2000200
},
"filename": {
"description": "A name for the file (helps content-type detection).",
"type": "string",
"maxLength": 255
},
"content_type": {
"description": "MIME type, if it cannot be detected.",
"type": "string",
"maxLength": 100,
"pattern": "^[\\w.+-]+\\/[\\w.+-]+$"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢dochorizon_download_file(file_id)
Fetch a stored file by file_id and return it as base64. Only files up to 30 KB are returned inline; for larger files use the file_id in other tools instead. Does not process a document; normally not billed. GET /storage/v1/files/{file_id}.
Eingabe-Schema
{
"type": "object",
"properties": {
"file_id": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "A storage file id."
}
},
"required": [
"file_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟡dochorizon_validate_einvoice(xml, data_base64, einvoice_type)
Validate an e-invoice (XML or hybrid PDF) against its standard (EN 16931, XRechnung, Peppol BIS, ...): returns the detected type, valid yes/no, a summary and each broken rule with its XPath location. Nothing is sent to anyone. May use credits per your pricing. POST /einvoicing/v1/tools/validate.
Eingabe-Schema
{
"type": "object",
"properties": {
"xml": {
"description": "The e-invoice as XML text (UBL, CII, ...).",
"type": "string",
"maxLength": 1000000
},
"data_base64": {
"description": "The e-invoice file as base64 (XML, or a hybrid PDF such as ZUGFeRD / Factur-X).",
"type": "string",
"maxLength": 2000200
},
"einvoice_type": {
"description": "The e-invoice type, if it should not be auto-detected (see dochorizon_list_einvoice_types).",
"type": "string",
"maxLength": 60,
"pattern": "^[A-Za-z0-9_.:-]+$"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟡dochorizon_convert_einvoice(xml, data_base64, einvoice_type, include_unmapped_fields, validate)
Convert an e-invoice (XML or hybrid PDF) to the Universal Invoice JSON structure (parties, lines, taxes, totals). Nothing is sent to anyone. May use credits per your pricing. POST /einvoicing/v1/tools/convert/einvoice.
Eingabe-Schema
{
"type": "object",
"properties": {
"xml": {
"description": "The e-invoice as XML text (UBL, CII, ...).",
"type": "string",
"maxLength": 1000000
},
"data_base64": {
"description": "The e-invoice file as base64 (XML, or a hybrid PDF such as ZUGFeRD / Factur-X).",
"type": "string",
"maxLength": 2000200
},
"einvoice_type": {
"description": "The e-invoice type, if it should not be auto-detected (see dochorizon_list_einvoice_types).",
"type": "string",
"maxLength": 60,
"pattern": "^[A-Za-z0-9_.:-]+$"
},
"include_unmapped_fields": {
"description": "Also return fields of the original that have no place in the universal format.",
"type": "boolean"
},
"validate": {
"description": "Validate the e-invoice during conversion.",
"type": "boolean"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢dochorizon_list_einvoice_types
The e-invoice types Doxis AI.dp understands (ids to pass as einvoice_type). Does not process a document; normally not billed. GET /einvoicing/v1/tools/einvoice-types.
Eingabe-Schema
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢dochorizon_search_peppol_directory(environment, query)
Search the public Peppol business directory by company name, identifier or other text: participant identifiers, countries, contacts, websites and the document types each can receive. Public business data; costs nothing. GET /einvoicing/v1/peppol/environments/{environment}/directory.
Eingabe-Schema
{
"type": "object",
"properties": {
"environment": {
"type": "string",
"enum": [
"production",
"acceptance"
],
"description": "Peppol environment: production (live network) or acceptance (test)."
},
"query": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Name, identifier or other identifying text."
}
},
"required": [
"query"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢dochorizon_lookup_peppol_participant(environment, participant_identifier)
Look up one Peppol participant by identifier (for example iso6523-actorid-upis::0106:64111512) in the Peppol network (SML): the document types it can receive. Does not process a document; normally not billed. GET /einvoicing/v1/peppol/environments/{environment}/participants/{participant_identifier}.
Eingabe-Schema
{
"type": "object",
"properties": {
"environment": {
"type": "string",
"enum": [
"production",
"acceptance"
],
"description": "Peppol environment: production (live network) or acceptance (test)."
},
"participant_identifier": {
"type": "string",
"minLength": 3,
"maxLength": 200,
"pattern": "^[A-Za-z0-9_.:-]+$",
"description": "The Peppol participant identifier."
}
},
"required": [
"participant_identifier"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Community
Nachweis