Home
Endpoints
App Installations
Company
Company Directory
Company Documents
Company Security Settings
Configurations
Cost Codes & Sub Jobs
Direct Costs
Documents
Equipment
Local Files
Permissions
Portfolio
Project
Project Documents
Project Filters
Project Links
Project Overview
Settings
Tasks
Workflows
Workflows Legacy

Project Memberships

GET /rest/v1.0/projects/{project_id}/project_memberships

Description

List all Project Memberships on a given Project.

This endpoint returns all Memberships, including inactive Users/Vendors.

Header Parameters

Procore-Company-Idinteger*

Unique company identifier associated with the Procore User Account.

Path Parameters

project_idinteger*

Unique identifier for the project.

Query Parameters

pageinteger

Page

per_pageinteger

Elements per page

Example Requests
1const request = require('request');
2
3const options = {
4 method: 'GET',
5 url: 'https://api.procore.com/rest/v1.0/projects/%7Bproject_id%7D/project_memberships',
6 qs: {page: 'SOME_INTEGER_VALUE', per_page: 'SOME_INTEGER_VALUE'}
7};
8
9request(options, function (error, response, body) {
10 if (error) throw new Error(error);
11
12 console.log(body);
13});
14

Responses

Body

idinteger

Project Membership id

party_idinteger

Party id

project_idinteger

Project id

Response Headers

Per-Pageinteger

Number of items retrieved per page

Totalinteger

Total number of items to be retrieved

Linkstring

Link headers for the first, prev, next, and last link

Example Response
1[
2 {
3 "id": 381006,
4 "party_id": 43234,
5 "project_id": 646261
6 }
7]
POST /rest/v1.0/projects/{project_id}/project_memberships

Description

Create a Project Membership for a party on the given Project.

This endpoint can currently only be used to add reference users to a project. It cannot be used to add a user who has a login or to add vendors.

Header Parameters

Procore-Company-Idinteger*

Unique company identifier associated with the Procore User Account.

Path Parameters

project_idinteger*

Unique identifier for the project.

Example Requests
1const request = require('request');
2
3const options = {
4 method: 'POST',
5 url: 'https://api.procore.com/rest/v1.0/projects/%7Bproject_id%7D/project_memberships',
6 headers: {'content-type': 'application/json'},
7 body: {project_membership: {party_id: 0}},
8 json: true
9};
10
11request(options, function (error, response, body) {
12 if (error) throw new Error(error);
13
14 console.log(body);
15});
16

Body Parameters

Body

project_membershipobject*

Required properties:
party_id
Example Request Body
1{
2 "project_membership": {
3 "party_id": 42
4 }
5}

Responses

Body

number

Party ID

Example Response
1[
2 1234
3]
DELETE /rest/v1.0/projects/{project_id}/project_memberships/{id}

Description

Delete a Project Membership for a party on the given Project.

This endpoint can currently only be used to delete reference users from a project. It cannot be used to delete a user who has a login or to delete vendors.

Header Parameters

Procore-Company-Idinteger*

Unique company identifier associated with the Procore User Account.

Path Parameters

project_idinteger*

Unique identifier for the project.

idinteger*

The ID of the Project Membership

Query Parameters

party_idinteger*

The ID of the Party (reference user)

Example Requests
1const request = require('request');
2
3const options = {
4 method: 'DELETE',
5 url: 'https://api.procore.com/rest/v1.0/projects/%7Bproject_id%7D/project_memberships/%7Bid%7D',
6 qs: {party_id: 'SOME_INTEGER_VALUE'}
7};
8
9request(options, function (error, response, body) {
10 if (error) throw new Error(error);
11
12 console.log(body);
13});
14

Responses

204(Deleted)

POST /rest/v1.0/projects/{project_id}/project_memberships/bulk_add

Description

Bulk Create Project Memberships for many parties on the given Project.

This endpoint can currently only be used to add reference users to a project. It cannot be used to add a user who has a login or to add vendors.

Header Parameters

Procore-Company-Idinteger*

Unique company identifier associated with the Procore User Account.

Path Parameters

project_idinteger*

Unique identifier for the project.

Example Requests
1const request = require('request');
2
3const options = {
4 method: 'POST',
5 url: 'https://api.procore.com/rest/v1.0/projects/%7Bproject_id%7D/project_memberships/bulk_add',
6 headers: {'content-type': 'application/json'},
7 body: {party_ids: [12345]},
8 json: true
9};
10
11request(options, function (error, response, body) {
12 if (error) throw new Error(error);
13
14 console.log(body);
15});
16

Body Parameters

Body

party_idsarray[integer]*

Example Request Body
1{
2 "party_ids": [
3 12345
4 ]
5}

Responses

Body

integer

The ID of the Party (reference user) that was successfully added to the Project

Example Response
1[
2 12345
3]
DELETE /rest/v2.0/companies/{company_id}/projects/{project_id}/project_memberships/bulk_remove

Description

Bulk Remove Project Memberships for many parties on the given Project. Currently, the maximum number of party IDs that can be processed in a single request is 1000. If more than 1000 party IDs are provided, only the first 1000 will be processed.

This endpoint can currently only be used to remove reference users from a project. It cannot be used to remove a user who has a login or to remove vendors.

Header Parameters

Procore-Company-Idinteger*

Unique company identifier associated with the Procore User Account.

Path Parameters

company_idstring*

Unique identifier for the company.

project_idstring*

Unique identifier for the project.

Example Requests
1const request = require('request');
2
3const options = {
4 method: 'DELETE',
5 url: 'https://api.procore.com/rest/v2.0/companies/%7Bcompany_id%7D/projects/%7Bproject_id%7D/project_memberships/bulk_remove',
6 headers: {'content-type': 'application/json'},
7 body: {party_ids: [12345]},
8 json: true
9};
10
11request(options, function (error, response, body) {
12 if (error) throw new Error(error);
13
14 console.log(body);
15});
16

Body Parameters

Body

party_idsarray[integer]*

Example Request Body
1{
2 "party_ids": [
3 12345
4 ]
5}

Responses

Body

dataobject

Example Response
1{
2 "data": {
3 "processed_ids": [
4 123
5 ],
6 "skipped_ids": [
7 456
8 ]
9 }
10}