Guides

A real workflow end to end

Chain real endpoints together: find a project, add a task, log a time entry, and read the task 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. Entries are billable by default; send "isBillable": false to change that.

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 financial summary. It returns totals for revenue, expenses, and hours on the task, reflecting the time entry you just logged.

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.