Procore.Api.CorePortfolioProjects (procore_sdk v0.3.0)
API calls for all endpoints tagged CorePortfolioProjects
.
Summary
Functions
List projects Return a list of active Projects. If the authenticated user has full company admin permissions the request will return all of the projects in the company. If the user does not have full company admin permissions, the request will only return the projects that the user has been added to. See Filtering on List Actions for information on using the filtering capabilities provided by this endpoint.
List possible Tool filter values List all possible values customer can apply to a filter
List filters List all filters customer can use for the project and tool
Show project Show details for the specified project in Procore.
Delete the project logo Updates the project setting the logo reference to null
Create a project logo Updates the project logo from a upload and returns the updated project.
Update project
Update information for an existing project. #### Country and State codes The country_code
and state_code
parameter values must conform to the ISO-3166 Alpha-2 specification. See Working with Country Codes for additional information.
Create project
Create a new Project in a Procore account. The new project is active by default. #### Country and State codes The country_code
and state_code
parameter values must conform to the ISO-3166 Alpha-2 specification. See Working with Country Codes for additional information. #### Recommendation For accounts creating a significant number of projects (more than 300), schedule these operations during non-business hours (5 P.M PST - 7 A.M PST) to optimize efficiency. Coordinate the timing with your solution architect for insights into system load and effective resource utilization.
Sync projects
Create or update a batch of projects. See Using Sync Actions for additional information. #### Country and State codes The country_code
and state_code
parameter values must conform to the ISO-3166 Alpha-2 specification. See Working with Country Codes for additional information. #### Recommendation Please be advised to not use the sync endpoint for bulk project creation due to potential performance bottlenecks.
List projects Return a list of active Projects. If the authenticated user has full company admin permissions the request will return all of the projects in the company. If the user does not have full company admin permissions, the request will only return the projects that the user has been added to. The default pagination is 100 projects per page. The max page size is 300 projects due to the size of the data in the response. See Filtering on List Actions for information on using the filtering capabilities provided by this endpoint.
Functions
rest_v10_projects_get(connection, procore_company_id, company_id, opts \\ [])
@spec rest_v10_projects_get(Tesla.Env.client(), integer(), integer(), keyword()) :: {:ok, Procore.Model.RestV10CompaniesCompanyIdWorkflowPermanentLogsGet401Response.t()} | {:ok, [Procore.Model.Project1.t()]} | {:ok, Procore.Model.RestV10ProjectsGetDefaultResponse.t()} | {:error, Tesla.Env.t()}
List projects Return a list of active Projects. If the authenticated user has full company admin permissions the request will return all of the projects in the company. If the user does not have full company admin permissions, the request will only return the projects that the user has been added to. See Filtering on List Actions for information on using the filtering capabilities provided by this endpoint.
Parameters
connection
(Procore.Connection): Connection to serverprocore_company_id
(integer()): Unique company identifier associated with the Procore User Account.company_id
(integer()): Unique identifier for the company.opts
(keyword): Optional parameters:page
(integer()): Page:per_page
(integer()): Elements per page:"filters[by_status]"
(String.t): Filters on project status. Must be one of Active, Inactive, or All.:"filters[name]"
(String.t): Filters projects to those matching the given string.:"filters[created_at]"
(Date.t): Return item(s) created within the specified ISO 8601 datetime range. Formats:YYYY-MM-DD
...YYYY-MM-DD
- DateYYYY-MM-DDTHH:MM:SSZ
...YYYY-MM-DDTHH:MM:SSZ
- DateTime with UTC OffsetYYYY-MM-DDTHH:MM:SS+XX:00...
YYYY-MM-DDTHH:MM:SS+XX:00- Datetime with Custom Offset -
:"filters[updated_at]"(Date.t): Return item(s) last updated within the specified ISO 8601 datetime range. Formats:
YYYY-MM-DD...
YYYY-MM-DD- Date
YYYY-MM-DDTHH:MM:SSZ...
YYYY-MM-DDTHH:MM:SSZ- DateTime with UTC Offset
YYYY-MM-DDTHH:MM:SS+XX:00...
YYYY-MM-DDTHH:MM:SS+XX:00- Datetime with Custom Offset -
:"filters[origin_id]"(String.t): Origin ID. Returns item(s) with the specified Origin ID. -
:"filters[id]"([integer()]): Return item(s) with the specified IDs. -
:"filters[synced]"(boolean()): If true, returns only item(s) with a
syncedstatus. -
:"filters[vendor_id]"(integer()): Return item(s) with the specified Vendor ID. -
:"filters[custom_fields]"(map()): JSON object returns project with matching custom_field_values -
:serializer_view(String.t): The 'compact' view only returns id, name and display_name. Passing any other value (or passing no value at all) will result in the more complete list of attributes shown below. -
:sort(String.t): Return items with the specified sort. ### Returns -
, ...]}on success -
` on failure
rest_v10_projects_id_filters_filter_name_get(connection, procore_company_id, id, filter_name, tool, tab, opts \\ [])
@spec rest_v10_projects_id_filters_filter_name_get( Tesla.Env.client(), integer(), integer(), String.t(), String.t(), String.t(), keyword() ) :: {:ok, Procore.Model.RestV10CompaniesCompanyIdWorkflowPermanentLogsGet401Response.t()} | {:ok, [Procore.Model.RestV10ProjectsIdFiltersFilterNameGet200ResponseInner.t()]} | {:error, Tesla.Env.t()}
List possible Tool filter values List all possible values customer can apply to a filter
Parameters
connection
(Procore.Connection): Connection to serverprocore_company_id
(integer()): Unique company identifier associated with the Procore User Account.id
(integer()): Unique identifier for the project.filter_name
(String.t): Filter nametool
(String.t): Tool nametab
(String.t): Tab nameopts
(keyword): Optional parameters
Returns
{:ok, [%RestV10ProjectsIdFiltersFilterNameGet200ResponseInner{}, ...]}
on success{:error, Tesla.Env.t}
on failure
rest_v10_projects_id_filters_get(connection, procore_company_id, id, tool, tab, opts \\ [])
@spec rest_v10_projects_id_filters_get( Tesla.Env.client(), integer(), integer(), String.t(), String.t(), keyword() ) :: {:ok, Procore.Model.RestV10CompaniesCompanyIdWorkflowPermanentLogsGet401Response.t()} | {:ok, Procore.Model.RestV10ProjectsIdFiltersGet200Response.t()} | {:ok, Procore.Model.RestV10ProjectsIdFiltersGetDefaultResponse.t()} | {:error, Tesla.Env.t()}
List filters List all filters customer can use for the project and tool
Parameters
connection
(Procore.Connection): Connection to serverprocore_company_id
(integer()): Unique company identifier associated with the Procore User Account.id
(integer()): Unique identifier for the project.tool
(String.t): Tool nametab
(String.t): Tab nameopts
(keyword): Optional parameters
Returns
{:ok, Procore.Model.RestV10ProjectsIdFiltersGet200Response.t}
on success{:error, Tesla.Env.t}
on failure
rest_v10_projects_id_get(connection, procore_company_id, id, company_id, opts \\ [])
@spec rest_v10_projects_id_get( Tesla.Env.client(), integer(), integer(), integer(), keyword() ) :: {:ok, Procore.Model.RestV10CompaniesCompanyIdWorkflowPermanentLogsGet401Response.t()} | {:ok, Procore.Model.Project3.t()} | {:error, Tesla.Env.t()}
Show project Show details for the specified project in Procore.
Parameters
connection
(Procore.Connection): Connection to serverprocore_company_id
(integer()): Unique company identifier associated with the Procore User Account.id
(integer()): Unique identifier for the project.company_id
(integer()): Unique identifier for the company.opts
(keyword): Optional parameters
Returns
{:ok, Procore.Model.Project3.t}
on success{:error, Tesla.Env.t}
on failure
rest_v10_projects_id_logo_delete(connection, procore_company_id, id, opts \\ [])
@spec rest_v10_projects_id_logo_delete( Tesla.Env.client(), integer(), integer(), keyword() ) :: {:ok, Procore.Model.RestV10CompaniesCompanyIdWorkflowPermanentLogsGet401Response.t()} | {:ok, Procore.Model.Project3.t()} | {:error, Tesla.Env.t()}
Delete the project logo Updates the project setting the logo reference to null
Parameters
connection
(Procore.Connection): Connection to serverprocore_company_id
(integer()): Unique company identifier associated with the Procore User Account.id
(integer()): Unique identifier for the project.opts
(keyword): Optional parameters
Returns
{:ok, Procore.Model.Project3.t}
on success{:error, Tesla.Env.t}
on failure
rest_v10_projects_id_logo_post(connection, procore_company_id, id, body33, opts \\ [])
@spec rest_v10_projects_id_logo_post( Tesla.Env.client(), integer(), integer(), Procore.Model.Body33.t(), keyword() ) :: {:ok, Procore.Model.RestV10CompaniesCompanyIdWorkflowPermanentLogsGet401Response.t()} | {:ok, Procore.Model.Project3.t()} | {:error, Tesla.Env.t()}
Create a project logo Updates the project logo from a upload and returns the updated project.
Parameters
connection
(Procore.Connection): Connection to serverprocore_company_id
(integer()): Unique company identifier associated with the Procore User Account.id
(integer()): Unique identifier for the project.body33
(Body33):opts
(keyword): Optional parameters
Returns
{:ok, Procore.Model.Project3.t}
on success{:error, Tesla.Env.t}
on failure
rest_v10_projects_id_patch(connection, procore_company_id, id, body32, opts \\ [])
@spec rest_v10_projects_id_patch( Tesla.Env.client(), integer(), integer(), Procore.Model.Body32.t(), keyword() ) :: {:ok, Procore.Model.RestV10CompaniesCompanyIdWorkflowPermanentLogsGet401Response.t()} | {:ok, Procore.Model.Project3.t()} | {:error, Tesla.Env.t()}
Update project
Update information for an existing project. #### Country and State codes The country_code
and state_code
parameter values must conform to the ISO-3166 Alpha-2 specification. See Working with Country Codes for additional information.
Parameters
connection
(Procore.Connection): Connection to serverprocore_company_id
(integer()): Unique company identifier associated with the Procore User Account.id
(integer()): Unique identifier for the project.body32
(Body32):opts
(keyword): Optional parameters:run_configurable_validations
(boolean()): If true, validations are run for the corresponding Configurable Field Set.
Returns
{:ok, Procore.Model.Project3.t}
on success{:error, Tesla.Env.t}
on failure
rest_v10_projects_post(connection, procore_company_id, body31, opts \\ [])
@spec rest_v10_projects_post( Tesla.Env.client(), integer(), Procore.Model.Body31.t(), keyword() ) :: {:ok, Procore.Model.RestV10CompaniesCompanyIdWorkflowPermanentLogsGet401Response.t()} | {:ok, Procore.Model.Project3.t()} | {:error, Tesla.Env.t()}
Create project
Create a new Project in a Procore account. The new project is active by default. #### Country and State codes The country_code
and state_code
parameter values must conform to the ISO-3166 Alpha-2 specification. See Working with Country Codes for additional information. #### Recommendation For accounts creating a significant number of projects (more than 300), schedule these operations during non-business hours (5 P.M PST - 7 A.M PST) to optimize efficiency. Coordinate the timing with your solution architect for insights into system load and effective resource utilization.
Parameters
connection
(Procore.Connection): Connection to serverprocore_company_id
(integer()): Unique company identifier associated with the Procore User Account.body31
(Body31):opts
(keyword): Optional parameters:run_configurable_validations
(boolean()): If true, validations are run for the corresponding Configurable Field Set.
Returns
{:ok, Procore.Model.Project3.t}
on success{:error, Tesla.Env.t}
on failure
rest_v10_projects_sync_patch(connection, procore_company_id, rest_v10_projects_sync_patch_request, opts \\ [])
@spec rest_v10_projects_sync_patch( Tesla.Env.client(), integer(), Procore.Model.RestV10ProjectsSyncPatchRequest.t(), keyword() ) :: {:ok, Procore.Model.RestV10CompaniesCompanyIdWorkflowPermanentLogsGet401Response.t()} | {:ok, Procore.Model.ArrayOfProjects.t()} | {:error, Tesla.Env.t()}
Sync projects
Create or update a batch of projects. See Using Sync Actions for additional information. #### Country and State codes The country_code
and state_code
parameter values must conform to the ISO-3166 Alpha-2 specification. See Working with Country Codes for additional information. #### Recommendation Please be advised to not use the sync endpoint for bulk project creation due to potential performance bottlenecks.
Parameters
connection
(Procore.Connection): Connection to serverprocore_company_id
(integer()): Unique company identifier associated with the Procore User Account.rest_v10_projects_sync_patch_request
(RestV10ProjectsSyncPatchRequest):opts
(keyword): Optional parameters:company_id
(integer()): Unique identifier for the company.:run_configurable_validations
(boolean()): If true, validations are run for the corresponding Configurable Field Set.
Returns
{:ok, Procore.Model.ArrayOfProjects.t}
on success{:error, Tesla.Env.t}
on failure
rest_v11_projects_get(connection, procore_company_id, company_id, opts \\ [])
@spec rest_v11_projects_get(Tesla.Env.client(), integer(), integer(), keyword()) :: {:ok, Procore.Model.RestV10CompaniesCompanyIdWorkflowPermanentLogsGet401Response.t()} | {:ok, [Procore.Model.RestV11ProjectsGet200ResponseInner.t()]} | {:error, Tesla.Env.t()}
List projects Return a list of active Projects. If the authenticated user has full company admin permissions the request will return all of the projects in the company. If the user does not have full company admin permissions, the request will only return the projects that the user has been added to. The default pagination is 100 projects per page. The max page size is 300 projects due to the size of the data in the response. See Filtering on List Actions for information on using the filtering capabilities provided by this endpoint.
Parameters
connection
(Procore.Connection): Connection to serverprocore_company_id
(integer()): Unique company identifier associated with the Procore User Account.company_id
(integer()): Unique identifier for the company.opts
(keyword): Optional parameters:page
(integer()): Page:per_page
(integer()): Elements per page:"filters[by_status]"
(String.t): Filters on project status. Must be one of Active, Inactive, or All.:"filters[name]"
(String.t): Filters projects to those matching the given string.:"filters[project_number]"
(String.t): Filters on project number.:"filters[created_at]"
(Date.t): Return item(s) created within the specified ISO 8601 datetime range. Formats:YYYY-MM-DD
...YYYY-MM-DD
- DateYYYY-MM-DDTHH:MM:SSZ
...YYYY-MM-DDTHH:MM:SSZ
- DateTime with UTC OffsetYYYY-MM-DDTHH:MM:SS+XX:00...
YYYY-MM-DDTHH:MM:SS+XX:00- Datetime with Custom Offset -
:"filters[updated_at]"(Date.t): Return item(s) last updated within the specified ISO 8601 datetime range. Formats:
YYYY-MM-DD...
YYYY-MM-DD- Date
YYYY-MM-DDTHH:MM:SSZ...
YYYY-MM-DDTHH:MM:SSZ- DateTime with UTC Offset
YYYY-MM-DDTHH:MM:SS+XX:00...
YYYY-MM-DDTHH:MM:SS+XX:00- Datetime with Custom Offset -
:"filters[origin_id]"(String.t): Origin ID. Returns item(s) with the specified Origin ID. -
:"filters[id]"([integer()]): Return item(s) with the specified IDs. -
:"filters[synced]"(boolean()): If true, returns only item(s) with a
syncedstatus. -
:"filters[vendor_id]"(integer()): Return item(s) with the specified Vendor ID. -
:"filters[is_demo]"(boolean()): Filters on project is_demo attribute, which indicates whether project is for demonstration purposes. -
:"filters[custom_fields]"(map()): JSON object returns project with matching custom_field_values -
:"filters[template]"(boolean()): Filters on project template attribute, which indicates whether project is a template -
:"filters[by_owner_type]"(RestV11ProjectsGetFiltersByOwnerTypeParameter): Return item(s) with the specified project owner type ID(s). -
:"filters[by_department]"(RestV11ProjectsGetFiltersByOwnerTypeParameter): Return item(s) with the specified department ID(s). -
:"filters[by_region]"(RestV11ProjectsGetFiltersByOwnerTypeParameter): Return item(s) with the specified project region ID(s). -
:"filters[by_office]"(RestV11ProjectsGetFiltersByOwnerTypeParameter): Return item(s) with the specified office ID(s). -
:"filters[by_program]"(RestV11ProjectsGetFiltersByOwnerTypeParameter): Return item(s) with the specified project program ID(s). -
:"filters[by_stage]"(RestV11ProjectsGetFiltersByOwnerTypeParameter): Return item(s) with the specified project stage ID(s). -
:"filters[by_type]"(RestV11ProjectsGetFiltersByOwnerTypeParameter): Return item(s) with the specified project type ID(s). -
:"filters[by_bid_type]"(RestV11ProjectsGetFiltersByOwnerTypeParameter): Return item(s) with the specified project bid type ID(s). -
:view(String.t): The view determines which fields are returned. 'ids' return only id as an Integer (it additionally influences 'per_page' value to be strictly 200000), 'compact' returns only id and name, 'normal' returns more fields, while 'extended' returns all the project information -
:sort(String.t): Return items with the specified sort. ### Returns -
, ...]}on success -
` on failure