API · v1 · stabil
CODEMETA OSDeveloper Center
Konsole öffnen
Entity · support_requests

Support Request Schema

Schema-ID
support_request
Collection
support_requests
Permissions
  • Lesensupport_request_view
  • Anlegensupport_request_create
  • Ändernsupport_request_edit
  • Löschensupport_request_delete

Felder

Support Request Schema

support_requests4 Permissions

A tenant user’s support request to Codemeta (vendor support)

categorystringerforderlich

What the request is about, chosen by the reporter. Deliberately kept to four distinct cases — the later AI triage (phase 2) classifies along the same axis.

BUGQUESTIONFEATUREBILLING
titlestringerforderlich

Short summary of the request

1–300 Zeichen
descriptionstringerforderlich

Detailed description of the request

1–10000 Zeichen
statusstringoptional

Processing status, set by Codemeta support

NEWIN_PROGRESSWAITING_ON_CUSTOMERRESOLVEDCLOSED
Default: "NEW"
prioritystringoptional

Set by CODEMETA SUPPORT only — never by the reporter (ADR 0938 decision 15). There is deliberately no `suggestedPriority`: a self-declared priority creates an expectation that must then be served or disappointed, and would be useless as a queue criterion because it is gameable. Not part of the create payload; only PATCH on the support scope may write it. Phase 3b sorts the live queue by a separate `aiTriage.priority`, not by this field.

LOWMEDIUMHIGHCRITICALnull
Default: nullread-onlynullable
assignedSupportUserIdstringoptional

Codemeta support agent handling this request

max 100 ZeichenDefault: nullread-onlynullable
aiTriageobjectoptional

Result of the automatic triage (ADR 0938 phase 2). Written by the worker only — protected, so neither reporter nor agent can forge it. Stays null when the LLM is unavailable and no heuristic matched; every reader must tolerate that.

Default: nullread-onlynullable
categorystringoptional

Advisory only — never overwrites the reporter-chosen category.

BUGQUESTIONFEATUREBILLINGnull
nullable
prioritystringoptional

AUTHORITATIVE, unlike the other fields (ADR 0938 decision 14): from phase 3b this sorts the paid live queue. It never writes the human `priority` field.

LOWMEDIUMHIGHCRITICALnull
read-onlynullable
suggestedAssigneeUserIdstringoptional

Advisory chip only — never auto-assigns (ADR 0938 decision 13).

max 100 ZeichenDefault: nullnullable
reasoningstringoptional

Short rationale, shown to the agent so the suggestion is auditable.

max 2000 ZeichenDefault: nullnullable
sourcestringoptional

Which rung of the fallback chain produced this. Displayed, because an agent should know whether a model or a keyword rule made the call.

llmheuristic
modelstringoptional

Model id when source is llm — null for heuristic results.

max 200 ZeichenDefault: nullnullable
triagedAtdatetimeoptional

When the triage ran.

screenshotFileIdsstring[]optional

Uploaded screenshots (uploaded before submit, referenced by id)

max 3 ItemsDefault: []
sourceFeedbackIdstringoptional

Set when this request was created by escalating a BUG feedback to live support (ADR 0938 decision 10 requires a request to hang the session off). The feedback itself is NOT replaced — it stays the product-feedback record that the dedup corpus and merge work on; this request is the support case. Written only by the escalation route, never by a client.

max 100 ZeichenDefault: nullread-onlynullable
affectedPagestringoptional

URL or route the reporter was on when submitting

max 500 Zeichennullable
browserInfoobjectoptional

Automatically captured browser information

nullable
userAgentstringoptional
max 500 Zeichen
viewportstringoptional
max 50 Zeichen
urlstringoptional
max 2000 Zeichen
consoleLogsobject[]optional

Client console capture, capped like the feedback flow

max 100 ItemsDefault: []nullable
levelstringoptional
max 20 Zeichen
messagestringoptional
max 2000 Zeichen
stackstringoptional
max 5000 Zeichennullable
timestampstringoptional
max 40 Zeichen

Standard-Endpoints

Diese Resource folgt dem generischen CRUD-Vertrag der Plattform. Lesen Sie die Konventionen für Pagination, Idempotenz, Optimistic Locking und Audit. Die wichtigsten Endpoints:

  • GET /api/v1/support_requests — Liste, paginiert + filterbar
  • GET /api/v1/support_requests/<id> — Einzelne Entity
  • POST /api/v1/support_requests — Anlegen
  • PATCH /api/v1/support_requests/<id> — Teil-Update
  • DELETE /api/v1/support_requests/<id> — Soft-Delete
  • GET /api/v1/support_requests/<id>/timeline — Audit + Aktivitäten

Suche