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