{"__v":19,"_id":"56328ce68c9cda0d002526a8","category":{"__v":92,"_id":"55faf9aa17b9d00d00969f49","pages":["56312d239ead230d00a188f2","56312e0d82d96a0d00b0fb08","56315777fc94aa0d00e9b553","56315b779ead230d00a1894a","5631657c9c25801700dac34f","56317884fc94aa0d00e9b586","56318386c3b04b0d00ba9bb9","563240ccdcc27a170082363b","563240dfbddb091700ad5e82","563240edfe9acd1900cc1d10","56324504fa40240d007c8d5f","56324b30c3b04b0d00ba9c96","563273ae45f2cb0d006be3fa","563273c08c9cda0d0025266d","563273cc38f8aa0d00d30f55","563273d838f8aa0d00d30f59","5632740945f2cb0d006be3fc","56327411df556c0d00cd0905","5632741b8c9cda0d0025266f","563274ea10b6040d008793d8","5632757cdf556c0d00cd0908","563275b710b6040d008793da","563275f938f8aa0d00d30f60","5632762fb904a10d0032f6fc","5632767110b6040d008793dd","563276c0b904a10d0032f700","5632770162c48a0d00334d53","5632843d8c9cda0d00252698","5632846e62c48a0d00334d78","56328a7e49e16d0d00122420","56328aaf49e16d0d00122425","56328b2238f8aa0d00d30f88","56328b6c8c9cda0d002526a2","56328c0710b6040d008793ff","56328c3710b6040d00879401","56328c5938f8aa0d00d30f8c","56328c90b904a10d0032f722","56328cc449e16d0d0012242a","56328ce68c9cda0d002526a8","56328d1338f8aa0d00d30f8e","56328d5810b6040d00879407","56328d7cdf556c0d00cd092f","56328d9a10b6040d00879409","56328db438f8aa0d00d30f92","56328dd762c48a0d00334d8b","56328df649e16d0d0012242d","56328e1edf556c0d00cd0931","56328e4662c48a0d00334d8e","56328e5edf556c0d00cd0933","56328e8f8c9cda0d002526ab","56328eb3b904a10d0032f72a","56328edb38f8aa0d00d30f95","56328ef210b6040d0087940d","56328f148c9cda0d002526ad","56328f2962c48a0d00334d90","56328f54b904a10d0032f72c","56328f6c38f8aa0d00d30f98","56328f858c9cda0d002526af","56328fae62c48a0d00334d95","56328fd838f8aa0d00d30f9c","5637f069ee0ee60d0024ec18","5641ffaa9417b40d00c0fc35","564355240d9748190079dea9","5644cfeb2c74cf1900da4831","56450f856b0ca50d00f6bd8f","56706537cbb2fb0d00f7c7dd","567065bc3d29830d00376213","56706fc2cbb2fb0d00f7c87e","568bf5a1e662f40d00eee866","568c0699e662f40d00eee881","568cff0274c77f2d00d56d51","568d10f58602880d001ce277","568d2abc37b636250036b904","568d343413c5ad0d00b34efb","568d593a8602880d001ce2d3","568e64135e12fb0d00325160","568e66f05e12fb0d00325162","568e78aa5e12fb0d0032517a","569433cfd8c04d1700e5ae0c","56943723d8c04d1700e5ae14","5694393b3e9d080d00f0655d","5694e6cf953b810d008f91bc","5694f301c5c5ce0d00058e68","569502ef9797fa1900f704e7","5695063bcaa32519009c40b3","569511cccaa32519009c40d9","569557e2fcb1032d0089dfe2","569562fefcb1032d0089dfee","56956428fe18811700c9c058","569639b87596a90d0014e5a3","56a90197e590350d004b5103","56a9021e9ec7660d002e08c2"],"project":"55faf11ba62ba1170021a9a7","version":"55faf11ba62ba1170021a9aa","sync":{"url":"","isSync":false},"reference":true,"createdAt":"2015-09-17T17:34:34.937Z","from_sync":false,"order":26,"slug":"api","title":"API Reference"},"parentDoc":null,"project":"55faf11ba62ba1170021a9a7","user":"554340dfb7f4540d00fcef1d","version":{"__v":35,"_id":"55faf11ba62ba1170021a9aa","project":"55faf11ba62ba1170021a9a7","createdAt":"2015-09-17T16:58:03.490Z","releaseDate":"2015-09-17T16:58:03.490Z","categories":["55faf11ca62ba1170021a9ab","55faf8f4d0e22017005b8272","55faf91aa62ba1170021a9b5","55faf929a8a7770d00c2c0bd","55faf932a8a7770d00c2c0bf","55faf94b17b9d00d00969f47","55faf958d0e22017005b8274","55faf95fa8a7770d00c2c0c0","55faf96917b9d00d00969f48","55faf970a8a7770d00c2c0c1","55faf98c825d5f19001fa3a6","55faf99aa62ba1170021a9b8","55faf99fa62ba1170021a9b9","55faf9aa17b9d00d00969f49","55faf9b6a8a7770d00c2c0c3","55faf9bda62ba1170021a9ba","5604570090ee490d00440551","5637e8b2fbe1c50d008cb078","5649bb624fa1460d00780add","5671974d1b6b730d008b4823","5671979d60c8e70d006c9760","568e8eef70ca1f0d0035808e","56d0a2081ecc471500f1795e","56d4a0adde40c70b00823ea3","56d96b03dd90610b00270849","56fbb83d8f21c817002af880","573c811bee2b3b2200422be1","576bc92afb62dd20001cda85","5771811e27a5c20e00030dcd","5785191af3a10c0e009b75b0","57bdf84d5d48411900cd8dc0","57ff5c5dc135231700aed806","5804caf792398f0f00e77521","58458b4fba4f1c0f009692bb","586d3c287c6b5b2300c05055"],"is_deprecated":false,"is_hidden":false,"is_beta":true,"is_stable":true,"codename":"","version_clean":"1.0.0","version":"1.0"},"updates":[],"next":{"pages":[],"description":""},"createdAt":"2015-10-29T21:17:26.225Z","link_external":false,"link_url":"","githubsync":"","sync_unique":"","hidden":false,"api":{"examples":{"codes":[]},"results":{"codes":[]},"settings":"","auth":"required","params":[],"url":""},"isReference":true,"order":25,"body":"This call changes a project member's permissions for a specified project.\n\nUsers may have the following permissions on the CGC:\n  * Read\n  * Write\n  * Copy\n  * Execute\n  * Admin\n\nFor more information, see the documentation on [setting project member permissions](doc:set-permissions). Note that some user permissions imply others: for example, if you give a user admin permission, then they automatically receive read, write, copy and execute permissions.\n[block:callout]\n{\n  \"type\": \"success\",\n  \"title\": \"PUT and PATCH\",\n  \"body\": \"The CGC API has two method to modify project members' permissions. This method uses the HTTP verb `PUT`, and the other uses the HTTP verb `PATCH`. \\n\\nThe difference between the two concerns the way that they update the information stored about the user. `PATCH` allows you to update just one part of the user's information -- for instance, just the value stored for the user's `copy` permission. On the other hand, a `PUT` request will fully overwrite the user's permission information. This means that when issuing a `PUT` request you must enter values for every key required to describe the user, even if the values for some keys are unchanged.\"\n}\n[/block]\n\n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"https://cgc-api.sbgenomics.com/v2/projects/{project_owner}/{project}/members/{username}/permissions\",\n      \"language\": \"text\",\n      \"name\": \"Path\"\n    }\n  ]\n}\n[/block]\n##Request\n\n###Example request\n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"PUT /v2/projects/rfranklin/my-project/members/crick/permissions HTTP/1.1\\nHost: cgc-api.sbgenomics.com\\nX-SBG-Auth-Token: 3259c50e1ac5426ea8f1273259740f74\\n\",\n      \"language\": \"http\",\n      \"name\": null\n    },\n    {\n      \"code\": \"curl -X PUT --data-binary \\\":::at:::permissions-for-crick.json\\\" -H \\\"X-SBG-Auth-Token: ce7ae5ab85e946599298e88a3430fba0\\\" 'http://gc-api.sbgenomics.com/v2/projects/rfranklin/my-project/members/crick/permissions'\",\n      \"language\": \"curl\",\n      \"name\": \"cURL\"\n    }\n  ],\n  \"sidebar\": true\n}\n[/block]\n###Header Fields\n[block:parameters]\n{\n  \"data\": {\n    \"h-0\": \"Name\",\n    \"h-1\": \"Description\",\n    \"0-0\": \"`X-SBG-Auth-Token`\\n<span style=\\\"color:red\\\"><i>required</i></span>\",\n    \"0-1\": \"Your CGC [authentication token](doc:get-your-authentication-token).\",\n    \"h-2\": \"\"\n  },\n  \"cols\": 2,\n  \"rows\": 1\n}\n[/block]\n###Path parameters\n[block:parameters]\n{\n  \"data\": {\n    \"0-0\": \"`project`\",\n    \"1-0\": \"`project_owner`\",\n    \"h-0\": \"Name\",\n    \"h-1\": \"Description\",\n    \"0-1\": \"The short name of the project containing the project member.\",\n    \"1-1\": \"The owner of the project containing the project member.\",\n    \"2-0\": \"`username`\",\n    \"2-1\": \"The CGC username of the user whose permissions you are overwriting.\"\n  },\n  \"cols\": 2,\n  \"rows\": 3\n}\n[/block]\n###Query parameters\n[block:parameters]\n{\n  \"data\": {\n    \"h-0\": \"Name\",\n    \"h-1\": \"Data type\",\n    \"h-2\": \"Description\",\n    \"0-0\": \"`fields`\",\n    \"0-1\": \"string\",\n    \"0-2\": \"Selector specifying a subset of fields to include in the response.\"\n  },\n  \"cols\": 3,\n  \"rows\": 1\n}\n[/block]\n##Request body\nIn the body, you should enter a list of key-value pairs. The keys, and the values they take, are described in the following table.\n[block:parameters]\n{\n  \"data\": {\n    \"0-0\": \"`read`\",\n    \"0-1\": \"Boolean: `true` or `false`\",\n    \"0-2\": \"User can view file names, metadata, and workflows. They cannot view file contents.\\n\\nAll members of a project have `read` permissions by default. Even if you try setting `read` permissions to `false`, they will still default to `true`.\",\n    \"1-0\": \"`write`\",\n    \"1-1\": \"Boolean: `true` or `false`\",\n    \"1-2\": \"User can add, modify, and remove files and workflows in a project.\\n\\nSet value to `true` to assign the user copy permission. Set to `false` to remove copy permission..\",\n    \"h-0\": \"Key\",\n    \"h-1\": \"Data type of value\",\n    \"h-2\": \"Description of value\",\n    \"2-0\": \"`copy`\",\n    \"2-1\": \"Boolean: `true` or `false`\",\n    \"2-2\": \"User can view file content, copy, and download files from a project.\\n\\nSet value to `true` to assign the user copy permission. Set to `false` to remove copy permission.\",\n    \"3-0\": \"`execute`\",\n    \"4-0\": \"`admin`\",\n    \"3-1\": \"Boolean: `true` or `false`\",\n    \"4-1\": \"Boolean: `true` or `false`\",\n    \"3-2\": \"User can execute workflows and abort tasks in a project.\\n\\nSet value to `true` to assign the user copy permission. Set to `false` to remove copy permission.\",\n    \"4-2\": \"User can modify another user's permissions on a project, add or remove people from the project and manage funding sources. They also have all of the above permissions.\\n\\nSet value to `true` to assign the user copy permission. Set to `false` to remove copy permission.\"\n  },\n  \"cols\": 3,\n  \"rows\": 5\n}\n[/block]\n###Example request body\n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"{\\n  \\\"read\\\": true,\\n  \\\"write\\\": true,\\n  \\\"copy\\\": true,\\n  \\\"execute\\\": true,\\n  \\\"admin\\\": false\\n}\",\n      \"language\": \"json\"\n    }\n  ],\n  \"sidebar\": true\n}\n[/block]\n##Response\n\n[See a list of CGC-specific response codes that may be contained in the body of the response.](doc:api-status-codes)\n\n###Example response body \n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"{\\n  \\\"write\\\": true,\\n  \\\"read\\\": true,\\n  \\\"copy\\\": true,\\n  \\\"execute\\\": true,\\n  \\\"admin\\\": false\\n}\",\n      \"language\": \"json\"\n    }\n  ]\n}\n[/block]","excerpt":"/projects/{project_owner}/{project}/members/{username}/permissions","slug":"set-a-project-members-privileges","type":"put","title":"Overwrite a project member's permissions"}

putOverwrite a project member's permissions

/projects/{project_owner}/{project}/members/{username}/permissions

This call changes a project member's permissions for a specified project. Users may have the following permissions on the CGC: * Read * Write * Copy * Execute * Admin For more information, see the documentation on [setting project member permissions](doc:set-permissions). Note that some user permissions imply others: for example, if you give a user admin permission, then they automatically receive read, write, copy and execute permissions. [block:callout] { "type": "success", "title": "PUT and PATCH", "body": "The CGC API has two method to modify project members' permissions. This method uses the HTTP verb `PUT`, and the other uses the HTTP verb `PATCH`. \n\nThe difference between the two concerns the way that they update the information stored about the user. `PATCH` allows you to update just one part of the user's information -- for instance, just the value stored for the user's `copy` permission. On the other hand, a `PUT` request will fully overwrite the user's permission information. This means that when issuing a `PUT` request you must enter values for every key required to describe the user, even if the values for some keys are unchanged." } [/block] [block:code] { "codes": [ { "code": "https://cgc-api.sbgenomics.com/v2/projects/{project_owner}/{project}/members/{username}/permissions", "language": "text", "name": "Path" } ] } [/block] ##Request ###Example request [block:code] { "codes": [ { "code": "PUT /v2/projects/rfranklin/my-project/members/crick/permissions HTTP/1.1\nHost: cgc-api.sbgenomics.com\nX-SBG-Auth-Token: 3259c50e1ac5426ea8f1273259740f74\n", "language": "http", "name": null }, { "code": "curl -X PUT --data-binary \"@permissions-for-crick.json\" -H \"X-SBG-Auth-Token: ce7ae5ab85e946599298e88a3430fba0\" 'http://gc-api.sbgenomics.com/v2/projects/rfranklin/my-project/members/crick/permissions'", "language": "curl", "name": "cURL" } ], "sidebar": true } [/block] ###Header Fields [block:parameters] { "data": { "h-0": "Name", "h-1": "Description", "0-0": "`X-SBG-Auth-Token`\n<span style=\"color:red\"><i>required</i></span>", "0-1": "Your CGC [authentication token](doc:get-your-authentication-token).", "h-2": "" }, "cols": 2, "rows": 1 } [/block] ###Path parameters [block:parameters] { "data": { "0-0": "`project`", "1-0": "`project_owner`", "h-0": "Name", "h-1": "Description", "0-1": "The short name of the project containing the project member.", "1-1": "The owner of the project containing the project member.", "2-0": "`username`", "2-1": "The CGC username of the user whose permissions you are overwriting." }, "cols": 2, "rows": 3 } [/block] ###Query parameters [block:parameters] { "data": { "h-0": "Name", "h-1": "Data type", "h-2": "Description", "0-0": "`fields`", "0-1": "string", "0-2": "Selector specifying a subset of fields to include in the response." }, "cols": 3, "rows": 1 } [/block] ##Request body In the body, you should enter a list of key-value pairs. The keys, and the values they take, are described in the following table. [block:parameters] { "data": { "0-0": "`read`", "0-1": "Boolean: `true` or `false`", "0-2": "User can view file names, metadata, and workflows. They cannot view file contents.\n\nAll members of a project have `read` permissions by default. Even if you try setting `read` permissions to `false`, they will still default to `true`.", "1-0": "`write`", "1-1": "Boolean: `true` or `false`", "1-2": "User can add, modify, and remove files and workflows in a project.\n\nSet value to `true` to assign the user copy permission. Set to `false` to remove copy permission..", "h-0": "Key", "h-1": "Data type of value", "h-2": "Description of value", "2-0": "`copy`", "2-1": "Boolean: `true` or `false`", "2-2": "User can view file content, copy, and download files from a project.\n\nSet value to `true` to assign the user copy permission. Set to `false` to remove copy permission.", "3-0": "`execute`", "4-0": "`admin`", "3-1": "Boolean: `true` or `false`", "4-1": "Boolean: `true` or `false`", "3-2": "User can execute workflows and abort tasks in a project.\n\nSet value to `true` to assign the user copy permission. Set to `false` to remove copy permission.", "4-2": "User can modify another user's permissions on a project, add or remove people from the project and manage funding sources. They also have all of the above permissions.\n\nSet value to `true` to assign the user copy permission. Set to `false` to remove copy permission." }, "cols": 3, "rows": 5 } [/block] ###Example request body [block:code] { "codes": [ { "code": "{\n \"read\": true,\n \"write\": true,\n \"copy\": true,\n \"execute\": true,\n \"admin\": false\n}", "language": "json" } ], "sidebar": true } [/block] ##Response [See a list of CGC-specific response codes that may be contained in the body of the response.](doc:api-status-codes) ###Example response body [block:code] { "codes": [ { "code": "{\n \"write\": true,\n \"read\": true,\n \"copy\": true,\n \"execute\": true,\n \"admin\": false\n}", "language": "json" } ] } [/block]