SureshakeDocs
ApiEndpoints

Report Endpoints

Manage financial reports, projections, and actuals.

Reports are the core financial artifacts in Sureshake, representing specific snapshots of entity performance.

List Reports

Retrieve a paginated list of reports.

GET/v2/reports
curl -H "Authorization: Bearer $TOKEN" https://api.sureshake.com/v2/reports
const response = await fetch('https://api.sureshake.com/v2/reports', {
headers: { 'Authorization': `Bearer ${token}` }
});
const { data, meta } = await response.json();
200 OK
{
"data": [
  {
    "id": "8f2349ef-22ab-46ae-a129-2eb4c2570001",
    "title": "Annual Audit 2023",
    "report_type": "annual_report",
    "status": "verified",
    "is_public": false,
    "owner_id": "user_123",
    "created_at": "2024-01-10T10:00:00Z",
    "updated_at": "2024-01-10T10:00:00Z"
  }
],
"meta": {
  "total": 1,
  "limit": 20,
  "offset": 0,
  "hasMore": false
}
}

Create Report

Create a new report for an entity.

POST/v2/reports
curl -X POST \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{"title": "Q1 2024 Projection", "report_type": "projection", "data": {}}' \
https://api.sureshake.com/v2/reports

Get Report

Retrieve a single report by its ID.

GET/v2/reports/:id
curl -H "Authorization: Bearer $TOKEN" https://api.sureshake.com/v2/reports/8f2349ef...

A successful report response includes view_delivery. When its status is ready, acknowledge the server-issued receipt only after meaningful report content has rendered. Do not invent source, share, collection, or version lineage; the server binds those fields to the receipt.

POST/v2/reports/:id/views
curl -X POST \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{"deliveryReceiptId":"8f2349ef-22ab-46ae-a129-2eb4c2570004"}' \
https://api.sureshake.com/v2/reports/8f2349ef-22ab-46ae-a129-2eb4c2570001/views

Retries use the same receipt and return outcome: "replayed". The report document endpoint also returns its own view_delivery receipt. A browser must acknowledge that document-specific receipt only after the document frame loads; a failed document fetch or frame load must not be recorded. Owner, blocked, non-external, revoked, and private-attribution rules are resolved by the server; private browsing may produce an anonymous aggregate view. If receipt issuance or acknowledgment is unavailable, content and tracking state remain explicitly separate—clients must not claim the view was recorded.

Update Report

Update report metadata or status.

PATCH/v2/reports/:id
curl -X PATCH \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{"status": "verified"}' \
https://api.sureshake.com/v2/reports/8f2349ef...

Delete Report

Permanently remove a report.

DELETE/v2/reports/:id
curl -X DELETE -H "Authorization: Bearer $TOKEN" https://api.sureshake.com/v2/reports/8f2349ef...

On this page