Guides

A real workflow end to end

Chain real endpoints together: add a task to a project, log time against it, and read its financials.

This guide chains five real endpoints: it finds a project, adds a task to it, picks a resource, logs time against that task, and reads the task's financial summary. Each step uses an id returned by the previous response, so the calls fit together end to end.

1. Find a project

List projects and keep two values from a record: its id and its versionId. You need both to create a task, and both are present on every project record.

cURL
curl 'https://api.monument.so/api/v1/projects?limit=1' \
  -H 'X-API-Key: monument_your_api_key'
Response (trimmed)
{
  "data": [
    {
      "id": "PROJECT_ID",
      "name": "Riverside Pavilion",
      "versionId": "PROJECT_VERSION_ID"
    }
  ],
  "pagination": { "total": 128, "limit": 1, "offset": 0 }
}

2. Add a task

Create a task under the project. parentTaskId is the project's id, and versionId is the project's version. The response returns the new task in a data envelope; keep its id as TASK_ID.

cURL
curl -X POST 'https://api.monument.so/api/v1/tasks' \
  -H 'X-API-Key: monument_your_api_key' \
  -H 'Content-Type: application/json' \
  -d '{
    "parentTaskId": "PROJECT_ID",
    "versionId": "PROJECT_VERSION_ID",
    "name": "Schematic Design"
  }'

3. Pick a resource

A time entry is logged against a staff resource. List resources and keep one id to use as RESOURCE_ID.

cURL
curl 'https://api.monument.so/api/v1/resources?limit=1' \
  -H 'X-API-Key: monument_your_api_key'

4. Log a time entry

Record hours against the task. date must be an YYYY-MM-DD string, and hours must be at least 0.25 for this manual entry. The task determines whether the entry is billable; sending isBillable on the entry does not override the task.

cURL
curl -X POST 'https://api.monument.so/api/v1/time-entries' \
  -H 'X-API-Key: monument_your_api_key' \
  -H 'Content-Type: application/json' \
  -d '{
    "taskId": "TASK_ID",
    "resourceId": "RESOURCE_ID",
    "date": "2026-07-10",
    "hours": 3.5
  }'

5. Read the task financials

Read the task's planned financial summary. It returns revenue, expenses and hours from the current financial plan. Logged time drives actual-hours progress and captures billing and cost snapshots. Planned profit updates when fees, costs, allocations or rates change.

cURL
curl 'https://api.monument.so/api/v1/tasks/TASK_ID/financials' \
  -H 'X-API-Key: monument_your_api_key'
Every write returns the created record in a data envelope, so you can script this whole sequence by reading each id out of the previous response instead of hard-coding values.