Bulk Update Project Observation Templates
bulk_update_project_observation_templatesUpdate multiple project observation templates at once with shared attribute changes. Validates all templates first; if any fail, no changes are written and error details are returned.
Instructions
Applies the same attribute changes to several Project Observation Templates in one request. The templates are validated first — if any fails, nothing is written and the response is a 422 listing the offending template IDs and their errors. Prefer this over repeated single-record calls when handling many project observation templates at once. Pass the record's fields as top-level arguments — they are nested under "observation_template" in the request payload for you. project_id defaults to the value set by procore_set_config when omitted. Returns the modified project observation template on success. Failures come back as an error payload carrying the HTTP status — commonly 401 when the token has expired, 403 without tool permission, and 404 when an id does not resolve. Required parameters: project_id. Procore API: Project Management > Observations. Endpoint: PATCH /rest/v1.0/projects/{project_id}/observation_templates/bulk_update
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| active | No | JSON request body field — whether the templates can be selected when creating a new Observation. Applied to every template in `observation_template_ids`. | |
| trade_id | No | JSON request body field — iD of the Trade to set on every template in `observation_template_ids`. | |
| project_id | Yes | URL path parameter — unique identifier for the project. | |
| assignee_id | No | JSON request body field — user ID of a single default assignee to set on every template in `observation_template_ids`. Mutually exclusive with `assignee_ids`. | |
| assignee_ids | No | JSON request body field — user IDs of the default assignees to set on every template in `observation_template_ids`, replacing their existing assignee lists. Mutually exclusive with `assignee_id`. | |
| observation_template_ids | No | Query string parameter — iDs of all Project Observation Templates specified for bulk update |