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

Service Request Schema

Schema-ID
service_request
Collection
service_requests
Permissions
  • Lesenservice_request_view
  • Anlegenadmin_bypass
  • Ändernadmin_bypass
  • Löschenadmin_bypass
Beziehungen

Felder

Service Request Schema

service_requests4 Permissions

A concrete service-catalog request from a customer portal user. Carries the formData payload, an embedded resolved approval chain and a status machine.

requestNumberstringoptional

Sequence-generated number like "SR-2026-00042". Server-assigned.

max 50 ZeichenDefault: nullread-onlynullable
catalogItemIduuiderforderlich
catalogItemTitleSnapshotstringoptional

Title copied at submission so audit reflects the item state at that time.

max 200 ZeichenDefault: nullread-onlynullable
customerPartyIduuiderforderlich
requesterPersonPartyIduuiderforderlich

PERSON party of the submitter (always set).

requesterUserIdstringoptional

Convenience cache: better-auth user-id of the requester. May be null for offline-created records.

PatternDefault: nullread-onlynullable
beneficiaryPersonPartyIdstringoptional

When the request is on behalf of another colleague. null = requester is the beneficiary.

PatternDefault: nullnullable
formDataobjectoptional

Form payload, validated against the catalog item's formSchema at submit time.

Default: {}
statusstringoptional
draftpending_approvalapprovedin_fulfillmentdonerejectedcancelled
Default: "draft"read-only
approvalStepsobject[]optional

Embedded resolved approval steps, snapshot from the catalog item at submission. Index-aligned with currentApprovalStepIndex.

Default: []read-only
indexnumbererforderlich
≥ 0
approverDslstringerforderlich
1–1000 Zeichen
modestringerforderlich
one_ofall_of
conditionsobject[]optional
Default: []
addressedUserIdsuuid[]erforderlich
Default: []
decisionsobject[]erforderlich
Default: []
userIduuiderforderlich
decisionstringerforderlich
approvereject
decidedAtdatetimeerforderlich
commentstringoptional
max 2000 ZeichenDefault: nullnullable
viastringoptional
portalemail_token
Default: "portal"
statusstringerforderlich
waiting_resolutionpendingapprovedrejectedskippedescalated
read-only
resolvedAtdatetimeoptional
Default: nullnullable
slaDeadlinedatetimeoptional
Default: nullnullable
skipReasonstringoptional
max 200 ZeichenDefault: nullnullable
currentApprovalStepIndexnumberoptional

-1 when no approval is in flight (draft, approved+, terminal states).

Default: -1read-only
currentStepSlaDeadlinedatetimeoptional

Top-level mirror of approvalSteps[currentApprovalStepIndex].slaDeadline. Exists so the generic escalation engine (ADR 0085) can filter on a plain field. Server-maintained; clients must not write it.

Default: nullread-onlynullable
relatedTicketIdstringoptional

Ticket created for manual_ticket fulfillment. Status-sync back on ticket close.

PatternDefault: nullread-onlynullable
fulfillmentLogobject[]optional

State-machine audit trail (timestamp + actor + transition + note).

Default: []read-only
atdatetimeerforderlich
actorUserIdstringoptional
PatternDefault: nullnullable
transitionstringerforderlich
max 100 Zeichen
notestringoptional
max 2000 ZeichenDefault: nullnullable
rejectionReasonstringoptional
max 2000 ZeichenDefault: nullnullable
cancelledReasonstringoptional
max 2000 ZeichenDefault: nullnullable
costCenterstringoptional
max 100 ZeichenDefault: nullnullable

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

Suche