Skip to main content

Tickets API

Create and manage remediation tickets linked to findings, controls, and risks.

List Tickets​

GET /api/v1/tickets

Returns tickets for the authenticated organization.

Query Parameters​

ParameterTypeDefaultDescription
limitinteger50Maximum results (1-200)
offsetinteger0Pagination offset
statusstring-Filter: open, in_progress, resolved, closed
prioritystring-Filter: critical, high, medium, low

Example Request​

curl "https://api.clawgrc.com/api/v1/tickets?status=open&priority=critical" \
-H "Authorization: Bearer YOUR_TOKEN"

Example Response​

{
"tickets": [
{
"id": "ticket-uuid",
"org_id": "org-uuid",
"title": "Patch SQL injection in user search",
"description": "Use parameterized queries for /api/users/search",
"priority": "critical",
"status": "open",
"finding_id": "finding-uuid",
"created_at": "2025-01-15T14:30:00Z",
"updated_at": "2025-01-15T14:30:00Z"
}
],
"total": 5,
"limit": 50,
"offset": 0
}

Create Ticket​

POST /api/v1/tickets

Create a new remediation ticket.

Request Body​

FieldTypeRequiredDescription
titlestringYesClear description of the work
descriptionstringNoDetailed context and remediation steps
prioritystringYescritical, high, medium, low
finding_idUUIDNoLink to an originating finding

Example Request​

curl -X POST https://api.clawgrc.com/api/v1/tickets \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"title": "Update TLS configuration",
"description": "Disable TLS 1.0 and 1.1 on all production endpoints.",
"priority": "high",
"finding_id": "finding-uuid"
}'

Example Response (201 Created)​

{
"id": "ticket-uuid",
"title": "Update TLS configuration",
"priority": "high",
"status": "open",
"created_at": "2025-01-15T14:30:00Z"
}

Get Ticket​

GET /api/v1/tickets/:id

Returns a single ticket with full details.


Update Ticket​

PUT /api/v1/tickets/:id

Update ticket status, priority, or other fields.

Request Body​

FieldTypeDescription
titlestringUpdated title
descriptionstringUpdated description
prioritystringUpdated priority
statusstringopen, in_progress, resolved, closed

Example Request​

curl -X PUT https://api.clawgrc.com/api/v1/tickets/ticket-uuid \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"status": "resolved"
}'