Skip to main content

Issues API

Manage data quality issues and track resolution.

Endpoints Overview

MethodEndpointDescription
GET/issuesList issues
POST/issuesCreate issue
GET/issues/{id}Get issue details
PATCH/issues/{id}Update issue
DELETE/issues/{id}Delete issue

List Issues

GET /issues

Query Parameters

ParameterTypeDescription
space_iduuidFilter by space
product_iduuidFilter by product
statusstringopen, in_progress, resolved
prioritystringlow, medium, high, critical
assignee_iduuidFilter by assigned user
pageintegerPage number
sizeintegerItems per page

Response

{
"items": [
{
"id": "...",
"title": "Customer ID nulls increased",
"description": "Seeing 15% null rate in customer_id column",
"status": "open",
"priority": "high",
"product": {
"id": "...",
"name": "Customer Events"
},
"assignee": {
"id": "...",
"name": "Jane Developer"
},
"reporter": {
"id": "...",
"name": "Bob Smith"
},
"created_at": "2026-01-15T10:30:00Z",
"updated_at": "2026-01-15T12:00:00Z"
}
],
"total": 8,
"page": 1,
"size": 20
}

Create Issue

POST /issues

Request Body

{
"title": "Missing transactions for Jan 14",
"description": "## Summary\n\nNo transaction records loaded for 2026-01-14.\n\n## Impact\n\nDaily revenue reporting is blocked.",
"priority": "critical",
"product_id": "product-uuid",
"space_id": "space-uuid",
"assignee_id": "user-uuid"
}

Required Fields

FieldTypeDescription
titlestringIssue title
space_iduuidSpace containing the issue

Optional Fields

FieldTypeDescription
descriptionstringMarkdown description
prioritystringlow, medium, high, critical
product_iduuidRelated product
assignee_iduuidUser to assign

Update Issue

PATCH /issues/{id}

Status Transitions

{
"status": "in_progress"
}

Valid statuses: open, in_progress, resolved

Assign User

{
"assignee_id": "user-uuid"
}

Change Priority

{
"priority": "critical"
}

Issue Comments

List Comments

GET /issues/{id}/comments

Add Comment

POST /issues/{id}/comments
{
"content": "Identified the root cause - upstream pipeline failed."
}

Response

{
"id": "...",
"content": "Identified the root cause...",
"author": {
"id": "...",
"name": "Jane Developer",
"avatar_url": "..."
},
"created_at": "2026-01-15T14:00:00Z"
}

Issue History

Audit trail of changes:

GET /issues/{id}/history
{
"items": [
{
"id": "...",
"action": "status_changed",
"old_value": "open",
"new_value": "in_progress",
"actor": {"id": "...", "name": "Jane Developer"},
"timestamp": "2026-01-15T14:00:00Z"
}
]
}

Create issue from quality alert:

POST /issues
{
"title": "Freshness check failed",
"alert_id": "alert-uuid",
"product_id": "product-uuid",
"space_id": "space-uuid",
"priority": "high"
}

This links the issue to the alert for traceability.