PaperOffice Document Operations
The AI document layer for your agent — 343 tools for business documents, EU-hosted.
What it can do
- Po Documents Search: READ-ONLY. Returns data, changes nothing. po_documents_search: Stable document search for keyword, filename and available metadata. Guaranteed: validates required query/scope inpu
- Po Documents Get: READ-ONLY. Returns data, changes nothing. po_documents_get: Get document details and processing state. Guaranteed: accepts pofid or documents_id and returns identity, workspace and s
- Po Documents Text Get: READ-ONLY. Returns data, changes nothing. po_documents_text_get: Retrieve page-level OCR/fulltext that already exists for a document. Guaranteed: returns only visual OCR text fr
What data it sees
Do you need an account
No: the server works without sign-in
The AI document layer for your agent — 343 tools for business documents, EU-hosted.
- Search & understand: full-text, semantic and hybrid search, document Q&A, knowledge graph
- Capture & extract: OCR, IDP field extraction (invoices, contracts, delivery notes), classification
- Process: PDF convert/merge/split/redact, anonymization (GDPR), URL-to-PDF, text-to-speech
- Act: edit metadata, manage e-signature requests, workflows, audit trails, compliance (WORM)
Auth: OAuth 2.1 (recommended) or Authorization: Bearer from your PaperOffice account.
Usage is credit-based — every result reports the credits charged. ISO 27001 & SOC 2 certified, hosted in Germany/Spain.
Docs: paperoffice.ai/en/developer/mcp · Examples: paperoffice-ai/cookbook
How to connect
How to connect PaperOffice Document Operations to Claude
The server address to paste into Claude settings:
https://document-operations--paperoffice.run.tools
- Open Claude (claude.ai or the desktop app).
- Go to Settings → Connectors.
- Click Add custom connector.
- Paste the server address copied below into Remote MCP server URL and click Add.
- In a chat, click + → Connectors and switch the new connector on.
Custom connectors are available on Free, Pro, Max, Team and Enterprise plans (Free is limited to one). On Team and Enterprise an organization Owner adds the connector first under Organization settings → Connectors.
Authorization
After you click Add, a sign-in window for the service opens. Sign in with your own account and approve access. Claude never sees your password.
How to connect PaperOffice Document Operations to ChatGPT
The server address to paste into ChatGPT settings:
https://document-operations--paperoffice.run.tools
- Open ChatGPT in a browser (chatgpt.com). A Plus, Pro, Business, Enterprise or Edu plan is required.
- Turn on developer mode once: Settings → Apps → Advanced settings → Developer mode.
- Open Settings → Connectors and click Create.
- Fill in the form: Name (anything), Description (one line about what the service does), MCP server URL (copy it below).
- Under Authentication choose OAuth if the service requires sign-in, otherwise None. Click Create.
- In a new chat open + → Apps/Connectors and enable the connector.
OpenAI has renamed this section before (Connectors → Apps/Plugins). If the label differs, search settings for "developer mode". On Business/Enterprise workspaces an admin must allow custom connectors first.
Authorization
On first use ChatGPT opens the service's sign-in window. Sign in and approve access.
How to connect PaperOffice Document Operations to Cursor
The server address to paste into Cursor settings:
https://document-operations--paperoffice.run.tools
Fastest: click Open in Cursor below and confirm the prompt.
Manually:
- In Cursor open Settings → Cursor Settings → MCP and click Add new global MCP server.
- Paste the JSON copied below into
~/.cursor/mcp.json(per project:.cursor/mcp.jsonin the repo root). - Save the file. The server appears in the MCP list; authorize it there if asked.
Authorization
If the service needs sign-in, an authorize button appears next to the server in the MCP list.
Server tool list (60)
Raw names from tools/list. Only developers need these.
| po_documents_search | READ-ONLY. Returns data, changes nothing. po_documents_search: Stable document search for keyword, filename and available metadata. Guaranteed: validates required query/scope inputs, returns paginated document references with normalized core fields when available. Best effort: semantic/hybrid ranking, summaries, amounts and document_type depend on OCR/IDP/embedding coverage. Not for accounting totals. Score scale: relevance score is typically 0–100 (higher = better match) when sort_by=relevance (default for keyword search); use sort_by=modified_desc for recently changed documents. match_source values include exact, fulltext, ocr, entity, semantic. Browse/list all documents in a workspace: set query="*" or "**" with workspace_id (do NOT use po_documents_folders_list for that — folders_list returns only document folders, not files). Signature process filter: use signature_status (from signature_requests table) — NEVER fulltext-search for "signature request" in OCR. Keywords: search, find, query, list, documents, browse, enumerate, recently modified, signature status. |
| po_documents_get | READ-ONLY. Returns data, changes nothing. po_documents_get: Get document details and processing state. Guaranteed: accepts pofid or documents_id and returns identity, workspace and storage/processing metadata for accessible documents. Includes a compact trust block (score, verdict, finding counts, text_layer_ocr_mismatch) when a Trust certificate exists — read full findings with po_documents_trust_get, do not start po_documents_trust_agent_run just to inspect a result. Best effort: classification, financial fields, sender/recipient and OCR-derived metadata depend on AI-DMS/IDP coverage and may be absent. compact=true (schema default) returns core identity/classification/financial fields plus capabilities, processing_state and trust; compact=false additionally includes full meta_fields and extended document payload. Keywords: get document, details, metadata, info, trust certificate. |
| po_documents_text_get | READ-ONLY. Returns data, changes nothing. po_documents_text_get: Retrieve page-level OCR/fulltext that already exists for a document. Guaranteed: returns only visual OCR text from OCR pages or explicit OCR text fields; if no OCR exists it returns NO_OCR_TEXT instead of a summary. Poll po_documents_get (compact=true).processing_state until processing_status is processed, then retry this tool. It does not run OCR and never mixes hidden/injected PDF-layer text into the fulltext. When a Trust certificate exists, trust_text_signals.text_layer_ocr_mismatch flags a PDF-text-layer vs OCR divergence — use po_documents_trust_get for findings[].text_excerpt. Accepts pofid or documents_id. Default format is plaintext; format=html preserves sanitized inline OCR markup. Keywords: document text, read, content, OCR, fulltext, trust mismatch. |
| po_documents_trust_get | READ-ONLY. Returns data, changes nothing. po_documents_trust_get: Read the stored Trust Agent certificate for a document (score, verdict, findings with text_excerpt, tags, last run). This is a read — it does not start a scan and does not cost Trust-run credits. Use this before starting a new scan. For an adhoc scan use po_documents_trust_check (profile + tier, no agent). Use po_documents_trust_agent_run only for a saved Trust Agent. Hidden/injected PDF text is only in findings[].text_excerpt, never in po_documents_text_get. |
| po_documents_processing_agents_list | READ-ONLY. Returns data, changes nothing. po_documents_processing_agents_list: List document processing agents (pdf_trust, pdf_split, idp_extract, pdf_redact) with agent_id values for *_agent_run. Adhoc Trust uses po_documents_trust_check (no agent). Reading a Trust result does not need an agent id — use po_documents_trust_get. |
| po_documents_trust_check | WRITES DATA. Creates or changes data in the workspace. po_documents_trust_check: WRITE — start an adhoc Trust / integrity scan (credits). No trust_agent_id. Same engine as Documents-Overview quick check (the document_integrity_check workflow). Required: pofid or documents_id. Optional: profile (general|invoice|bank_statement|contract|identity_document|payslip|application|utility_bill|receipt|certificate|official_letter|medical_certificate|insurance|delivery_note|rental_agreement|power_of_attorney|vehicle_document|email_export), tier (basic|premium|ultra, default premium), include_visual_evidence, processing_lane (no_sla|sla_24h|sla_12h|sla_6h|sla_1h|instant — start SLA, credit factor). Ultra adds a semantic vision audit (semantic_audit block in the certificate). Poll the returned job_id with po_job_get until completed, then READ with po_documents_trust_get. Use po_documents_trust_agent_run only for a saved Trust Agent. Hidden/injected PDF text stays in findings[].text_excerpt. |
| po_entities_search | READ-ONLY. Returns data, changes nothing. po_entities_search: Search available raw/canonical/meta-field-derived entities across processed documents. Guaranteed: validates query length and entity_type, returns referencable document-level rows when available. Best effort: entity coverage, page numbers, confidence and canonical source documents depend on AI-DMS/entity resolution coverage. Use workspace_id for scoped/sub-user searches. Keywords: search entities, find company, person, IBAN. |
| po_workspaces_list | READ-ONLY. Returns data, changes nothing. po_workspaces_list: List workspaces accessible to the current token. Returns workspace ID, name, workspace_tier, _capabilities (trash/recycle-bin, retention), documents_count and storage size. Primary tool for workspace discovery (paginate with limit/offset). Account-wide counts/statistics: use po_documents_stats_get (total_workspaces, by_workspace). Use workspace_id for a single lookup (minimal tokens). Default limit=25 to avoid LLM context overflow. documents_count = non-deleted rows incl. folders; stock_document_count = real documents only. Aliases: take=limit, skip=offset (clamped to 200). Keywords: list workspaces, workspace count, how many workspaces, folders, tier. |
| po_documents_vision_analyze | READ-ONLY. Returns data, changes nothing. po_documents_vision_analyze: Get existing page preview images for visual analysis. Guaranteed: validates page syntax and returns available preview images. Best effort: images exist only when thumbnails/previews were generated; this tool does not perform vision extraction by itself. Accepts pofid or documents_id. Keywords: vision, analyze, image, visual, pages. |
| po_knowledge_graph_ask | READ-ONLY. Returns data, changes nothing. po_knowledge_graph_ask: Ask best-effort cross-document questions using verified backend context plus Knowledge Graph/agent reasoning. Guaranteed: rejects too-short/off-domain questions and returns structured status/error fields. Best effort: answer quality depends on available KG, OCR, entities and financial read models; use po_analytics_financial_summary_get for deterministic totals (period=all for ranking). Keywords: knowledge graph, ask, query, GraphRAG, cross-document. |
| po_knowledge_graph_partners_get | READ-ONLY. Returns data, changes nothing. po_knowledge_graph_partners_get: Get best-effort business partner aggregates from the Knowledge Graph/read models. Guaranteed: returns partner rows available to the token and scope with explicit amount/date basis metadata. Best effort: canonicalization, amounts and last-document dates depend on entity resolution and financial meta-field coverage; not an accounting ledger. Keywords: partners, relationships, companies, persons, network. |
| po_intelligence_topics_get | READ-ONLY. Returns data, changes nothing. po_intelligence_topics_get: Get best-effort topics for one document (read-only, no side effects). Dedicated topics may be unavailable; when no topic pipeline data exists, MCP returns document_type as a pseudo-topic with source=document_type_fallback. Keywords: topics, categories, themes. |
| po_search_advanced | READ-ONLY. Returns data, changes nothing. po_search_advanced: Explicit document search modes. Guaranteed: validates query, workspace scope, mode and pagination and returns normalized document references. mode=exact performs strict post-filtering against the requested field when field_key is provided. semantic/hybrid are best effort and require embeddings. Score scale: MCP output uses normalized relevance scores 0–100 (score_scale=relevance_0_100) for all modes; raw cosine floats are not exposed. Debug/ranking internals are only intended when debug=true. Keywords: advanced search, semantic, fulltext, hybrid, exact. |
| po_documents_similar_find | READ-ONLY. Returns data, changes nothing. po_documents_similar_find: Find documents similar to a reference document using existing summary embeddings. Guaranteed: validates reference document and threshold/limit. Best effort: requires an embedding on the reference and comparable processed documents; low-quality type/file mismatches can be filtered from the MCP response. Keywords: similar, find, compare, duplicate, related. |
| po_documents_stats_get | READ-ONLY. Returns data, changes nothing. po_documents_stats_get: Get best-effort document statistics and coverage. Account scope (no workspace_id) returns metric_scope (acl_workspaces for group/limited tokens, full_account for admin tokens), total_workspaces, by_workspace[] and by_workspace_sum_matches_total. All headline totals respect the same workspace ACL as by_workspace. Counts are normalized for MCP clients and may reflect available OCR/IDP/entity/embedding tables, not guaranteed business totals. Use for overview and workspace count, not accounting. Keywords: statistics, stats, overview, count, workspace count, by_workspace, metric_scope, acl_workspaces, coverage. |
| po_entities_stats_get | READ-ONLY. Returns data, changes nothing. po_entities_stats_get: Get best-effort document statistics for one entity value. Guaranteed: returns matching document count/slice and aggregation scope. Best effort: amount totals are only meaningful for company-like document sets with extracted financial fields; documents can be truncated, so use returned count/scope metadata before interpreting aggregates. Keywords: entity, statistics, company stats, person, IBAN. |
| po_entities_canonical_get | READ-ONLY. Returns data, changes nothing. po_entities_canonical_get: List best-effort canonical entities from the entity resolution index. Canonicalization is useful for overviews, but it is not a guaranteed clean master-data registry. MCP filters IDP sentinels (VALUE_MISSING/VAL), empty canonical names, and invalid IBAN/phone/amount values. Keywords: canonical entities, deduplicated, list, companies, persons. |
| po_documents_thumbnail_get | READ-ONLY. Returns data, changes nothing. po_documents_thumbnail_get: Get an existing thumbnail/preview image for a specific document page. Guaranteed: validates document identity and page_number >= 1. Best effort: thumbnails exist only after preview generation/processing; missing thumbnails return a clear error. Accepts pofid or documents_id. Keywords: thumbnail, preview, image, page. |
| po_documents_upload_url_get | WRITES DATA. Creates or changes data in the workspace. po_documents_upload_url_get: Registers an upload slot for a named file and returns its time-limited presigned HTTP PUT URL and upload_id. The result includes upload_url, optional curl_command, expires_in, and max_size_bytes. After the file is stored at upload_url, pass upload_id to po_documents_upload or another tool that accepts upload_id. If po_documents_upload is not in tools/list, execute it via po_mcp_tools_call_write with tool_id po_documents_upload. This tool does not accept file bytes or base64. |
| po_documents_upload | WRITES DATA. Creates or changes data in the workspace. po_documents_upload: Registers a new document in the PaperOffice DMS. Accepted file sources: upload_id from po_documents_upload_url_get after the file was stored at the returned upload_url; a public file_url for the server to fetch; or omit both to receive a browser upload page. File bytes and base64 are not accepted as tool arguments. Supports PDF, DOCX, XLSX, PNG, JPG, TIFF, and other common office formats. To request AI-DMS processing, set ai_dms_tier (basic/premium/ultra). When ai_dms_tier is set, processing_mode is sent as ai_dms and the backend queues or marks the document for processing; check po_documents_get.processing_state afterwards. Optional processing_lane sets Start-SLA (wait-to-start guarantee, not completion): no_sla (fair use ×1), sla_24h (×1.5), sla_12h (×2), sla_6h (×3), sla_1h (×4), instant (×5). If processing_lane is omitted, workspace default_processing_lane applies (else fair-use no_sla). Prefer processing_lane over legacy numeric priority. To rename the document, set file_name WITH extension (e.g. "my-report.pdf"). To add a NEW VERSION of an existing document, prefer po_documents_versions_create (or set version_of_pofid here). Keywords: upload, import, add document, processing_lane, start-sla, instant, new version. |
| po_documents_versions_create | WRITES DATA. Creates or changes data in the workspace. po_documents_versions_create: Upload a changed file as the NEXT VERSION of an existing document. Pass version_of_pofid (POFID of any version of that document) plus the file via upload_id (from po_documents_upload_url_get) or file_url. The new version gets its own pofid and version number n+1; the previous version stays readable under its old pofid and the document keeps one entry in lists/search (latest only). Rules enforced by the API: same workspace, changed content (409 VERSION_SAME_CONTENT), version_comment required when the predecessor is revision-secure (WORM). Versioning is an AI-DMS feature: the source document must have an AI-DMS tier (basic, premium or ultra), otherwise the call fails with 402 VERSIONING_REQUIRES_AI_DMS - activate AI-DMS post-processing for that document first. The AI-DMS tier is inherited from the predecessor; a HIGHER tier may be requested via ai_dms_tier (it becomes the tier of the line), a lower tier is rejected with 400 VERSION_TIER_DOWNGRADE and processing_mode=no_ai_dms is rejected. Cost: 50 credits per created version (flat, includes the AI-DMS change summary) plus the upload volume and the AI-DMS page processing of the inherited tier. Keywords: new version, revision, replace file, update document, versioning, Version anlegen. |
| po_documents_versions_list | READ-ONLY. Returns data, changes nothing. po_documents_versions_list: Version history of a document line. Pass the pofid of ANY version; returns all versions (number, pofid, is_latest, comment, AI summary, creator, timestamps, protection by retention/legal hold, can_delete) plus latest_pofid. Default excludes versions in the recycle bin (include_trashed=true shows them). Each version is its own immutable pofid; use po_documents_get/po_documents_download with a version pofid to read that exact state. Keywords: versions, history, revisions, Versionshistorie, Stand. |
| po_documents_versions_restore | WRITES DATA. Creates or changes data in the workspace. po_documents_versions_restore: Rollback without rewriting history — takes an OLDER version (pofid) and creates a NEW latest version with that older content (n+1, own pofid). No IDP re-run: OCR text and metadata of the older version are copied. Fails if the selected version is already the current one or has the same content as the current one. Keywords: rollback, restore version, revert, Wiederherstellen als neue Version. Cost: 50 credits (same flat rate as creating a version); no upload volume and no AI-DMS page processing, because OCR and metadata are copied. |
| po_documents_versions_delete | DESTRUCTIVE. Changes or removes data, or reaches people outside this system (delete, revoke, cancel, send, activate retention). Not automatically undoable — confirm intent first. po_documents_versions_delete: Delete ONE older version (pofid) of a document line. The current (latest) version cannot be deleted on its own — delete the whole document with po_documents_delete (all versions, atomic: any retention/legal-hold protected version blocks the whole line) or create a newer version instead. Versions under retention (WORM) or legal hold cannot be deleted. mode=trash (default, restorable via po_documents_restore) or instant (permanent, confirm=true required). Keywords: delete version, remove revision, Stand loeschen. |
| po_documents_versions_diff_get | READ-ONLY. Returns data, changes nothing. po_documents_versions_diff_get: Compare a version with its predecessor (default) or with compare_to_pofid (same document line). Returns metadata deltas (size, pages, type, content_identical), OCR-text statistics (word-level similarity, added/removed words, changed pages) and the AI change summary when available. Text statistics are best effort and depend on OCR coverage. Keywords: compare versions, diff, what changed, Versionsvergleich. |
| po_documents_edit | DESTRUCTIVE. Changes or removes data, or reaches people outside this system (delete, revoke, cancel, send, activate retention). Not automatically undoable — confirm intent first. po_documents_edit: Edit document metadata fields. ALWAYS prefer short aliases as field keys — they are reliable and auto-resolve to internal paths. Common aliases: document_type (e.g. "Rechnung","Vertrag","Angebot"), sender_name, recipient_name, invoice_number, document_number, document_date, due_date, total_amount, net_amount, vat_amount, currency, locale, language, summary, keywords, workflow_state, document_status, save_paths. Example: {"fields": {"document_type": "Rechnung", "sender_name": "Firma GmbH", "total_amount": "1250.00"}}. You can also use full internal keys (with __ prefix) from po_documents_get, but short aliases are preferred for reliability. NOTE: Some internal keys use inconsistent _ vs __ prefixes (e.g. sender_name resolves to _document__data__parties__publisher_name). Fields are overwritten individually (other fields unchanged). Use po_documents_get first to see existing fields. Metadata editing does NOT require checkout, even in revision-secure workspaces (only file content changes require checkout). Non-numeric values in financial fields (total_amount, net_amount, vat_amount) trigger _type_warnings in the response. Non-numeric values in financial fields are rejected (not persisted). |
| po_documents_delete | DESTRUCTIVE. Changes or removes data, or reaches people outside this system (delete, revoke, cancel, send, activate retention). Not automatically undoable — confirm intent first. po_documents_delete: Delete one document (pofid or documents_id) or a short list of POFIDs; confirm=true is required above 5 POFIDs, and larger batches belong in po_documents_bulk_update with operation=delete. On business/compliance workspaces the document moves to the recycle bin and can be restored with po_documents_restore; standard-tier workspaces have no recycle bin, so deletion there is permanent. WORM/legal-hold documents may be skipped. Deleting is a SEPARATE permission from writing: an access token that may create, edit and upload in a workspace can still be refused here (error GROUP_RESTRICTION with restriction_kind=group_delete_denied). That is not a read-only workspace — check read_only_token and effective_write_permissions on po_documents_get before concluding the connection cannot write. Keywords: delete, remove, trash. |
| po_documents_move | WRITES DATA. Creates or changes data in the workspace. po_documents_move: Move a document to a different workspace. POFID stays the same, only location changes. Accepts pofid or documents_id. Keywords: move, relocate, transfer, document. |
| po_documents_copy | WRITES DATA. Creates or changes data in the workspace. po_documents_copy: Create a copy of a document in another workspace. The copy gets a new POFID. Accepts pofid or documents_id. Optionally rename the file. Keywords: copy, duplicate, clone, document. |
| po_documents_process | WRITES DATA. Creates or changes data in the workspace. po_documents_process: Trigger AI-DMS processing on a document that is ALREADY stored in PaperOffice. Use this when a document was uploaded without AI-DMS, or when you want to re-process it with a different tier. The document is marked/queued for AI-DMS processing; OCR, classification, metadata, entities and embeddings depend on the selected tier and backend worker completion. Existing analysis may be refreshed by the backend, but completion is asynchronous; check po_documents_get.processing_state afterwards. Same-tier reprocess after a successful run requires confirm_reprocess=true (HTTP 409 AI_DMS_REPROCESS_CONFIRM_REQUIRED otherwise). Tier downgrade requires confirm_tier_downgrade=true. First process and upgrades need no extra confirmation. Optional processing_lane sets Start-SLA (wait-to-start): no_sla (×1), sla_24h (×1.5), sla_12h (×2), sla_6h (×3), sla_1h (×4), instant (×5). If processing_lane is omitted, workspace default_processing_lane applies (else fair-use no_sla). Prefer processing_lane over legacy numeric priority. Free plans are always best effort (lane capped to no_sla). AI-DMS is PREPAID at submit: without enough credits the order is refused (HTTP 402 INSUFFICIENT_CREDITS — no job, no queue, document unchanged); 409 ORDER_IN_FLIGHT/ORDER_DUPLICATE/ORDER_UNVERIFIED = wait; 409 ORDER_IN_PROGRESS = document is being processed, wait; 409 ORDER_NOT_PENDING = already processed, pass requeue/process again; 503 BILLING_UNAVAILABLE = retry later. Re-ordering the same tier for a document that is already paid and waiting is idempotent (200, dedup, 0 credits). IMPORTANT: This does NOT upload a file — the document must already exist. Use po_documents_upload for new files. Accepts pofid or documents_id. Keywords: process, analyze, AI-DMS, reprocess, confirm_reprocess, confirm_tier_downgrade, OCR, processing_lane, start-sla, instant. |
| po_documents_download | READ-ONLY. Returns data, changes nothing. po_documents_download: Download the stored document file. Returns a temporary download URL (10min valid, default) that may be requested repeatedly (HEAD and GET) until it expires. Compliance note: PDF downloads can include PaperOffice metadata/branding added by the backend and may not be byte-identical to the originally uploaded file. Accepts pofid or documents_id. WARNING: base64 mode returns the entire file as text — for files >100KB this will exceed context limits. Use url mode (default) for most cases. Keywords: download, file, get document. |
| po_workspaces_create | WRITES DATA. Creates or changes data in the workspace. po_workspaces_create: Create a workspace with mandatory business type (UI parity — e.g. kunde, mandant, projekt). Supports tier, AI-DMS, default_processing_lane (Start-SLA default), IDP pipeline, access protection, contacts, BYOS storage, and document-type preset. When omitted, workspace_tier defaults to business, ai_dms_mode to basic, default_processing_lane to no_sla / Best Effort (UI create parity). workspace_tier=standard: permanent deletes; business/compliance: recycle bin. Keywords: create, workspace, type, tier, start-sla. |
| po_workspaces_update | WRITES DATA. Creates or changes data in the workspace. po_workspaces_update: Update workspace fields (name, business type, tier, AI-DMS, default_processing_lane / Start-SLA default, IDP pipeline, access protection, contacts, storage, document-type preset). Use po_workspaces_list for IDs. Keywords: update, workspace, type, tier, start-sla. |
| po_workspaces_share_create | DESTRUCTIVE. Changes or removes data, or reaches people outside this system (delete, revoke, cancel, send, activate retention). Not automatically undoable — confirm intent first. po_workspaces_share_create: Create a workspace share (email and/or telephony channel). Same as UI Freigabe tab. Requires workspace_id and at least one channel. Keywords: share, workspace, external, telephony. |
| po_workspaces_shares_list | READ-ONLY. Returns data, changes nothing. po_workspaces_shares_list: List workspace shares created by the current token (owner view). Optional workspace_id and include_history. Keywords: shares, list, owner, freigabe. |
| po_workspaces_shares_shared_with_me | READ-ONLY. Returns data, changes nothing. po_workspaces_shares_shared_with_me: List workspaces shared with the current token (recipient inbox). Keywords: shared, inbox, recipient. |
| po_workspaces_share_update | WRITES DATA. Creates or changes data in the workspace. po_workspaces_share_update: Update share permissions and settings (owner only). access_level is read (view + download) or upload (+ own uploads); write/admin/view are rejected with INVALID_ACCESS_LEVEL. Keywords: share, update, permissions. |
| po_workspaces_share_revoke | DESTRUCTIVE. Changes or removes data, or reaches people outside this system (delete, revoke, cancel, send, activate retention). Not automatically undoable — confirm intent first. po_workspaces_share_revoke: Revoke share as owner or leave as recipient. Requires confirm=true. Keywords: revoke, leave, share. |
| po_workspaces_share_accept | WRITES DATA. Creates or changes data in the workspace. po_workspaces_share_accept: Accept share invitation via share_token from email link. Keywords: accept, invite, share. |
| po_workspaces_share_accept_by_id | WRITES DATA. Creates or changes data in the workspace. po_workspaces_share_accept_by_id: Accept pending share from inbox by share_id. Keywords: accept, inbox, share_id. |
| po_workspaces_share_decline | WRITES DATA. Creates or changes data in the workspace. po_workspaces_share_decline: Decline share invitation by share_id. Keywords: decline, reject, share. |
| po_workspaces_share_resend_invite | DESTRUCTIVE. Changes or removes data, or reaches people outside this system (delete, revoke, cancel, send, activate retention). Not automatically undoable — confirm intent first. po_workspaces_share_resend_invite: Resend pending share invitation email (owner, rate-limited). Keywords: resend, invite, share. |
| po_workspaces_share_cancel_invite | DESTRUCTIVE. Changes or removes data, or reaches people outside this system (delete, revoke, cancel, send, activate retention). Not automatically undoable — confirm intent first. po_workspaces_share_cancel_invite: Cancel pending invitation (owner). Requires confirm=true. Keywords: cancel, invite, share. |
| po_workspaces_share_info | READ-ONLY. Returns data, changes nothing. po_workspaces_share_info: Public share metadata for signup/onboarding (token-based, bearer optional). Keywords: share, info, token, signup. |
| po_workspaces_external_users_list | READ-ONLY. Returns data, changes nothing. po_workspaces_external_users_list: List external users with workspace access (admin view, root/administrator). Keywords: external, users, admin, sharing. |
| po_workspaces_security_check_access | READ-ONLY. Returns data, changes nothing. po_workspaces_security_check_access: Check whether a workspace requires password/SMS unlock and whether the current bearer token already has a valid workspace session. Returns protection_type (none|password|sms|password+sms), masked phone numbers, dual-auth flag, ACL membership (has_access), and active_session expiry. Call this before po_documents_* on protected/compliance workspaces. Keywords: 2FA, SMS, unlock, compliance, workspace security, access check. |
| po_documents_folders_create | WRITES DATA. Creates or changes data in the workspace. po_documents_folders_create: Group multiple documents into a document folder/staple. Minimum 2 POFIDs required. Use to group invoice + delivery note + payment, bundle contract + attachments. Keywords: folder, staple, group, bundle. |
| po_documents_folders_dissolve | DESTRUCTIVE. Changes or removes data, or reaches people outside this system (delete, revoke, cancel, send, activate retention). Not automatically undoable — confirm intent first. po_documents_folders_dissolve: Dissolve/ungroup a document folder — individual documents are preserved, only the grouping is removed. Keywords: dissolve, ungroup, unstaple, folder. |
| po_signing_request_create | DESTRUCTIVE. Changes or removes data, or reaches people outside this system (delete, revoke, cancel, send, activate retention). Not automatically undoable — confirm intent first. po_signing_request_create: Create a digital signing request for a document and send invitations to signers. IMPORTANT: Every signer MUST have both email AND phone number. Phone is MANDATORY for SMS-OTP security verification — without a phone number the signing process WILL FAIL! SMS is only used for the one-time code: no SMS is sent at create — the signer receives the code on the signing page and signs there. This connector never signs on behalf of a signer. channel=email sends the invitation email; channel=manual or none returns the signing URL only, for the user to pass on. Always ask the user for the signer phone number before calling this tool. CRITICAL: The phone must be in full E.164 format with the REAL country code — NEVER auto-guess, assume or fabricate a country prefix like +49. If the user provides a number without + or country code, ask the user for the country code before calling this tool. A wrong country code causes SMS delivery to a wrong number or country. Supports eIDAS-compliant signatures (SES, AES, QES), multi-step signing order, automatic reminders. Optional placement_template_uuid applies a saved per-page signature layout (created in Mobile In-Person Sign). Explicit signature_fields win if both are sent. last/all anchors resolve against document_page_count. Keywords: sign, create signature, signing request, digital signature, eIDAS. |
| po_signing_requests_list | READ-ONLY. Returns data, changes nothing. po_signing_requests_list: WHEN TO USE: signature status for specific documents (batch lookup by documents_id/pofid) or the detail of one request. For a plain status-filtered list of all signature requests use po_esignatures_list_signature_requests instead. Keywords: list, signing requests, status, signatures. |
| po_signing_request_manage | DESTRUCTIVE. Changes or removes data, or reaches people outside this system (delete, revoke, cancel, send, activate retention). Not automatically undoable — confirm intent first. po_signing_request_manage: Manage an existing signing request when you do NOT know which mechanism created it — cancel, send reminder, or resend invitation. WHEN TO USE: this tool tries the e-signature request API first and falls back to the signing-link API, so it works for both. Prefer the dedicated tool when you know the origin: po_esignatures_cancel_signature_request / po_esignatures_send_reminder for requests created with po_esignatures_create_signature_request, and po_signature_links_cancel_signing_request / po_signature_links_resend_invitation for links created with po_signature_links_send_signing_request. Keywords: manage, cancel, remind, resend, signing request, unknown origin. |
| po_signing_document_download | READ-ONLY. Returns data, changes nothing. po_signing_document_download: Download a signed PDF document, the original, or the signature certificate/audit trail. Keywords: download, signed, PDF, certificate. |
| po_signing_verify | READ-ONLY. Returns data, changes nothing. po_signing_verify: Verify, check and validate digital signatures on a document. Validates signature integrity, certificate chain, eIDAS compliance (SES/AES/QES). Accepts POFID, upload_id, or file_url. Keywords: verify, check, validate, signature. |
| po_signing_types_list | READ-ONLY. Returns data, changes nothing. po_signing_types_list: List available signature types and saved signature templates. Returns eIDAS signature levels (SES simple, AES advanced, QES qualified) and stored signature/initial templates for the account. Use before creating signing requests to know available options. Keywords: signature types, templates, eIDAS, SES, AES, QES, list signatures. |
| po_signing_template_save | WRITES DATA. Creates or changes data in the workspace. po_signing_template_save: Save a signature or initials template as base64 image for repeated use. Keywords: save, signature, template, initials. |
| po_signing_reminders_configure | WRITES DATA. Creates or changes data in the workspace. po_signing_reminders_configure: Save (action=save) or read (action=get) the global reminder settings for signing requests. Configure when and how often reminders are sent. Keywords: configure, reminders, signing, settings. |
| po_signing_mobile_link_generate | WRITES DATA. Creates or changes data in the workspace. po_signing_mobile_link_generate: Generate a QR-code-capable link for mobile document signing. Keywords: mobile, QR code, signing link. |
| po_documents_ai_split | WRITES DATA. Creates or changes data in the workspace. po_documents_ai_split: Automatically split a multi-page PDF into individual documents using AI Vision. Detects document boundaries in scanned stacks, inbox, archive digitization. Returns download URLs for split documents. File input: upload_id (preferred), file_url, or pofid. Call without file input to get an upload link. Keywords: split, PDF, AI, separate. |
| po_aiocr_analyze | WRITES DATA. Creates or changes data in the workspace. po_aiocr_analyze: AI-powered OCR document analysis — extract text, detect tables, layout, bounding boxes. Modes: text (basic + bounding boxes), grid (+ QR/barcode), complete (+ tables/layout/markdown). Optional: create searchable PDF. File input: upload_id (preferred), file_url, or pofid. Call without file input to get an upload link. Keywords: OCR, AI, analyze, extract text, tables. |
| po_anonymization_pii_detect | READ-ONLY. Returns data, changes nothing. po_anonymization_pii_detect: Step 1 of document anonymization — detect personally identifiable information (PII): names, addresses, phone, email, IBAN, tax IDs, dates. Returns bounding boxes for step 2 (po_anonymization_redaction_apply). File input: upload_id (preferred), file_url, or pofid. Pass scenario for policy (default gdpr_disclosure; e.g. external_sharing, financial_data). Call without file input to get an upload link. Keywords: PII, detect, anonymize, GDPR, scenario. |