# Update project member list Updates the project member list and membership level of users. If you leave off a user who's already a member, the user's relationship to that project isn't changed. If a specified user is already a member, the user's membership is changed to the specified level. If a specified user is not already a member, the user is added with the specified level. Endpoint: PUT /projects/{project_id}/project_members Version: v1 Security: AuthToken ## Header parameters: - `Content-Type` (string, required) Enum: "application/json" ## Path parameters: - `project_id` (integer, required) Unique identifier of the parent project instance. Example: 1234567 ## Request fields (application/json): - `relationships` (array) An array of user ID and membership level pairs (tuples). ## Response 200 fields (application/json): - `paging` (object, required) - `paging.per_page` (integer) The maximum number of items to show per response page. Example: 100 - `paging.page` (integer) The current response page number. Example: 1 - `paging.previous` (string,null) If you're on the first page, this value is null; otherwise the value is the path and query parameters to get the previous page of items. Example: "/api/v1/users?per_page=1000&page=1" - `paging.self` (string) The path and query parameters to get the current page of items. Example: "/api/v1/users?per_page=1000&page=2" - `paging.next` (string,null) If there are more items, this value is the path and query parameters to get the next page of items; otherwise, it's null. Example: "/api/v1/users?per_page=1000&page=3" - `paging.count` (integer,null) The total number of items in all the pages. - `data` (array, required) - `data.id` (integer) A unique identifier for the user. Example: 1234567 - `data.uid` (string) A unique identifier for the user's project membership. Example: "user-1234567" - `data.name` (string) The user's first and last name. Example: "Jane Doe" - `data.license_type` (string) The user's license type. Enum: "licensed"