Skip to main content

Helpdesk API DTO Catalog

Audience

Developers, frontend engineers, QA, support and architects.

Summary

The endpoint source declares 29 public Helpdesk request/response records: 14 request records and 15 response records. Private joins, anonymous objects, multipart form data and shared service-information types are not counted as Helpdesk DTO declarations.

Reference Content

DTOPurposeDirectionVerified validationSource path
CreateTicketDtoTicket creation inputRequestTitle value object; category/priority existence; requester fallbackmicroservices/src/helpdesk-service/Api/HelpdeskEndpoints.cs
AssignTicketDtoAssignment inputRequestNo positive/existence validation for assignee; optional text trimmedmicroservices/src/helpdesk-service/Api/HelpdeskEndpoints.cs
CreateCommentDtoComment inputRequestBody required; author fallbacks; internal flag acceptedmicroservices/src/helpdesk-service/Api/HelpdeskEndpoints.cs
ChangeStatusDtoGeneric lifecycle inputRequestStatus must parse to defined enum; note optionalmicroservices/src/helpdesk-service/Api/HelpdeskEndpoints.cs
ResolveTicketDtoResolution inputRequestResolution text optionalmicroservices/src/helpdesk-service/Api/HelpdeskEndpoints.cs
CloseTicketDtoClosure inputRequestNote optionalmicroservices/src/helpdesk-service/Api/HelpdeskEndpoints.cs
ReopenTicketDtoReopen inputRequestReason optionalmicroservices/src/helpdesk-service/Api/HelpdeskEndpoints.cs
SlaBreachDtoManual breach inputRequestDue time optional; matching active policy requiredmicroservices/src/helpdesk-service/Api/HelpdeskEndpoints.cs
SlaCheckDtoSLA scan inputRequestEntire body and as-of time optionalmicroservices/src/helpdesk-service/Api/HelpdeskEndpoints.cs
SlaCheckResultDtoSLA scan countsResponseServer constructedmicroservices/src/helpdesk-service/Api/HelpdeskEndpoints.cs
EscalateTicketDtoEscalation inputRequestReason required; nonpositive level defaults to onemicroservices/src/helpdesk-service/Api/HelpdeskEndpoints.cs
CreateCategoryDtoCategory creation inputRequestName required; description optional; active defaults truemicroservices/src/helpdesk-service/Api/HelpdeskEndpoints.cs
CreatePriorityDtoPriority creation inputRequestName required; unknown level defaults Medium; rank minimum defaultsmicroservices/src/helpdesk-service/Api/HelpdeskEndpoints.cs
CreateSlaPolicyDtoSLA policy creation inputRequestName required; target defaults Resolution; bounded positive durationmicroservices/src/helpdesk-service/Api/HelpdeskEndpoints.cs
DashboardReportDtoDashboard summaryResponseServer-calculated counts/durationmicroservices/src/helpdesk-service/Api/HelpdeskEndpoints.cs
SlaReportDtoPer-SLA report rowResponseServer projectionmicroservices/src/helpdesk-service/Api/HelpdeskEndpoints.cs
AgentLoadReportDtoPer-assignee workload rowResponseServer groupingmicroservices/src/helpdesk-service/Api/HelpdeskEndpoints.cs
CategorySummaryReportDtoPer-category summary rowResponseServer groupingmicroservices/src/helpdesk-service/Api/HelpdeskEndpoints.cs
HrModuleRecordDtoLegacy-shaped record mutation inputRequestCreate requires title; update uses title value object; permissive defaultsmicroservices/src/helpdesk-service/Api/HelpdeskEndpoints.cs
HrStatusDtoLegacy-shaped status inputRequestStatus must parse to defined enummicroservices/src/helpdesk-service/Api/HelpdeskEndpoints.cs
CompatRecordDtoLegacy-shaped ticket projectionResponseServer mapping with numeric compatibility identitymicroservices/src/helpdesk-service/Api/HelpdeskEndpoints.cs
TicketDtoCanonical ticket summaryResponseServer mappingmicroservices/src/helpdesk-service/Api/HelpdeskEndpoints.cs
TicketDetailDtoTicket with assignments/comments/attachmentsResponseServer mapping from included entity graphmicroservices/src/helpdesk-service/Api/HelpdeskEndpoints.cs
CategoryDtoCategory projectionResponseServer mappingmicroservices/src/helpdesk-service/Api/HelpdeskEndpoints.cs
PriorityDtoPriority projectionResponseServer mappingmicroservices/src/helpdesk-service/Api/HelpdeskEndpoints.cs
SlaPolicyDtoSLA policy projectionResponseServer mappingmicroservices/src/helpdesk-service/Api/HelpdeskEndpoints.cs
AssignmentDtoAssignment-history projectionResponseServer mappingmicroservices/src/helpdesk-service/Api/HelpdeskEndpoints.cs
CommentDtoComment projectionResponseServer mappingmicroservices/src/helpdesk-service/Api/HelpdeskEndpoints.cs
AttachmentDtoAttachment metadata projectionResponseServer mappingmicroservices/src/helpdesk-service/Api/HelpdeskEndpoints.cs

Non-DTO response shapes

Health data, manual SLA breach and escalation use anonymous response objects. Error messages also use anonymous objects. Attachment download returns a file result; deletion returns no content. The root service-information endpoint uses shared contract types outside the Helpdesk endpoint file.

Contract limitation

The employee form sends category and priority names while CreateTicketDto requires identifiers. Gateway forwarding does not transform this body.

Requires confirmation

DTO evolution policy, nullability expectations for external consumers, generated OpenAPI schemas, compatibility retirement and gateway contract translation require confirmation.

Source References

  • microservices/src/helpdesk-service/Api/HelpdeskEndpoints.cs
  • microservices/src/shared-kernel/Extensions/EndpointRouteBuilderExtensions.cs

See Also

Keywords

Helpdesk DTO, request model, response model, compatibility record.

Revision Information

  • Status: Draft
  • Last reviewed: 2026-07-20
  • Next review: 2026-10-20