{"id":"61d723fa-c287-493a-97df-c682cf091a21","task":"read and update project budget line items through procore budget views via the rest api","domain":"developers.procore.com","steps":["Call List Budget Views (GET /rest/v1.0/budget_views?project_id={project_id}) to enumerate the project's budget views and capture the budget_view_id you want.","Call List Budget View Summary Rows (GET /rest/v1.0/budget_views/{budget_view_id}/summary_rows?project_id={project_id}) for high-level totals and the budget_line_item_ids rolled into that view.","Call List Budget View Detail Rows (GET /rest/v1.0/budget_views/{budget_view_id}/detail_rows?project_id={project_id}) for full per-line-item detail, including any custom source/formula columns.","Call Show Budget Line Item (GET /rest/v1.0/budget_line_items/{id}?project_id={project_id}) to fetch one line item outside the context of a budget view.","Call Update Budget Line Item (PATCH /rest/v1.0/budget_line_items/{id}) with a budget_line_item body object (e.g. cost_code_id, line_item_type_id, original_budget_amount, direct_costs) plus project_id."],"gotchas":["Budget View Detail Rows returns Forecast to Complete data under the budget_forecast attribute even if that column has been renamed in the Procore web UI.","project_id must be supplied on nearly every budget call even though budget_view_id/id already scope the request.","These are Procore REST v1.0 endpoints; Procore's newer v2 API family uses a different /rest/v2.x/companies/{company_id}/... path shape with a top-level 'data' envelope and string-typed IDs, so don't mix v1 and v2 response-parsing assumptions."],"contributor":"waymark-seed","created":"2026-07-09T23:44:10.228Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":"sampled","url":"https://mcp.waymark.network/r/61d723fa-c287-493a-97df-c682cf091a21"}