POST/tickets
Create a new security ticket.
Request body
{
"title": "Authentication bypass via debug flag",
"description": "The debug=true query parameter bypasses MFA in staging-like environments.",
"severity": "critical",
"priority": "p1",
"category": "authentication",
"source": "bug_bounty_platform",
"affected_product": "customer-portal",
"affected_versions": ["4.9.1", "4.9.2"],
"reporter": {
"name": "Northwind Security Research",
"email": "alerts@northwind.example",
"external_reference": "bb-11402"
},
"metadata": {
"environment": "production",
"scanner_confidence": "high"
}
}
201 Created
{
"id": "tkt_01J93YT9A6V2T4X5J2S9GQ6KWR",
"title": "Authentication bypass via debug flag",
"status": "open",
"severity": "critical",
"priority": "p1",
"created_at": "2026-04-22T09:12:44Z",
"updated_at": "2026-04-22T09:12:44Z",
"links": {
"self": "/v1/tickets/tkt_01J93YT9A6V2T4X5J2S9GQ6KWR",
"comments": "/v1/tickets/tkt_01J93YT9A6V2T4X5J2S9GQ6KWR/comments",
"attachments": "/v1/tickets/tkt_01J93YT9A6V2T4X5J2S9GQ6KWR/attachments"
}
}
GET/tickets
List tickets with filtering, sorting, and cursor pagination.
Query parameters
| Name | Type | Description |
status | string | Filter by open, triaged, in_progress, resolved, or closed |
severity | string | Filter by low, medium, high, critical |
source | string | Filter by reporting system |
updated_after | datetime | ISO 8601 timestamp |
limit | integer | 1–100, default 25 |
after | string | Cursor for next page |
sort | string | created_at, -created_at, severity, -updated_at |
Example
GET /tickets?status=open&severity=high&limit=2&sort=-updated_at
PATCH/tickets/{ticket_id}
Partially update mutable fields on an existing ticket.
{
"status": "in_progress",
"assigned_team": "application-security",
"priority": "p2"
}
Comments API
/tickets/{ticket_id}/commentsList comments for a ticket.
/tickets/{ticket_id}/commentsAdd an internal or external comment.
/tickets/{ticket_id}/comments/{comment_id}Delete a comment by ID.