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

Service Catalog Item Schema

Schema-ID
service_catalog_item
Collection
service_catalog_items
Permissions
  • Lesenservice_catalog_item_view
  • Anlegenservice_catalog_item_create
  • Ändernservice_catalog_item_edit
  • Löschenservice_catalog_item_delete

Felder

Service Catalog Item Schema

service_catalog_items4 Permissions

Anforderbares Catalog-Item im Customer-Portal. Per-Customer konfiguriert mit dynamischem Formular (formSchema), optionaler Approval-Chain (Step-Builder DSL), Visibility-Rules und einem Fulfillment-Typ. Approval-State wird beim Antrag (service_request) als embedded Array eingefroren — Items selbst tragen nur die Konfigurations-Vorlage.

customerPartyIduuiderforderlich

FK customer ORGANIZATION party (isCustomer=true). Always set.

sampleOriginstringoptional

Slug of the sample-library entry this item was cloned from. Audit/telemetry only — no live link.

max 100 ZeichenDefault: nullread-onlynullable
titlestringerforderlich
1–200 Zeichen
descriptionstringoptional
max 4000 ZeichenDefault: nullnullable
categorystringoptional

Free-text category for portal grouping (e.g. "Software", "Berechtigungen").

max 100 ZeichenDefault: nullnullable
iconKeystringoptional

Key from Icons.tsx (e.g. "PackageIcon"). Frontend falls back to a default.

max 60 ZeichenDefault: nullnullable
formSchemaobjectoptional

JSON-Schema-Subset for the dynamic request form. Phase 1 acceptance: object with properties + optional required[]. The frontend renders the form from this shape.

approvalRequiredbooleanoptional

Master toggle. When false, requests skip pending_approval and go straight to in_fulfillment.

Default: false
approvalChainTemplateIdstringoptional

Optional FK to approval_chain_templates (Phase 4). Mutually exclusive with approvalStepsInline.

PatternDefault: nullnullable
approvalStepsInlineobject[]optional

Inline approval steps when no template is referenced. Items are produced by the visual step-builder UI; the approverDsl string is the serialized expression (FIXED_PERSON, CUSTOMER_MANAGER, etc. — see approver-resolver service).

Default: []
approverDslstringerforderlich
1–1000 Zeichen
modestringerforderlich
one_ofall_of
slaHoursnumberoptional
≥ 0Default: nullnullable
notifyChannelsstring[]optional
Default: []
conditionsobject[]optional
Default: []
fieldKeystringerforderlich
1–200 Zeichen
operatorstringerforderlich
eqneqgtgteltltecontainsis_emptyis_not_empty
valueanyoptional
fulfillmentTypestringerforderlich
manual_ticketaccess_grantlicense_assignmentautomationinfo_only
fulfillmentConfigobjectoptional

Type-dependent config. For manual_ticket: ticketQueueId, ticketDefaultOwnerUserId, ticketPriority, ticketTitleTemplate, ticketBodyTemplate (Mustache). For info_only: infoMarkdown, kbArticleId. Other types reserved for later phases.

Default: {}
visibilityRulesobjectoptional
Default: {}
visibleToAllContactsbooleanoptional
Default: true
visibleToShopRoleIdsuuid[]optional
Default: []
visibleToOrgUnitIdsuuid[]optional
Default: []
onUnresolvableApproverstringoptional
skipfallback_to_msp_ownerfail
Default: "fallback_to_msp_owner"
fallbackApproverUserIdstringoptional

Required when onUnresolvableApprover=fallback_to_msp_owner.

PatternDefault: nullnullable
slaPolicyIdstringoptional
PatternDefault: nullnullable
costCenterRequiredbooleanoptional
Default: false
pricingobjectoptional
Default: nullnullable
statusstringoptional
draftactivearchived
Default: "draft"

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

Suche