Issues API
Create and manage support issues. Requires JWT authentication for user context.
List User Issues
GET
/api/support/{appSlug}/issuesJWT RequiredRetrieve issues for the authenticated user.
Path/Query Parameters
appSlugstringrequiredYour app slugstatusstringFilter by status: open, in_progress, resolved, closedtypestringFilter by type: bug, feature, billing, otherResponse
200List of user issues
{
"issues": [
{
"id": "uuid",
"title": "Cannot export data",
"type": "bug",
"status": "open",
"created_at": "2024-01-15T10:00:00Z",
"last_response_at": null
}
]
}Example Requestbash
curl -X GET "https://support.example.com/api/support/myapp/issues" \
-H "Authorization: Bearer <jwt-token>"Get Issue
GET
/api/support/{appSlug}/issues/{id}JWT RequiredRetrieve a single issue with its responses.
Path/Query Parameters
appSlugstringrequiredYour app slugidstringrequiredIssue IDResponse
200Issue details with responses
{
"id": "uuid",
"title": "Cannot export data",
"description": "When I click export, nothing happens...",
"type": "bug",
"status": "in_progress",
"created_at": "2024-01-15T10:00:00Z",
"responses": [
{
"id": "uuid",
"content": "Thanks for reporting. We're looking into this.",
"from_support": true,
"created_at": "2024-01-15T11:00:00Z"
}
]
}Create Issue
POST
/api/support/{appSlug}/issuesJWT RequiredSubmit a new support issue.
Request Body
titlestringrequiredIssue titledescriptionstringrequiredDetailed descriptiontypestringrequiredbug, feature, billing, or othermetadataobjectAdditional context (browser, page URL, etc.)attachmentsarrayFile attachments (base64 encoded)Response
201Created issue
{
"id": "uuid",
"title": "Cannot export data",
"status": "open",
"created_at": "2024-01-15T10:00:00Z"
}Create Issue Requestbash
curl -X POST "https://support.example.com/api/support/myapp/issues" \
-H "Authorization: Bearer <jwt-token>" \
-H "Content-Type: application/json" \
-d '{
"title": "Cannot export data",
"description": "When I click the export button, nothing happens.",
"type": "bug",
"metadata": {
"browser": "Chrome 120",
"url": "/dashboard/settings"
}
}'Respond to Issue
POST
/api/support/{appSlug}/issues/{id}/respondJWT RequiredAdd a response to an existing issue.
Request Body
contentstringrequiredResponse messageResponse
201Created response
{
"id": "uuid",
"content": "I can provide more details if needed.",
"from_support": false,
"created_at": "2024-01-15T12:00:00Z"
}