Search incidents
Return a paginated list of incidents, optionally filtered by updated time. Fictional endpoint on a fictional API — the structure is what matters.
How to call it
https://api.example.com
Header X-API-Key: <your-key>. Rotate keys from your dashboard; there are no OAuth flows on this endpoint.
curl https://api.example.com/v1/incidents/search \
--request POST \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_SECRET_TOKEN' \
--data '{
"updated_from": "",
"updated_to": "",
"cursor": "",
"limit": 100
}'
import requests
resp = requests.post(
"https://api.example.com/v1/incidents/search",
headers={"X-API-Key": "YOUR_SECRET_TOKEN"},
json={"limit": 100},
)
resp.raise_for_status()
for inc in resp.json()["data"]:
print(inc["id"], inc["updated_at"])
const res = await fetch(
"https://api.example.com/v1/incidents/search",
{
method: "POST",
headers: {
"Content-Type": "application/json",
"X-API-Key": "YOUR_SECRET_TOKEN",
},
body: JSON.stringify({ limit: 100 }),
},
);
const { data } = await res.json();
What you send
updated_from string · date-time · nullable
Return incidents with updated_at at or after this time (ISO 8601). Timezone-naive values are treated as UTC.
updated_to string · date-time · nullable
Return incidents with updated_at before this time (ISO 8601). Timezone-naive values are treated as UTC.
cursor string · nullable
Opaque pagination cursor returned by the previous response. Omit to start from the beginning.
limit integer · default 100 · max 500
Maximum number of results to return.
What comes back
A page of incidents plus a next_cursor for pagination.
{
"data": [
{
"id": "inc_01HRZX...",
"severity": "high",
"status": "open",
"updated_at": "2026-04-17T22:14:03Z"
}
],
"next_cursor": "eyJvIjoxNzE..."
}
Per-key rate limit exceeded. The Retry-After header tells you when to resume.
{
"error": "rate_limited",
"message": "Retry after 30 seconds."
}
Any other failure. error is a stable machine-readable code; message is for humans.
{
"error": "invalid_request",
"message": "`limit` must be between 1 and 500."
}
No OpenAPI runtime, no Scalar/Stoplight/Redoc dependency — just kazam components composed like any other page. Swap the endpoint, keep the shape.
Other example pages — docs, KBs, decks, landing pages, meeting briefs, dashboards from live data.