POST /rest/v2.0/companies/{company_id}/projects/{project_id}/workflows/instances/bulk_history

Returns workflow instance histories for multiple workflowable objects in a single request, grouped by item_id. Each group contains the full ordered history for every workflow instance associated with that object.

Authorization: The request fails with 403 if the requesting user cannot view the history of all workflow instances for any submitted item_id. Objects with no workflow instances return an empty instances array without causing an error.

Granular permissions: Within each instance, history events are filtered to those the requesting user is permitted to see (full history, previous step only, or none).

Servers

Path parameters

Name Type Required Description
project_id String Yes

Unique identifier for the project.

company_id String Yes

Unique identifier for the company.

Request headers

Name Type Required Description
Content-Type String Yes The media type of the request body.

Default value: "application/json"

Procore-Company-Id Integer Yes

Unique company identifier associated with the Procore User Account.

Request body fields

Name Type Required Description
filters Object No
filters.activity_types[] Array No

Optional activity filter (comments, attachments). When present, future step events are not included (linear templates only).

tool_type String Yes

Workflowable tool type. Supports external name (preferred) and class name (compatibility).

item_ids[] Array Yes

One or more workflowable object identifiers. All submitted identifiers must be accessible to the requesting user; if any identifier has hidden instances the request fails with 403.

How to start integrating

  1. Add HTTP Task to your workflow definition.
  2. Search for the API you want to integrate with and click on the name.
    • This loads the API reference documentation and prepares the Http request settings.
  3. Click Test request to test run your request to the API and see the API's response.