Skip to main content

Helpdesk Endpoint Catalog

Audience

Developers, QA, security, support, architects and implementation partners.

Summary

This is the sole authoritative endpoint inventory. It contains 39 verified operations: 30 canonical, five compatibility, two shared operational and two Helpdesk-specific employee gateway operations. Reverse-proxy route patterns and the broader employee composite dashboard are described as boundaries, not counted as additional Helpdesk operations.

Reference Content

“No explicit requirement” means the reviewed startup and route registration do not require an authenticated principal. Tenant query filtering is documented independently from authentication and authorization.

Canonical operations

MethodRoutePurposeAuthenticationAuthorizationTenant enforcementValidationVerified responseClassificationSource path
GET/helpdesk/health-dataReturn tenant-visible foundation countsNo explicit requirementNoneEF query filters; missing context scopes to tenant 0No request model200 anonymous health-data objectNative/Diagnosticmicroservices/src/helpdesk-service/Api/HelpdeskEndpoints.cs
GET/helpdesk/ticketsList tenant-visible ticketsNo explicit requirementNoneTicket global filter; missing context scopes to tenant 0No server filter/paging input200 TicketDto listNativemicroservices/src/helpdesk-service/Api/HelpdeskEndpoints.cs
GET/helpdesk/tickets/{id:guid}Return ticket detail and childrenNo explicit requirementNoneTicket/children global filtersGUID route constraint200 TicketDetailDto; 404 message objectNativemicroservices/src/helpdesk-service/Api/HelpdeskEndpoints.cs
POST/helpdesk/ticketsCreate ticket and lifecycle eventNo explicit requirementNonePositive tenant required; referenced rows tenant-filteredCategory/priority existence; title value object201 TicketDto; 400 validation/tenant; 404 referenceNativemicroservices/src/helpdesk-service/Api/HelpdeskEndpoints.cs
POST/helpdesk/tickets/{id:guid}/assignSet current assignee and append historyNo explicit requirementNoneTicket global filterGUID route; no positive-assignee validation200 TicketDto; 404 message objectNativemicroservices/src/helpdesk-service/Api/HelpdeskEndpoints.cs
POST/helpdesk/tickets/{id:guid}/commentsAppend ticket commentNo explicit requirementNoneTicket global filterGUID route; required body201 CommentDto; 400 validation; 404 messageNativemicroservices/src/helpdesk-service/Api/HelpdeskEndpoints.cs
POST/helpdesk/tickets/{id:guid}/statusSet any parseable ticket statusNo explicit requirementNoneTicket global filterGUID route; status enum parsing200 TicketDto; 400 unsupported status; 404Native/Transitionalmicroservices/src/helpdesk-service/Api/HelpdeskEndpoints.cs
POST/helpdesk/tickets/{id:guid}/resolveSet Resolved and complete open SLA rowsNo explicit requirementNoneTicket/SLA global filtersGUID route; optional resolution text200 TicketDto; 404 message objectNativemicroservices/src/helpdesk-service/Api/HelpdeskEndpoints.cs
POST/helpdesk/tickets/{id:guid}/closeSet Closed and complete open SLA rowsNo explicit requirementNoneTicket/SLA global filtersGUID route; optional note200 TicketDto; 404 message objectNativemicroservices/src/helpdesk-service/Api/HelpdeskEndpoints.cs
POST/helpdesk/tickets/{id:guid}/reopenSet Reopened and clear closure timeNo explicit requirementNoneTicket global filterGUID route; optional reason200 TicketDto; 404 message objectNativemicroservices/src/helpdesk-service/Api/HelpdeskEndpoints.cs
POST/helpdesk/tickets/{id:guid}/attachmentsUpload attachment and create metadata/eventNo explicit requirementNoneTicket global filter; context forwarded downstreamMultipart, nonempty file, maximum 25,000,000 bytes201 AttachmentDto; 400; 404; 503 problemNative/Integrationmicroservices/src/helpdesk-service/Api/HelpdeskEndpoints.cs
GET/helpdesk/tickets/{id:guid}/attachmentsList ticket attachmentsNo explicit requirementNoneTicket/attachment global filtersGUID route200 AttachmentDto list; 404 messageNativemicroservices/src/helpdesk-service/Api/HelpdeskEndpoints.cs
GET/helpdesk/tickets/{id:guid}/attachments/{attachmentId:guid}/downloadDownload stored attachment bytesNo explicit requirementNoneAttachment global filter; context forwarded downstreamTwo GUID route constraints200 file; 404 message; 503 problemNative/Integrationmicroservices/src/helpdesk-service/Api/HelpdeskEndpoints.cs
DELETE/helpdesk/tickets/{id:guid}/attachments/{attachmentId:guid}Delete local attachment referenceNo explicit requirementNoneAttachment global filterTwo GUID route constraints204; 404 message objectNative/Partialmicroservices/src/helpdesk-service/Api/HelpdeskEndpoints.cs
POST/helpdesk/tickets/{id:guid}/sla-breachCreate breached SLA record and eventNo explicit requirementNoneTicket/policy global filtersGUID route; active matching policy required200 anonymous SLA object; 400; 404Native/Diagnosticmicroservices/src/helpdesk-service/Api/HelpdeskEndpoints.cs
POST/helpdesk/tickets/{id:guid}/escalateCreate sent escalation and eventNo explicit requirementNoneTicket global filterGUID route; required reason; level defaults to 1200 anonymous escalation object; 400; 404Nativemicroservices/src/helpdesk-service/Api/HelpdeskEndpoints.cs
POST/helpdesk/sla/checkMark due assigned active SLA rows breached/escalatedNo explicit requirementNoneSLA/ticket/escalation global filtersOptional as-of timestamp200 SlaCheckResultDtoNative/Operationalmicroservices/src/helpdesk-service/Api/HelpdeskEndpoints.cs
GET/helpdesk/categoriesList tenant-visible categoriesNo explicit requirementNoneCategory global filter; missing context scopes to tenant 0No request model200 CategoryDto listNativemicroservices/src/helpdesk-service/Api/HelpdeskEndpoints.cs
POST/helpdesk/categoriesCreate categoryNo explicit requirementNonePositive tenant requiredRequired name; persistence constraints201 CategoryDto; 400 validation/tenantNativemicroservices/src/helpdesk-service/Api/HelpdeskEndpoints.cs
GET/helpdesk/prioritiesList tenant-visible prioritiesNo explicit requirementNonePriority global filter; missing context scopes to tenant 0No request model200 PriorityDto listNativemicroservices/src/helpdesk-service/Api/HelpdeskEndpoints.cs
POST/helpdesk/prioritiesCreate priorityNo explicit requirementNonePositive tenant requiredRequired name; level defaults; rank minimum defaults201 PriorityDto; 400 validation/tenantNativemicroservices/src/helpdesk-service/Api/HelpdeskEndpoints.cs
GET/helpdesk/sla-policiesList tenant-visible SLA policiesNo explicit requirementNonePolicy global filter; missing context scopes to tenant 0No request model200 SlaPolicyDto listNativemicroservices/src/helpdesk-service/Api/HelpdeskEndpoints.cs
POST/helpdesk/sla-policiesCreate SLA policyNo explicit requirementNonePositive tenant requiredRequired name; target default; duration value object201 SlaPolicyDto; 400 validation/tenantNativemicroservices/src/helpdesk-service/Api/HelpdeskEndpoints.cs
GET/helpdesk/auditRead recent tenant audit rowsNo explicit requirementNoneAudit global filterOptional take clamped 1–1000200 audit entity listNative/Diagnosticmicroservices/src/helpdesk-service/Api/HelpdeskEndpoints.cs
GET/helpdesk/timelineRead recent tenant timeline rowsNo explicit requirementNoneTimeline global filterOptional take clamped 1–1000200 timeline entity listNative/Diagnosticmicroservices/src/helpdesk-service/Api/HelpdeskEndpoints.cs
GET/helpdesk/outboxRead recent outbox rowsNo explicit requirementNoneNo tenant query filter on outboxOptional take clamped 1–1000200 outbox entity listNative/Diagnostic/Riskmicroservices/src/helpdesk-service/Api/HelpdeskEndpoints.cs
GET/helpdesk/reports/dashboardReturn ticket/SLA summaryNo explicit requirementNoneUnderlying entity global filtersNo request model200 DashboardReportDtoNative/Reportmicroservices/src/helpdesk-service/Api/HelpdeskEndpoints.cs
GET/helpdesk/reports/slaReturn per-SLA report rowsNo explicit requirementNoneUnderlying entity global filtersNo request model200 SlaReportDto listNative/Reportmicroservices/src/helpdesk-service/Api/HelpdeskEndpoints.cs
GET/helpdesk/reports/agent-loadReturn ticket counts by assigneeNo explicit requirementNoneTicket global filterNo request model200 AgentLoadReportDto listNative/Reportmicroservices/src/helpdesk-service/Api/HelpdeskEndpoints.cs
GET/helpdesk/reports/category-summaryReturn ticket counts by categoryNo explicit requirementNoneTicket/category global filtersNo request model200 CategorySummaryReportDto listNative/Reportmicroservices/src/helpdesk-service/Api/HelpdeskEndpoints.cs

Compatibility operations

MethodRoutePurposeAuthenticationAuthorizationTenant enforcementValidationVerified responseClassificationSource path
GET/api/hr-suite/helpdesk/recordsList filtered legacy-shaped recordsNo explicit requirementNoneCanonical entity filtersOptional status/date/search; invalid status gives 400200 CompatRecordDto list capped at 500; 400Compatibility/Transitionalmicroservices/src/helpdesk-service/Api/HelpdeskEndpoints.cs
GET/api/hr-suite/helpdesk/records/{id:int}Return legacy-shaped recordNo explicit requirementNoneCanonical entity filtersInteger route constraint200 CompatRecordDto; bare 404Compatibility/Transitionalmicroservices/src/helpdesk-service/Api/HelpdeskEndpoints.cs
POST/api/hr-suite/helpdesk/recordsCreate canonical ticket from legacy shapeNo explicit requirementNonePositive tenant requiredTitle required; permissive status/priority defaults200 CompatRecordDto; 400Compatibility/Transitionalmicroservices/src/helpdesk-service/Api/HelpdeskEndpoints.cs
PUT/api/hr-suite/helpdesk/records/{id:int}Replace mapped compatibility fieldsNo explicit requirementNoneCanonical entity filtersInteger route; title value object; permissive defaults200 CompatRecordDto; 400; bare 404Compatibility/Transitionalmicroservices/src/helpdesk-service/Api/HelpdeskEndpoints.cs
PATCH/api/hr-suite/helpdesk/records/{id:int}/statusChange status through legacy shapeNo explicit requirementNoneCanonical entity filtersInteger route; strict status enum parsing200 CompatRecordDto; 400; bare 404Compatibility/Transitionalmicroservices/src/helpdesk-service/Api/HelpdeskEndpoints.cs

Shared operations

MethodRoutePurposeAuthenticationAuthorizationTenant enforcementValidationVerified responseClassificationSource path
GET/Return shared service identity envelopeNo explicit requirementNoneNoneNo request model200 ApiResponse<ServiceInfoResponse>Shared/Foundationmicroservices/src/shared-kernel/Extensions/EndpointRouteBuilderExtensions.cs
GET/healthRun framework health checksNo explicit requirementNoneNoneNo request modelFramework health responseShared/Foundationmicroservices/src/helpdesk-service/Program.cs

Gateway operations

MethodRoutePurposeAuthenticationAuthorizationTenant enforcementValidationVerified responseClassificationSource path
GET/ess/helpdeskForward employee ticket listingNo explicit requirement in reviewed gatewayNoneContext forwarded; no requester predicate addedNo Helpdesk-specific query validationDownstream response or gateway aggregate failureGateway/Transitionalmicroservices/src/gateway-api/EssEndpoints.cs
POST/ess/helpdeskForward employee ticket creation bodyNo explicit requirement in reviewed gatewayNoneContext forwarded downstreamBody required by gateway; body not transformedDownstream response or gateway aggregate failureGateway/Transitionalmicroservices/src/gateway-api/EssEndpoints.cs

Inventory exclusions

Generated Swagger UI/assets, reverse-proxy wildcard patterns, downstream Document/Notification APIs and the broader employee dashboard operation are outside the authoritative Helpdesk operation count.

Requires confirmation

Production authentication, authorization, gateway route ownership, whether diagnostic operations remain public, OpenAPI publication and compatibility retirement require confirmation.

Source References

  • microservices/src/helpdesk-service/Api/HelpdeskEndpoints.cs
  • microservices/src/helpdesk-service/Program.cs
  • microservices/src/shared-kernel/Extensions/EndpointRouteBuilderExtensions.cs
  • microservices/src/gateway-api/EssEndpoints.cs

See Also

Keywords

Helpdesk endpoint catalog, canonical API, compatibility API, employee gateway.

Revision Information

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