{"endpoint": "POST /api/support", "content_type": "application/json", "max_body_bytes": 2097152, "auth": "optional: Authorization: Bearer <tenant token>. Without it the ticket is accepted but marked unverified.", "fields": {"summary": "required, one line, what is wrong", "description": "recommended, free text; agents should describe what was attempted and observed", "logs": "optional debug output, truncated to the last 200000 characters", "severity": "one of ['blocker', 'degraded', 'question'], default 'question'", "tenant": "tenant identifier, required unless contact_email is given", "user": "the person on whose behalf the agent is filing", "agent": "name of the reporting agent, if any", "process": "the business process concerned, e.g. Auftragsabwicklung", "context": "object, free-form: run ids, system names, versions", "contact_email": "address for the reply, required unless tenant is given", "reported_by": "'agent' or 'human'", "idempotency_key": "optional; repeating a key returns the original ticket instead of opening a new one"}, "responses": {"201": "{\"ok\": true, \"id\": \"BV-XXXXXXXXXX\", \"status\": \"new\"}", "200": "same as 201 when an idempotency_key matched an existing ticket", "422": "{\"ok\": false, \"error\": \"validation_failed\"}", "429": "{\"ok\": false, \"error\": \"rate_limited\"}", "413": "{\"ok\": false, \"error\": \"payload_too_large\"}"}, "status_lookup": "GET /api/support/<id>", "retention": {"logs_days": 30, "ticket_days": 365}}