curl 'https://api.cyclemate.club/reports/6dd58bda-4c2e-4e6d-9b8b-2a41cf6f0e5a/' \
-H 'apikey: YOUR_API_KEY'
{
"id": "6dd58bda-4c2e-4e6d-9b8b-2a41cf6f0e5a",
"status": "accepted",
"summary": "We verified the reported closure on Kingsland Road and have proposed a temporary routing avoidance pending review.",
"issue_type": "road_closed",
"created_at": "2026-08-05T10:12:31.201Z",
"updated_at": "2026-08-05T10:24:02.847Z"
}
Contributions
Get report status
Poll a submitted report for its processing status and outcome summary
curl 'https://api.cyclemate.club/reports/6dd58bda-4c2e-4e6d-9b8b-2a41cf6f0e5a/' \
-H 'apikey: YOUR_API_KEY'
{
"id": "6dd58bda-4c2e-4e6d-9b8b-2a41cf6f0e5a",
"status": "accepted",
"summary": "We verified the reported closure on Kingsland Road and have proposed a temporary routing avoidance pending review.",
"issue_type": "road_closed",
"created_at": "2026-08-05T10:12:31.201Z",
"updated_at": "2026-08-05T10:24:02.847Z"
}
Overview
Returns the current processing status of a report you submitted. Once analysis completes, typically within 15 minutes of submission, it also returns a one-line summary of the outcome. Callers can only read reports they submitted: a user session token sees its own reports, and a partner API key sees reports submitted through the API. Anything else returns404.
Authentication
This endpoint requires an API key. Include it in theapikey header:
apikey: YOUR_API_KEY
Polling
A sensible cadence is every 1–2 minutes after submission untilsummary is non-null. Statuses can continue to change after the summary lands (e.g. in_review → accepted once a human reviewer acts).
Path parameters
string
required
The report ID returned when the report was submitted, a UUID string from
POST /reports.Response body
string
The report ID, a UUID string.
string
The processing lifecycle stage:
| Value | Meaning |
|---|---|
received | Ingested and queued for analysis. |
in_review | A reviewer is actively looking at the report. |
accepted | The report was verified and acted on. The fix feeds the routing algorithm. |
closed | The report was closed without a routing change. |
string | null
One-line summary of how the report was processed: what was found and what happens next.
null until analysis completes, typically within 15 minutes of submission.string
The category the report was submitted with.
string
ISO 8601 timestamp of receipt.
string
ISO 8601 timestamp of the latest status change; equals
created_at until the first one.curl 'https://api.cyclemate.club/reports/6dd58bda-4c2e-4e6d-9b8b-2a41cf6f0e5a/' \
-H 'apikey: YOUR_API_KEY'
{
"id": "6dd58bda-4c2e-4e6d-9b8b-2a41cf6f0e5a",
"status": "accepted",
"summary": "We verified the reported closure on Kingsland Road and have proposed a temporary routing avoidance pending review.",
"issue_type": "road_closed",
"created_at": "2026-08-05T10:12:31.201Z",
"updated_at": "2026-08-05T10:24:02.847Z"
}
Error responses
401 Unauthorized
Missing or invalid credentials.{
"error": "Invalid credentials"
}
404 Not found
Unknown report ID, or a report your key did not submit.{
"error": "Report not found"
}
405 Method not allowed
Method other thanGET on a report item.
{
"error": "Method not allowed"
}
429 Too many requests
Rate limit exceeded. Includes aRetry-After header and a retry_after_seconds body field.
{
"error": "Rate limit exceeded",
"retry_after_seconds": 45
}
500 Internal server error
Unexpected server failure.{
"error": "Internal server error"
}