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 'https://api.monument.so/api/v1/projects?limit=1' \
-H 'X-API-Key: monument_your_api_key'{
"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 -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 '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 -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 'https://api.monument.so/api/v1/tasks/TASK_ID/financials' \
-H 'X-API-Key: monument_your_api_key'data envelope, so you can script this whole sequence by reading each id out of the previous response instead of hard-coding values.