{"_id":"5774e681e719e01900625a75","githubsync":"","project":"5773dcfc255e820e00e1cd4d","version":{"_id":"5773dcfc255e820e00e1cd50","__v":26,"project":"5773dcfc255e820e00e1cd4d","createdAt":"2016-06-29T14:36:44.812Z","releaseDate":"2016-06-29T14:36:44.812Z","categories":["5773dcfc255e820e00e1cd51","5773df36904b0c0e00ef05ff","577baf92451b1e0e006075ac","577bb183b7ee4a0e007c4e8d","577ce77a1cf3cb0e0048e5ea","577d11865fd4de0e00cc3dab","578e62792c3c790e00937597","578f4fd98335ca0e006d5c84","578f5e5c3d04570e00976ebb","57bc35f7531e000e0075d118","57f801b3760f3a1700219ebb","5804d55d1642890f00803623","581c8d55c0dc651900aa9350","589dcf8ba8c63b3b00c3704f","594cebadd8a2f7001b0b53b2","59a562f46a5d8c00238e309a","5a2aa096e25025003c582b58","5a2e79566c771d003ca0acd4","5a3a5166142db90026f24007","5a3a52b5bcc254001c4bf152","5a3a574a2be213002675c6d2","5a3a66bb2be213002675cb73","5a3a6e4854faf60030b63159","5c8a68278e883901341de571","5cb9971e57bf020024523c7b","5cbf1683e2a36d01d5012ecd"],"is_deprecated":false,"is_hidden":false,"is_beta":false,"is_stable":true,"codename":"","version_clean":"1.0.0","version":"1.0"},"parentDoc":null,"category":{"_id":"5773df36904b0c0e00ef05ff","version":"5773dcfc255e820e00e1cd50","__v":0,"project":"5773dcfc255e820e00e1cd4d","sync":{"url":"","isSync":false},"reference":false,"createdAt":"2016-06-29T14:46:14.277Z","from_sync":false,"order":12,"slug":"api","title":"Cavatica API"},"user":"575e85ac41c8ba0e00259a44","__v":4,"updates":[],"next":{"pages":[],"description":""},"createdAt":"2016-06-30T09:29:37.690Z","link_external":false,"link_url":"","sync_unique":"","hidden":false,"api":{"examples":{"codes":[]},"method":"put","results":{"codes":[]},"settings":"","auth":"required","params":[],"url":""},"isReference":false,"order":30,"body":"This call changes a project member's permissions for a specified project.\n\nUsers may have the following permissions on Cavatica:\n  * Read\n  * Write\n  * Copy\n  * Execute\n  * Admin\n\nFor more information, see the documentation on [setting project member permissions](doc:modify-a-project-members-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 Cavatica 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://cavatica-api.sbgenomics.com/v2/projects/{project_owner}/{project}/members/{username}/permissions\",\n      \"language\": \"text\",\n      \"name\": \"API 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: cavatica-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://cavatica-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\\\">_required_</span>\",\n    \"0-1\": \"Your Cavatica [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 Cavatica 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 Cavatica-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]\n<div align=\"right\"><a href=\"#top\">top</a></div>\n\n<hr>","excerpt":"/projects/{project_owner}/{project}/members/{username}/permissions\n\nFor general information on the API, including formatting, parameters, and pagination, please see the [API Overview](the-api).","slug":"overwrite-a-project-members-permissions","type":"endpoint","title":"Overwrite a project member's permissions"}

putOverwrite a project member's permissions

/projects/{project_owner}/{project}/members/{username}/permissions For general information on the API, including formatting, parameters, and pagination, please see the [API Overview](the-api).

This call changes a project member's permissions for a specified project. Users may have the following permissions on Cavatica: * Read * Write * Copy * Execute * Admin For more information, see the documentation on [setting project member permissions](doc:modify-a-project-members-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 Cavatica 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://cavatica-api.sbgenomics.com/v2/projects/{project_owner}/{project}/members/{username}/permissions", "language": "text", "name": "API path" } ] } [/block] ##Request ###Example request [block:code] { "codes": [ { "code": "PUT /v2/projects/rfranklin/my-project/members/crick/permissions HTTP/1.1\nHost: cavatica-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://cavatica-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\">_required_</span>", "0-1": "Your Cavatica [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 Cavatica 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 Cavatica-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] <div align="right"><a href="#top">top</a></div> <hr>