SupportHubCX Platform Docs
v1.0.0 Public Support Open App

API Reference

The external API is mounted under /api/v1. Ticket endpoints remain the support operations foundation, while SupportHub also exposes broader CX platform resources through REST and GraphQL. Most endpoints require an active API client and the matching scope.

Authentication

curl -H "Authorization: Bearer shp_your_token" \
  http://localhost/supporthub/public/api/v1/tickets

Use either Authorization: Bearer or X-Api-Key. Missing tokens return 401. Inactive or invalid tokens return 401. Missing scopes return 403.

Idempotency

Mutating API requests can include Idempotency-Key. The app caches the response for the same client, endpoint, scope, and payload. Reusing a key for a different payload returns 409.

Ticket Endpoints

MethodPathScopePurpose
GET/tickets/lookupstickets.readDepartments, categories, priorities, statuses, agents, organizations, tags, issue groups, context providers, and bulk actions.
POST/tickets/suggestions/previewtickets.readPreview draft suggestions.
GET/ticketstickets.readPaginated ticket list with filters.
POST/ticketstickets.writeCreate an internal-style ticket.
POST/tickets/requester-intaketickets.writeCreate a requester/public-style ticket.
GET/tickets/{ticket}tickets.readRead ticket detail.
PUT/tickets/{ticket}tickets.writeUpdate ticket metadata and custom fields.
POST/tickets/bulk-updatetickets.bulkBulk assign, department, status, or priority changes.
POST/tickets/{ticket}/transitiontickets.transitionsChange ticket status.
POST/tickets/{ticket}/replytickets.replyAdd customer-facing reply.
POST/tickets/{ticket}/notetickets.writeAdd internal note.
POST/tickets/{ticket}/attachmentstickets.attachmentsUpload attachments.
GET/tickets/{ticket}/attachments/{attachment}tickets.attachmentsDownload an attachment.

CX Platform Endpoints

MethodPathScopePurpose
GET/customerscustomers.readRead Customer 360 profiles.
POST/customerscustomers.writeCreate a customer/requester profile.
POST/feedbackfeedback.writeCreate product feedback or roadmap input.
POST/communitycommunity.writeCreate community discussions.
POST/knowledgeknowledge.writeCreate knowledge records for review.
POST/status/componentsstatus.writeCreate or update public status components.
GET/analytics/advancedadvanced_analytics.readRead advanced analytics snapshots and forecasts.

GraphQL

/graphql accepts the same API key authentication and scope rules. For example, a token with customers.read and analytics.read can query customers and analytics summary data in one request.

Webhook Delivery Endpoints

MethodPathScopePurpose
GET/webhooks/deliverieswebhooks.readList delivery records.
POST/webhooks/deliveries/{webhookDelivery}/replaywebhooks.writeReplay an outbound delivery.
POST/webhooks/inbound/ticket-updateswebhooks.writeReceive an external ticket update and map it to reply or note.

Create Ticket Example

curl -X POST http://localhost/supporthub/public/api/v1/tickets \
  -H "Authorization: Bearer shp_your_token" \
  -H "Idempotency-Key: create-ticket-1001" \
  -H "Accept: application/json" \
  -F "subject=Cannot login" \
  -F "description=The requester sees an access denied message." \
  -F "department_id=1" \
  -F "category_id=4" \
  -F "priority_id=2" \
  -F "status_id=1"

Public Update and Update Delivery APIs

The update service exposes license activation, remote update check, and update download endpoints under /api/v1. These are product-update endpoints, not general ticket integration endpoints. Do not expose update tokens beyond trusted update infrastructure.