Developer Platform

Subsumio Public API für Integrationen

Binden Sie Subsumio in Kanzlei-Software, Portale und Automationen ein. Token-basiert, versionsklar und auf produktive Integrationsflüsse ausgelegt.

Stabile API-Basis

api.subsum.io als kanonischer Endpoint mit versionierten Public-Routen unter /api/public/v1.

Sichere Authentifizierung

Bearer Access Tokens mit Workspace- und Dokumentberechtigungen auf Basis des bestehenden Rollenmodells.

Sofort nutzbare Endpunkte

Workspaces auflisten, Workspace-Metadaten lesen, Dokumentlisten abrufen und Dokument-Metadaten für Downstream-Workflows konsumieren.

Produktions-Endpoint

https://api.subsum.io

Aktueller Public-API-Scope (v1)

  • GET /api/public/v1/health
  • GET /api/public/v1/meta
  • GET /api/public/v1/workspaces
  • GET /api/public/v1/workspaces/:workspaceId
  • GET /api/public/v1/workspaces/:workspaceId/stats
  • GET /api/public/v1/workspaces/:workspaceId/documents
  • GET /api/public/v1/workspaces/:workspaceId/documents/:docId
  • GET /api/public/v1/workspaces/:workspaceId/documents/:docId/content
  • POST /api/public/v1/workspaces/:workspaceId/documents
  • PATCH /api/public/v1/workspaces/:workspaceId/documents/:docId
  • DELETE /api/public/v1/workspaces/:workspaceId/documents/:docId
  • GET /api/public/v1/workspaces/:workspaceId/webhooks
  • GET /api/public/v1/workspaces/:workspaceId/webhooks/:webhookId
  • POST /api/public/v1/workspaces/:workspaceId/webhooks
  • PATCH /api/public/v1/workspaces/:workspaceId/webhooks/:webhookId
  • DELETE /api/public/v1/workspaces/:workspaceId/webhooks/:webhookId
  • GET /api/public/v1/workspaces/:workspaceId/webhook-deliveries
  • GET /api/public/v1/workspaces/:workspaceId/webhook-deliveries/:deliveryId
  • POST /api/public/v1/workspaces/:workspaceId/webhook-deliveries/:deliveryId/replay
  • GET /api/public/v1/workspaces/:workspaceId/search?query=...
  • GET /api/public/v1/workspaces/:workspaceId/blobs/:blobKey

Quickstart für Integratoren

In drei Schritten von Token zu produktivem Datenabruf.

  1. 1) User Access Token erzeugen (im Konto / Workspace-Kontext).
  2. 2) API-Discovery über /meta abrufen und verfügbare Ressourcen prüfen.
  3. 3) Workspaces und Dokument-Metadaten paginiert konsumieren.

Discovery (ohne Token)

curl -s https://api.subsum.io/api/public/v1/meta

Workspaces abrufen (mit Bearer Token)

curl -s -H "Authorization: Bearer <ACCESS_TOKEN>" "https://api.subsum.io/api/public/v1/workspaces?page=1&pageSize=25"

Dokument-Content als Markdown exportieren

curl -s -H "Authorization: Bearer <ACCESS_TOKEN>" "https://api.subsum.io/api/public/v1/workspaces/<WORKSPACE_ID>/documents/<DOC_ID>/content"

Workspace-Dokumente durchsuchen

curl -s -H "Authorization: Bearer <ACCESS_TOKEN>" "https://api.subsum.io/api/public/v1/workspaces/<WORKSPACE_ID>/search?query=deadline&limit=20"

Blob-Download-URL für Attachments auflösen

curl -s -H "Authorization: Bearer <ACCESS_TOKEN>" "https://api.subsum.io/api/public/v1/workspaces/<WORKSPACE_ID>/blobs/<BLOB_KEY>"

Dokument aus Markdown anlegen

curl -s -X POST -H "Authorization: Bearer <ACCESS_TOKEN>" -H "Content-Type: application/json" -d "{"title":"Neue Akte","content":"# Neue Akte\nErster Entwurf"}" "https://api.subsum.io/api/public/v1/workspaces/<WORKSPACE_ID>/documents"

Dokumenttitel/Content aktualisieren

curl -s -X PATCH -H "Authorization: Bearer <ACCESS_TOKEN>" -H "Content-Type: application/json" -d "{"title":"Neue Akte v2","content":"# Neue Akte v2\nAktualisiert"}" "https://api.subsum.io/api/public/v1/workspaces/<WORKSPACE_ID>/documents/<DOC_ID>"

Dokument löschen

curl -s -X DELETE -H "Authorization: Bearer <ACCESS_TOKEN>" "https://api.subsum.io/api/public/v1/workspaces/<WORKSPACE_ID>/documents/<DOC_ID>"

Webhook-Subscriptions auflisten

curl -s -H "Authorization: Bearer <ACCESS_TOKEN>" "https://api.subsum.io/api/public/v1/workspaces/<WORKSPACE_ID>/webhooks"

Webhook-Subscription erstellen (idempotent)

curl -s -X POST -H "Authorization: Bearer <ACCESS_TOKEN>" -H "Idempotency-Key: webhook-create-001" -H "Content-Type: application/json" -d "{"url":"https://example.com/subsumio/webhook","events":["document.created","document.updated"]}" "https://api.subsum.io/api/public/v1/workspaces/<WORKSPACE_ID>/webhooks"

Webhook-Delivery-Logs auflisten

curl -s -H "Authorization: Bearer <ACCESS_TOKEN>" "https://api.subsum.io/api/public/v1/workspaces/<WORKSPACE_ID>/webhook-deliveries?status=failed&page=1&pageSize=25"

Einzelne Delivery mit Attempts abrufen

curl -s -H "Authorization: Bearer <ACCESS_TOKEN>" "https://api.subsum.io/api/public/v1/workspaces/<WORKSPACE_ID>/webhook-deliveries/<DELIVERY_ID>"

Fehlgeschlagene Delivery erneut zustellen

curl -s -X POST -H "Authorization: Bearer <ACCESS_TOKEN>" -H "Idempotency-Key: replay-delivery-001" "https://api.subsum.io/api/public/v1/workspaces/<WORKSPACE_ID>/webhook-deliveries/<DELIVERY_ID>/replay"

Für mutierende Endpunkte (POST/PATCH/DELETE) den Header Idempotency-Key senden, damit Retries sicher dedupliziert werden.

Webhook-Events kommen signiert über X-Subsumio-Signature (Format: v1=<hmac_sha256>). Zu verifizieren mit HMAC(secret, "<timestamp>.<raw_body>") und X-Subsumio-Event-Timestamp.

Delivery-Verhalten: bis zu 4 Zustellversuche mit Backoff (0s, 1.5s, 5s), Timeout pro Versuch 10s. Status: pending → running → succeeded/failed. Delivery-Logs dauerhaft in Postgres, abrufbar über /webhook-deliveries.

Fehler- und Integrationshinweise

  • 401/403: Token fehlt, ist ungültig oder hat keine ausreichenden Workspace-Rechte.
  • 404: Workspace oder Dokument existiert nicht (oder ist nicht zugreifbar).
  • 429: Throttling aktiv – Retry mit Backoff einplanen.