One record. Every link visible.
Most records hang off a project and point at the records they touch by ID. Click one for its key fields and endpoints. Or trace a change from the daily log to the budget.
- 01The super notes missing fire dampers at the level 3 corridor in the daily log. The PM opens RFI 1.
- 02The answer has a cost: a change event is created from the RFI (change_event_origin_type RFI, change_event_origin_id 1).
- 03A potential change order prices it at $86,400 and goes into a change order package for the owner.
- 04The package changes the prime contract (contract_id).
- 05The change event lines post to the budget line for their cost code, as pending and then approved changes.
Drag to pan · wheel or pinch to zoom · click an object
- ID reference
- Workflow link
- 1–n cardinality
Records · 14
Project
The job. Almost every record below carries its project_id, and project-level endpoints take it in the path.
Fields
idintegerProject ID.namestringProject name.project_numberstringYour job number.total_valuestringContract value.start_datedateStart date.activebooleanFalse once the job is archived.
Endpoints
- GET/rest/v1.0/projects
- POST/rest/v1.0/projects
- GET/rest/v1.0/projects/{project_id}/permission_templates
Related objects
Daily log
What happened on site each day: weather, manpower, deliveries, delays, notes and more, one log type per endpoint.
Fields
datedateThe log day.commentsstringFree-text notes.locationobjectWhere on site.created_byobjectWho logged it.
Endpoints
- PATCH/rest/v1.0/projects/{project_id}/daily_logs/bulk_updates/bulk_update
- POST/rest/v1.0/projects/{project_id}/daily_logs/clones
- GET/rest/v1.0/projects/{project_id}/daily_logs/count
- GET/rest/v1.0/projects/{project_id}/daily_logs/delay_log_types
- POST/rest/v1.0/projects/{project_id}/daily_logs/delay_log_types
- PATCH/rest/v1.0/projects/{project_id}/daily_logs/delay_log_types/{id}
Related objects
RFI
A question to the design team, with its answers, ball in court and cost and schedule impact.
Fields
numberstringNext number on the project.subjectstringOne-line question.statusstringopen, closed, draft…ball_in_courtobjectWho owes the next move.cost_impactobject{ status, value }. Value is a decimal string.cost_codeobjectFrom cost_code_id.drawing_idsinteger[]Linked drawings.
Endpoints
- GET/rest/v1.0/projects/{project_id}/rfis
- POST/rest/v1.0/projects/{project_id}/rfis
- GET/rest/v1.0/projects/{project_id}/rfis/{id}
- PATCH/rest/v1.0/projects/{project_id}/rfis/{id}
- PATCH/rest/v1.0/projects/{project_id}/rfis/{id}/advance_ball_in_court
- PATCH/rest/v1.0/projects/{project_id}/rfis/{id}/forward_for_review
Related objects
Drawing
A sheet in the current set, grouped by drawing area and discipline, with its revisions.
Fields
numberstringSheet number.titlestringSheet title.drawing_discipline_idintegerDiscipline.current_revisionobjectLatest revision.obsoletebooleanSuperseded sheet.
Endpoints
- DELETE/rest/v1.0/projects/{project_id}/drawings/{id}
- GET/rest/v1.0/projects/{project_id}/drawings/{id}/compare
- PATCH/rest/v1.0/projects/{project_id}/drawings/{id}/restore
- GET/rest/v1.0/projects/{project_id}/drawings/recycle_bin
- GET/rest/v1.1/drawing_areas/{drawing_area_id}/drawings
- POST/rest/v1.1/drawing_areas/{drawing_area_id}/drawings
Related objects
Submittal
Shop drawings, product data and samples moving through the review workflow.
Fields
formatted_numberstringNumber with spec section.specification_sectionobjectSpec section.cost_codeobjectFrom cost_code_id.ball_in_courtobject[]Current reviewers.due_datedateReview due.required_on_site_datedateWhen it has to be on site.
Endpoints
- POST/rest/v1.0/projects/{project_id}/submittal_packages/{id}/submittals
- DELETE/rest/v1.0/projects/{project_id}/submittal_packages/{id}/submittals
- GET/rest/v1.1/projects/{project_id}/submittals
- POST/rest/v1.1/projects/{project_id}/submittals
- GET/rest/v1.1/projects/{project_id}/submittals/{id}
- PATCH/rest/v1.1/projects/{project_id}/submittals/{id}
Related objects
Cost code
The project's cost code tree. Budget lines, RFIs, submittals and change event lines point at it.
Fields
codestringe.g. 23-3300.full_codestringWith parents.namestringDescription.parentobjectParent code.standard_cost_code_idintegerCompany standard it came from.
Related objects
Budget line item
One budget line per cost code: original, approved and pending changes, committed and projected cost.
Fields
original_budget_amountnumberOriginal budget.approved_budget_changesnumberApproved changes.pending_budget_changesnumberPending changes.revised_budgetnumberOriginal plus approved.committed_costsnumberFrom commitments.projected_over_undernumberProjected over or under.cost_codeobjectFrom cost_code_id.
Endpoints
- POST/rest/v1.0/budget_line_items
- GET/rest/v1.0/budget_line_items/{id}
- PATCH/rest/v1.0/budget_line_items/{id}
- GET/rest/v2.0/companies/{company_id}/projects/{project_id}/budget_line_items
- DELETE/rest/v2.0/companies/{company_id}/projects/{project_id}/budget_line_items/{id}
Related objects
Change event
Something that may change cost or time. It can start from an RFI and its lines carry cost codes.
Fields
numberintegerEvent number.titlestringWhat changed.statusstringWorkflow status.change_event_origin_typestringWhere it came from, e.g. an RFI.change_event_origin_idintegerID of that record.change_event_line_itemsobject[]Lines with cost_code_id and vendor_id.
Endpoints
- GET/rest/v1.0/change_events
- POST/rest/v1.0/change_events
- GET/rest/v1.0/change_events/{id}
- PATCH/rest/v1.0/change_events/{id}
Related objects
Potential change order
Priced scope against a contract. Rolls up into a change order package.
Fields
numberstringPCO number.titlestringScope.statusstringWorkflow status.grand_totalstringDecimal string.contract_idintegerPrime contract or commitment.line_itemsobject[]Priced lines.
Endpoints
- GET/rest/v1.0/potential_change_orders
- POST/rest/v1.0/potential_change_orders
- GET/rest/v1.0/potential_change_orders/{id}
- PATCH/rest/v1.0/potential_change_orders/{id}
Related objects
Change order package
The change order that goes to the owner or sub for signature, made of one or more PCOs.
Fields
numberstringPackage number.statusstringWorkflow status.executedbooleanSigned.grand_totalstringDecimal string.contract_idintegerThe contract it changes.schedule_impact_amountintegerDays.
Endpoints
- GET/rest/v1.0/change_order_packages
- POST/rest/v1.0/change_order_packages
- GET/rest/v1.0/change_order_packages/{id}
- PATCH/rest/v1.0/change_order_packages/{id}
Related objects
Prime contract
Your contract with the owner: schedule of values, owner change orders and owner billing.
Fields
numberstringContract number.titlestringTitle.statusstringWorkflow status.grand_totalstringDecimal string.revised_contract_amountstringWith approved change orders.
Endpoints
- GET/rest/v1.0/prime_contracts
- GET/rest/v1.0/prime_contracts/{prime_contract_id}/line_items
- POST/rest/v1.0/prime_contracts/{prime_contract_id}/line_items
- GET/rest/v1.0/prime_contracts/{prime_contract_id}/line_items/{id}
- PATCH/rest/v1.0/prime_contracts/{prime_contract_id}/line_items/{id}
- DELETE/rest/v1.0/prime_contracts/{prime_contract_id}/line_items/{id}
Related objects
Payment application
Billing against a contract for one period: work completed and stored to date, retainage and the amount due.
Fields
numberstringApplication number.contractobjectThe contract billed.period_startstringBilling period start.contract_sum_to_datestringDecimal string.total_retainagestringDecimal string.current_payment_duestringDecimal string.
Endpoints
- GET/rest/v1.0/projects/{project_id}/payment_applications
- POST/rest/v1.0/projects/{project_id}/payment_applications
- GET/rest/v1.0/projects/{project_id}/payment_applications/{id}
- PATCH/rest/v1.0/projects/{project_id}/payment_applications/{id}
- POST/rest/v1.0/projects/{project_id}/payment_applications/{id}/approve
- GET/rest/v1.0/projects/{project_id}/payment_applications/{id}/lines
Related objects
Commitment
A subcontract (work order contract) or purchase order with its lines, change orders and invoices.
Fields
numberstringCommitment number.titlestringScope.statusstringWorkflow status.grand_totalstringDecimal string.revised_contractstringWith approved changes.retainage_percentstringRetainage.
Endpoints
- GET/rest/v1.0/work_order_contracts
- POST/rest/v1.0/work_order_contracts
- GET/rest/v1.0/work_order_contracts/{id}
- PATCH/rest/v1.0/work_order_contracts/{id}
- DELETE/rest/v1.0/work_order_contracts/{id}
Related objects
Requisition
A sub's invoice against a commitment for one billing period.
Fields
numberintegerInvoice number on the commitment.commitment_idintegerThe commitment billed.billing_datedateBilling date.statusstringWorkflow status.total_claimed_amountstringDecimal string.
Endpoints
- GET/rest/v1.0/requisitions
- POST/rest/v1.0/requisitions
- GET/rest/v1.0/requisitions/{id}
- PATCH/rest/v1.0/requisitions/{id}
- DELETE/rest/v1.0/requisitions/{id}
Related objects
No record matches. Try “cost_code” or “contract_id”.
Solid lines are stored IDs, like project_id, cost_code_id, contract_id and change_event_id. Dashed lines are workflow links, like a change event posting to the budget. This is the core of the model, not all of it: the REST reference covers every tool.