Zum Inhalt

Workflow API-Referenz

POST /api/v1/workflow/start

Initialisiert einen neuen Workflow und sendet einen OTP-Code an die angegebene Email.

Auth: Keine (MVP). x402-Pricing in Phase C. Rate-Limit: 5/Stunde pro IP

Request

{
  "user_email": "matthias@example.com",
  "agent_id": "claude-sonnet-4-5",
  "briefing_hash": "abc123...",
  "briefing_metadata": {
    "title": "Marketing-Kampagne Q3",
    "expected_output_count": 50
  },
  "tier": "standard"
}

Response 201

{
  "workflow_id": "uuid",
  "workflow_token": "opaque-bearer-token",
  "otp_sent_to": "matthias@example.com",
  "expires_at": "2026-05-20T14:30:00Z",
  "status": "pending"
}

Workflow-Token sicher aufbewahren

Das workflow_token ist der einzige Zugang zu /stamp und /complete. Es wird nur einmal zurückgegeben.


GET /api/v1/workflow/{id}/verify-user?challenge=...

OTP-Verifizierung. User klickt den Link aus der Email.

Auth: Keine (Token im Query-Parameter)

  • Erfolg: Workflow-Status wechselt zu active, HTML-Bestätigung
  • Fehler: 410 Gone (abgelaufen, bereits verwendet, zu viele Versuche)

POST /api/v1/workflow/{id}/stamp

Stempelt einen einzelnen Output innerhalb des Workflows.

Auth: Authorization: Workflow <token> Rate-Limit: 100/Minute pro Workflow

Request

{
  "output_hash": "abc123...",
  "output_type": "image",
  "output_metadata": {
    "filename": "campaign-hero.png",
    "dimensions": "1920x1080",
    "model": "FLUX.1 Pro"
  }
}

Response 201

{
  "output_id": "uuid",
  "sequence_number": 1,
  "stamp_token_id": "uuid",
  "verify_url": "https://siegel.kavra.cloud/workflow/{id}#output-1",
  "workflow_anchor_url": "https://siegel.kavra.cloud/workflow/{id}"
}

POST /api/v1/workflow/{id}/complete

Finalisiert den Workflow. Berechnet Merkle-Wurzel aller Output-Hashes.

Auth: Authorization: Workflow <token>

Response 200

{
  "workflow_id": "uuid",
  "status": "completed",
  "output_count": 47,
  "verify_url": "https://siegel.kavra.cloud/workflow/{id}",
  "completed_at": "2026-05-19T16:00:00Z"
}

GET /workflow/{id}

Öffentliche Verify-Page. Zeigt Workflow-Details, Output-Liste und Trust-Anker.

Auth: Keine Format: HTML


POST /api/v1/workflow/{id}/redact-pii

DSGVO Art. 17: Email-Bindung anonymisieren.

Auth: Authorization: Workflow <token>

Setzt user_email auf [REDACTED]. Hash-Anker und Output-Kette bleiben erhalten.