{"endpoint": "POST /api/support", "content_type": "application/json", "max_body_bytes": 2097152, "auth": "None required. Send your tenant id in `tenant`: a registered id marks the ticket verified. A bearer token is accepted as an alternative but is not needed.", "required": ["summary", "tenant or contact_email"], "fields": {"summary": "REQUIRED. One line: what is wrong.", "tenant": "REQUIRED unless contact_email is given. Your tenant id; if it is registered with us the ticket counts as verified.", "contact_email": "REQUIRED unless tenant is given. Address for the reply.", "description": "optional but recommended. What was attempted, what happened, since when.", "logs": "optional. Debug output; kept to the last 200000 characters.", "severity": "optional. One of ['blocker', 'degraded', 'question']; defaults to 'question'.", "user": "optional. The person on whose behalf you are filing.", "agent": "optional. Name of the reporting agent.", "process": "optional. The business process concerned. Omit it when the fault is not tied to one process (e.g. the platform itself is down).", "context": "optional. Free-form object: run ids, system names, versions.", "reported_by": "optional. 'agent' or 'human'.", "idempotency_key": "optional. Repeating a key returns the original ticket instead of opening a second one. Supply your own value - a run id works well - and reuse it when retrying after a network error."}, "classification": {"verified": "tenant id is registered with us (or a valid bearer token was sent)", "human": "submitted through the form on support.bavaros.de", "unverified": "neither - accepted, but triaged as possible spam"}, "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}}