Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.scrubbe.com/llms.txt

Use this file to discover all available pages before exploring further.

A problem is a persistent or recurring issue whose underlying root cause has not yet been eliminated. Where incidents represent individual service disruptions, problem records aggregate related incidents and drive longer-term remediation work. Linking incidents to a problem gives your team a single place to track the known error, document a workaround, and monitor progress toward a permanent fix.
All endpoints require Authorization: Bearer <token>.
Base path: https://your-api-domain.com/api/v1/problems

Create a problem

POST /
title
string
required
Short title for the problem (e.g. "Intermittent database connection timeouts under load").
description
string
required
Full description of the known issue and its observable symptoms.
rootCause
string
Known or suspected root cause. Can be updated as investigation progresses.
workaround
string
Temporary mitigation to reduce impact while the root cause is being addressed.
serviceArea
string
The affected service or team area.
priority
string
Priority: LOW, MEDIUM, HIGH, or CRITICAL.
IDs of incidents caused by or related to this problem.
assignedToEmail
string
Email of the engineer responsible for resolving the problem.
curl -X POST https://your-api-domain.com/api/v1/problems \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{
    "title": "Intermittent database connection timeouts under load",
    "description": "Connection pool exhaustion occurs during traffic spikes above 3000 rps, causing timeouts for 5-10% of requests.",
    "rootCause": "Connection pool max size set too low for current traffic levels",
    "workaround": "Manually restart connection pool service during spikes",
    "serviceArea": "database",
    "priority": "HIGH",
    "relatedIncidentIds": ["INC-20260501-0012", "INC-20260515-0028"],
    "assignedToEmail": "dba@example.com"
  }'
Response
{
  "success": true,
  "message": "Problem created",
  "data": {
    "id": "PRB-20260522-0003",
    "title": "Intermittent database connection timeouts under load",
    "priority": "HIGH",
    "status": "OPEN",
    "relatedIncidentIds": ["INC-20260501-0012", "INC-20260515-0028"],
    "createdAt": "2026-05-22T11:00:00Z"
  }
}

List problems

Returns a paginated list of problem records ordered by creation date descending. GET /
page
number
default:"1"
Page number.
limit
number
default:"20"
Items per page (max 100).
status
string
Filter by status: OPEN, IN_PROGRESS, KNOWN_ERROR, or RESOLVED.
priority
string
Filter by priority: LOW, MEDIUM, HIGH, or CRITICAL.
GET /api/v1/problems?status=OPEN&priority=HIGH
Authorization: Bearer <token>

Get a problem

GET /:id
id
string
required
The problem ID.

Update a problem

Accepts the same fields as POST /. Only provided fields are updated. Use this endpoint to progress status, document the root cause once confirmed, or link additional related incidents. PUT /:id
id
string
required
The problem ID.
cURL
curl -X PUT https://your-api-domain.com/api/v1/problems/PRB-20260522-0003 \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{
    "status": "KNOWN_ERROR",
    "rootCause": "Connection pool max_connections capped at 100; needs 250 for current load"
  }'

Delete a problem

DELETE /:id
id
string
required
The problem ID to delete.
Problems with status RESOLVED are retained for historical analysis. Deletion is irreversible — use RESOLVED status to close out a problem without losing the record or its linked incidents.