Support Request Schema
Felder
Support Request Schema
A tenant user’s support request to Codemeta (vendor support)
category
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.
BUGQUESTIONFEATUREBILLINGtitle
Short summary of the request
description
Detailed description of the request
status
Processing status, set by Codemeta support
NEWIN_PROGRESSWAITING_ON_CUSTOMERRESOLVEDCLOSEDpriority
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.
LOWMEDIUMHIGHCRITICALnullassignedSupportUserId
Codemeta support agent handling this request
aiTriage
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.
category
Advisory only — never overwrites the reporter-chosen category.
BUGQUESTIONFEATUREBILLINGnullpriority
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.
LOWMEDIUMHIGHCRITICALnullsuggestedAssigneeUserId
Advisory chip only — never auto-assigns (ADR 0938 decision 13).
reasoning
Short rationale, shown to the agent so the suggestion is auditable.
source
Which rung of the fallback chain produced this. Displayed, because an agent should know whether a model or a keyword rule made the call.
llmheuristicmodel
Model id when source is llm — null for heuristic results.
triagedAt
When the triage ran.
screenshotFileIds
Uploaded screenshots (uploaded before submit, referenced by id)
sourceFeedbackId
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.
affectedPage
URL or route the reporter was on when submitting
Keine Felder passen zum Filter.
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 + filterbarGET /api/v1/support_requests/<id>— Einzelne EntityPOST /api/v1/support_requests— AnlegenPATCH /api/v1/support_requests/<id>— Teil-UpdateDELETE /api/v1/support_requests/<id>— Soft-DeleteGET /api/v1/support_requests/<id>/timeline— Audit + Aktivitäten