Docs/Support/API/Customer Portal

Customer Portal API

Embeddable, customer-facing REST API endpoints. Enables end users to submit support inquiries, track status, exchange public messages, and submit CSAT satisfaction ratings from your web or mobile frontend.

Customer Portal Auth: Endpoints under /v1/support/portal require a Customer Portal JWT passed in Authorization: Bearer <portal_token>. Internal agent notes are strictly isolated and never leaked to portal responses.

Customer-facing endpoint to open a new support inquiry from web or mobile app.


Submit Portal TicketAuth

Customer-facing endpoint to open a new support inquiry.

Payload Example

{
  "subject": "Unable to export monthly analytics report",
  "content": "When clicking export CSV, the progress spinner stops after 30 seconds.",
  "content_type": "text",
  "priority": "medium",
  "department_id": null
}

Status Codes

  • Name
    201
    Type
    HTTP
    Description
    Ticket submitted successfully
  • Name
    400
    Type
    HTTP
    Description
    Missing required subject or content
  • Name
    401
    Type
    HTTP
    Description
    Invalid or expired customer token

Request Parameters

  • Name
    subject
    Type
    string
    Required
    Description
    Summary of the issue or inquiry.
  • Name
    content
    Type
    string
    Required
    Description
    Detailed initial message description.
  • Name
    priority
    Type
    string
    Description
    Priority: low, medium (default), or high.
  • Name
    department_id
    Type
    UUID
    Description
    Optional department to direct ticket to.
Request
POST/v1/support/portal/tickets
Response 201

Returns ticket history strictly scoped to the authenticated customer.


List Customer's TicketsAuth

Fetch ticket history strictly scoped to the calling authenticated customer.

Status Codes

  • Name
    200
    Type
    HTTP
    Description
    Customer tickets returned
  • Name
    401
    Type
    HTTP
    Description
    Unauthorized
Request
GET/v1/support/portal/tickets
Response 200

Allows the customer to post a public follow-up reply.


Post Customer ReplyAuth

Send a customer message into an active ticket thread.

Payload Example

{
  "content": "I tried again in Incognito mode and the issue persists."
}

Status Codes

  • Name
    201
    Type
    HTTP
    Description
    Reply added to ticket
  • Name
    403
    Type
    HTTP
    Description
    Cannot reply to closed ticket
  • Name
    404
    Type
    HTTP
    Description
    Ticket not found

Request Parameters

  • Name
    content
    Type
    string
    Required
    Description
    Text content of the customer reply message.
Request
POST/v1/support/portal/tickets/{id}/reply
Response 201

Submits a 1-to-5 star Customer Satisfaction (CSAT) rating and optional feedback comment upon ticket resolution.


Submit CSAT RatingAuth

Record customer satisfaction score on resolved tickets.

Payload Example

{
  "score": 5,
  "comment": "Sarah resolved our SSO certificate blocker in under 15 minutes! Fantastic support."
}

Status Codes

  • Name
    201
    Type
    HTTP
    Description
    CSAT score recorded successfully
  • Name
    400
    Type
    HTTP
    Description
    Score must be an integer between 1 and 5
  • Name
    404
    Type
    HTTP
    Description
    Ticket not found

Request Parameters

  • Name
    score
    Type
    integer
    Required
    Example
    eg. 5
    Description
    Rating from 1 (very dissatisfied) to 5 (extremely satisfied).
  • Name
    comment
    Type
    string
    Description
    Optional qualitative customer feedback comment.
Request
POST/v1/support/portal/tickets/{id}/rate
Response 201

We use cookies and similar technologies to measure traffic and improve the site. You can choose which categories to allow. Manage Preferences.