Issues
Federated bug-report and support-ticket workflow that traverses application boundaries.
The Issues service is a polymorphic ticket store for cross-app bug reports and support tickets. Issues are scoped to the calling organisation but stamped with the app that reported them, so a tenant's support team can triage problems regardless of which Caldera app surfaced the user complaint.
When to use
- A guest reports a Lettings booking issue from inside Concierge — file under
app: 'concierge'withmetadata.bookingId. - A partner support agent escalates from xAdmin → file under
app: 'xadmin'withtags: ['escalation']. - An automated workflow detects a payment reconciliation drift → file under
app: 'lettings'withpriority: 'URGENT'.
For Caldera Threads conversations needing escalation to a ticket, the platform's workflow engine emits a THREAD_ESCALATED event with the issue id once the issue is created via this API.
Endpoints
GET /api/v1/issues — List issues for the calling org
POST /api/v1/issues — Create a new issue
List
GET /api/v1/issues?app=lettings&status=OPEN
| Query param | Description |
|---|---|
app (optional) | Filter to a specific source app. |
status (optional) | OPEN / IN_PROGRESS / RESOLVED / CLOSED. |
Create
{
"app": "lettings",
"reporterId": "user_123",
"title": "Booking confirmation email shows wrong nights",
"description": "Booked 3 nights, email says 2.",
"priority": "HIGH",
"tags": ["email", "template"],
"metadata": { "bookingId": "bk_abc" }
}
| Field | Required | Description |
|---|---|---|
app | yes | Source app raising the issue. |
reporterId | yes | Reporting user. |
title | yes | |
description | yes | |
priority | no | LOW / MEDIUM / HIGH / URGENT. Defaults to MEDIUM. |
tags | no | Free-form labels. |
metadata | no | Free-form structured context. |
SDK usage
See the SDK reference for typed examples in TypeScript, Python, and Go.
Scopes required
| Endpoint | Scope |
|---|---|
GET /api/v1/issues | issues:read |
POST /api/v1/issues | issues:write |