Skip to navigation

Documents AI API Routing

General note:

  • api.* refers to the primary backend (likely Python/FastAPI or similar).
  • goApi.* (seen only in WorkflowEditor) likely targets a separate Go-based workflow service.
  • Some routes use string interpolation with IDs (e.g. entities/${entitiesID}); I list them in templated form.

entities & Line Items

  • GET entities: Load list of entities.
  • GET entities/{entityID}: Fetch a single invoice’s full data.
  • POST entities/{entityID}/continue: Move invoice forward in processing workflow.
  • POST entities/{entityID}/approve: Approve an invoice.
  • POST entities/{entityID}/reject: Reject an invoice.
  • POST entities/{entityID}/manual: Mark or trigger manual handling.
  • POST entities/{entityID}/rerun: Reprocess/rerun extraction or workflow.
  • PATCH entities/{entityID}: Update invoice-level fields (header/vendor/customer/total sections).
  • POST entities/{entityID}/lineItems: Add a new line item.
  • PUT entities/{entityID}/lineItems/{lineID}: Update an existing line item.
  • DELETE entities/{entityID}/lineItems/{lineID}: Remove a line item.
  • POST entities/restart: Bulk restart processing of selected entities (used in RestartBulk).
  • POST entities/export: Trigger export (appears in multiple bulk/export components).
  • POST entities/{entityID}/(inside batch line item edit block – likely attachments or note) (There is also a multi-edit section posting data; context suggests saving batched edits.)
  • PATCH entities/{entityID} (also used in line/header edit subforms repeatedly).

Invoice Coding & Supporting Data

  • GET accounts / GET classes / GET vendors: Load coding metadata (fallbacks used if failing).
  • GET clients/{clientId}/terms (seen as /clients/123/terms in Matching.tsx): Retrieve payment or contract terms for client.

Knowledge Base Management

  • GET /knowledge/{kbType}: Fetch entries of a specific knowledge base type.
  • GET /knowledge/{kbType}/template: Download/import template format.
  • POST /knowledge/{kbType}: Create a new knowledge base entry.
  • POST /knowledge/{kbType}/import: Bulk import via uploaded file.
  • DELETE /knowledge/{kbType}/{id}: Remove an entry.
  • POST /client/datalookup: Upload or create general data lookup entries (likely reference data).
  • POST /client/datalookup/equipment: Same as above but equipment-specific.

ERP / CRM Integration Connections

  • GET /admin/client/{client}/connection/{type}: Fetch existing connector (ERP/CRM) details (attempted per type).
  • POST /admin/client/{client}/connection: Create or set connector credentials.
  • PUT /admin/client/{client}/connection: Update or clear credentials (also used to “disconnect” by sending empty details).

Feedback & Requests

  • GET /feedback: View submitted feedback items (FeedbackViewer).
  • POST /feedback: Submit feedback or connector support request (multipart form with topic/integration request).

Webhook Management

  • DELETE /admin/webhooks/{id}: Remove a configured webhook (seen in WebhookManager).

Inbox / Email Monitoring (Exchange)

  • GET /exchange/blocked_senders: List blocked senders.
  • POST /exchange/blocked_senders: Add a blocked sender (value + reason).
  • DELETE /exchange/blocked_senders/{id}: Unblock a sender.
  • GET /exchange/list_inboxes: List monitored inboxes.
  • GET /exchange/auth: Check or retrieve auth status/config for Exchange integration.
  • DELETE /exchange/unsubscribe/inbox/{subscriptionId}: Stop monitoring a specific inbox.
  • (Commented) DELETE /exchange/unsubscribe/inbox?inbox_address=… (older variant).

Workflow / Orchestration (goApi namespace)

  • POST /workflow: Create workflow definition.
  • GET /workflow: List workflows.
  • GET /workflow/{id}: Fetch workflow by ID (latest or default version).
  • GET /workflow/{id}/{version}: Fetch a specific version (returned but not directly awaited in snippet).
  • PUT /workflow/{id}: Update workflow.
  • DELETE /workflow/{id}: Delete workflow.
  • POST /node: Create a node definition.
  • GET /node: List nodes.
  • GET /node/{id}: Fetch node definition.
  • PUT /node/{id}: Update node.
  • DELETE /node/{id}: Delete node.
  • GET /nodeconfig: Retrieve node configuration schemas.
  • GET /workflows/results: Fetch execution or validation results (likely monitoring or test runs).

Access Control (Hooks)

  • (Covered via hooks above: usePermissions, useRoles, useGroups, useUsers, useClients).

Data Lookup (again for clarity)

  • POST /client/datalookup
  • POST /client/datalookup/equipment

Export / Bulk Ops (besides entities/export)

  • POST entities/export (appears in multiple bulk components for download/export).

Misc (from Intake / Viewer helpers)

  • PATCH entities/{entityID} (multiple focused updates for sections)
  • Repeated pattern of invoice line operations already summarized.

Inferred Functional Intent (high level)

  • entities: Full lifecycle (intake, edit header/vendor/customer/amounts, line CRUD, status transitions, export, rerun).
  • Reference Data: accounts/classes/vendors for coding; knowledge base entries for domain guidance.
  • Integrations: Manage ERP/CRM connector credentials per client and type (ERP vs CRM).
  • Workflow Engine: Separate service (goApi) managing graph-based workflows and nodes.
  • Email/Inbox Monitoring: Exchange integration for automated ingestion or monitoring, with security controls (blocked senders).
  • Access & Identity: CRUD for users, groups, roles, permissions, and clients.
  • Feedback & Requests: General feedback plus requesting new connector support.
  • Data Lookup: Uploading structured reference datasets (general + equipment).
  • Webhooks: Admin removal of webhook configurations.