Data Model and IDs
Map public API names such as tasks, time entries, and journal entries to TeamGrid data concepts and ids.
TeamGrid has a long-running domain model. Some API names are intentionally friendlier than internal collection names, and some legacy response fields may reflect older internal naming.
This guide explains the mappings you are most likely to encounter.
IDs
TeamGrid resources use string ids.
Common id fields:
_id: id of the current resourceteamId: team id assigned from the API tokenuserId: user idcontactId: contact idprojectId: project idtaskId: public API task idcardId: internal task/card id that can appear in some legacy responsesserviceId: service idlistId: list idtagIds: array of tag ids
Tasks and Cards
The public API uses the word task.
Internally, tasks are stored in the same collection as other card-like objects.
For API integrations, use the public task endpoints and public taskId fields
where available.
Some time and scheduling responses may expose cardId. In those cases, cardId
refers to the same underlying object as a task id.
Relevant reference pages:
Time Entries
Time entries belong to:
- a team
- a task
- a user
- optionally a service
Important fields:
start: start timestampend: end timestamp, absent while tracking is activeduration: duration in minutesuserId: user who tracked the timetaskIdorcardId: task referencebillable: whether the time is billablebilledorlocked: billing/locking state, depending on endpoint behavior
Journal Entries
The public API calls these records journalEntries.
In the TeamGrid app and codebase, they are project journal entries or project statements. A journal entry belongs to a project and can represent a manual entry, product entry, budget entry, or bundle entry.
Important fields:
typeprojectIdproductIdtitleamountor legacypricecountdateisChargepurchasePriceproductNumberdescription
Relevant reference pages:
Read-Only and Calculated Fields
Some responses include calculated or denormalized fields. Examples include:
_details_aggregated_projectSharing
These fields are useful for reading enriched data, but they are not stable write inputs. Use the documented top-level request fields when creating or updating records.
