Skip to main content
The Reports API provides a single endpoint that aggregates all project data into one response. Use it to build dashboards, export summaries, or identify blocked work. Auth required: Yes

Get project report

GET /projects/:projectId/report Returns a complete snapshot of the project: all tasks, traceability records, and a pre-computed list of stalled tasks.

Path parameters

projectId
string
required
The project ID.

Response

tasks
Task[]
required
All tasks in the project, in any status.
datasets
Dataset[]
required
All datasets logged for the project.
experiments
Experiment[]
required
All experiments logged for the project.
decisions
Decision[]
required
All decisions logged for the project.
stalledTasks
Task[]
required
Tasks that have been in the inProgress or onHold status for an extended period without any updates. These are surfaced separately to help project managers identify blocked or forgotten work. The objects in this array share the same shape as the items in the tasks array.
About stalledTasks: This field contains a filtered subset of the tasks array. A task is considered stalled when it has been in inProgress or onHold status for a significant time without an updatedAt change. Use this field to drive attention in dashboards and status reports.

Example request

curl --request GET \
  --url https://api.example.com/projects/64a1f2c3b4e5d6f7a8b9c0d1/report \
  --header 'Authorization: Bearer <token>'

Example response

{
  "tasks": [
    {
      "_id": "64a1f2c3b4e5d6f7a8b9c0e1",
      "name": "Collect raw transaction data",
      "description": "Pull 24 months of transaction history from the data warehouse.",
      "project": "64a1f2c3b4e5d6f7a8b9c0d1",
      "phase": "data_understanding",
      "status": "completed",
      "completed": true,
      "assignedTo": {
        "_id": "64a1f2c3b4e5d6f7a8b9c0d2",
        "name": "Ana Torres",
        "email": "[email protected]"
      },
      "priority": "high",
      "deadline": "2026-04-15T00:00:00.000Z",
      "estimatedHours": 8,
      "startedAt": "2026-03-26T08:00:00.000Z",
      "finishedAt": "2026-03-26T16:00:00.000Z",
      "notes": [],
      "createdAt": "2026-03-25T10:00:00.000Z",
      "updatedAt": "2026-03-26T16:00:00.000Z"
    },
    {
      "_id": "64a1f2c3b4e5d6f7a8b9c0e2",
      "name": "Feature engineering",
      "description": "Create derived features from transaction data.",
      "project": "64a1f2c3b4e5d6f7a8b9c0d1",
      "phase": "data_preparation",
      "status": "inProgress",
      "completed": false,
      "assignedTo": null,
      "priority": "medium",
      "deadline": null,
      "estimatedHours": 16,
      "startedAt": "2026-02-10T09:00:00.000Z",
      "finishedAt": null,
      "notes": [],
      "createdAt": "2026-02-09T10:00:00.000Z",
      "updatedAt": "2026-02-10T09:00:00.000Z"
    }
  ],
  "datasets": [
    {
      "_id": "64b2a3c4d5e6f7a8b9c0d1e2",
      "name": "Customer Transactions Q1-Q8",
      "source": "data-warehouse.prod/transactions",
      "description": "Raw transaction records for the past 24 months.",
      "records": 4200000,
      "acquisitionDate": "2026-03-01T00:00:00.000Z",
      "phase": "data_understanding",
      "createdBy": {
        "_id": "64a1f2c3b4e5d6f7a8b9c0d0",
        "name": "Maria Garcia",
        "email": "[email protected]"
      },
      "createdAt": "2026-03-25T11:00:00.000Z"
    }
  ],
  "experiments": [
    {
      "_id": "64c3b4d5e6f7a8b9c0d1e2f3",
      "name": "Baseline Random Forest",
      "algorithmModel": "Random Forest",
      "parameters": "{\"n_estimators\": 100, \"max_depth\": 10}",
      "metric": "AUC-ROC",
      "result": "0.82",
      "conclusion": "Good baseline. Overfitting detected at depth > 10.",
      "phase": "modeling",
      "createdBy": {
        "_id": "64a1f2c3b4e5d6f7a8b9c0d2",
        "name": "Ana Torres",
        "email": "[email protected]"
      },
      "createdAt": "2026-03-25T14:00:00.000Z"
    }
  ],
  "decisions": [
    {
      "_id": "64d4c5d6e7f8a9b0c1d2e3f4",
      "description": "Use AUC-ROC as the primary evaluation metric.",
      "justification": "Class imbalance makes accuracy unreliable for this dataset.",
      "alternatives": "Precision-recall curve, F1 score.",
      "phase": "modeling",
      "createdBy": {
        "_id": "64a1f2c3b4e5d6f7a8b9c0d0",
        "name": "Maria Garcia",
        "email": "[email protected]"
      },
      "createdAt": "2026-03-25T15:30:00.000Z"
    }
  ],
  "stalledTasks": [
    {
      "_id": "64a1f2c3b4e5d6f7a8b9c0e2",
      "name": "Feature engineering",
      "status": "inProgress",
      "phase": "data_preparation",
      "assignedTo": null,
      "updatedAt": "2026-02-10T09:00:00.000Z"
    }
  ]
}

Errors

StatusDescription
401Missing or invalid token.
403You are not a member of this project.
404Project not found.

Build docs developers (and LLMs) love