

# UpdateFlowPermissions
<a name="API_UpdateFlowPermissions"></a>

Updates permissions against principals on a flow.

## Request Syntax
<a name="API_UpdateFlowPermissions_RequestSyntax"></a>

```
PUT /accounts/{{AwsAccountId}}/flows/{{FlowId}}/permissions HTTP/1.1
Content-type: application/json

{
   "GrantPermissions": [ 
      { 
         "Actions": [ "{{string}}" ],
         "Principal": "{{string}}"
      }
   ],
   "RevokePermissions": [ 
      { 
         "Actions": [ "{{string}}" ],
         "Principal": "{{string}}"
      }
   ]
}
```

## URI Request Parameters
<a name="API_UpdateFlowPermissions_RequestParameters"></a>

The request uses the following URI parameters.

 ** [AwsAccountId](#API_UpdateFlowPermissions_RequestSyntax) **   <a name="QS-UpdateFlowPermissions-request-uri-AwsAccountId"></a>
The ID of the Amazon account that contains the flow you are updating permissions against.  
Length Constraints: Fixed length of 12.  
Pattern: `[0-9]{12}`   
Required: Yes

 ** [FlowId](#API_UpdateFlowPermissions_RequestSyntax) **   <a name="QS-UpdateFlowPermissions-request-uri-FlowId"></a>
The unique identifier of the flow to update permissions for.  
Pattern: `[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}`   
Required: Yes

## Request Body
<a name="API_UpdateFlowPermissions_RequestBody"></a>

The request accepts the following data in JSON format.

 ** [GrantPermissions](#API_UpdateFlowPermissions_RequestSyntax) **   <a name="QS-UpdateFlowPermissions-request-GrantPermissions"></a>
The permissions that you want to grant on this flow.  
Type: Array of [Permission](API_Permission.md) objects  
Array Members: Minimum number of 0 items. Maximum number of 100 items.  
Required: No

 ** [RevokePermissions](#API_UpdateFlowPermissions_RequestSyntax) **   <a name="QS-UpdateFlowPermissions-request-RevokePermissions"></a>
The permissions that you want to revoke from this flow.  
Type: Array of [Permission](API_Permission.md) objects  
Array Members: Minimum number of 0 items. Maximum number of 100 items.  
Required: No

## Response Syntax
<a name="API_UpdateFlowPermissions_ResponseSyntax"></a>

```
HTTP/1.1 {{Status}}
Content-type: application/json

{
   "Arn": "string",
   "FlowId": "string",
   "Permissions": [ 
      { 
         "Actions": [ "string" ],
         "Principal": "string"
      }
   ],
   "RequestId": "string"
}
```

## Response Elements
<a name="API_UpdateFlowPermissions_ResponseElements"></a>

If the action is successful, the service sends back the following HTTP response.

 ** [Status](#API_UpdateFlowPermissions_ResponseSyntax) **   <a name="QS-UpdateFlowPermissions-response-Status"></a>
The HTTP status of the request.

The following data is returned in JSON format by the service.

 ** [Arn](#API_UpdateFlowPermissions_ResponseSyntax) **   <a name="QS-UpdateFlowPermissions-response-Arn"></a>
The Amazon Resource Name (ARN) of the flow you are updating permissions against.  
Type: String

 ** [FlowId](#API_UpdateFlowPermissions_ResponseSyntax) **   <a name="QS-UpdateFlowPermissions-response-FlowId"></a>
The unique identifier of the flow with updated permissions.  
Type: String  
Pattern: `[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}` 

 ** [Permissions](#API_UpdateFlowPermissions_ResponseSyntax) **   <a name="QS-UpdateFlowPermissions-response-Permissions"></a>
The permissions on the flow after they are updated.  
Type: Array of [Permission](API_Permission.md) objects

 ** [RequestId](#API_UpdateFlowPermissions_ResponseSyntax) **   <a name="QS-UpdateFlowPermissions-response-RequestId"></a>
The Amazon request ID for this operation.  
Type: String

## Errors
<a name="API_UpdateFlowPermissions_Errors"></a>

For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AccessDeniedException **   
You don't have access to this item. The provided credentials couldn't be validated. You might not be authorized to carry out the request. Make sure that your account is authorized to use the Amazon Quick Sight service, that your policies have the correct permissions, and that you are using the correct credentials.    
 ** RequestId **   
The Amazon request ID for this request.
HTTP Status Code: 401

 ** InternalFailureException **   
An internal failure occurred.    
 ** RequestId **   
The Amazon request ID for this request.
HTTP Status Code: 500

 ** InvalidParameterValueException **   
One or more parameters has a value that isn't valid.    
 ** RequestId **   
The Amazon request ID for this request.
HTTP Status Code: 400

 ** ThrottlingException **   
Access is throttled.    
 ** RequestId **   
The Amazon request ID for this request.
HTTP Status Code: 429

## See Also
<a name="API_UpdateFlowPermissions_SeeAlso"></a>

For more information about using this API in one of the language-specific Amazon SDKs, see the following:
+  [Amazon Command Line Interface V2](https://docs.amazonaws.cn/goto/cli2/quicksight-2018-04-01/UpdateFlowPermissions) 
+  [Amazon SDK for .NET V4](https://docs.amazonaws.cn/goto/DotNetSDKV4/quicksight-2018-04-01/UpdateFlowPermissions) 
+  [Amazon SDK for C\+\+](https://docs.amazonaws.cn/goto/SdkForCpp/quicksight-2018-04-01/UpdateFlowPermissions) 
+  [Amazon SDK for Go v2](https://docs.amazonaws.cn/goto/SdkForGoV2/quicksight-2018-04-01/UpdateFlowPermissions) 
+  [Amazon SDK for Java V2](https://docs.amazonaws.cn/goto/SdkForJavaV2/quicksight-2018-04-01/UpdateFlowPermissions) 
+  [Amazon SDK for JavaScript V3](https://docs.amazonaws.cn/goto/SdkForJavaScriptV3/quicksight-2018-04-01/UpdateFlowPermissions) 
+  [Amazon SDK for Kotlin](https://docs.amazonaws.cn/goto/SdkForKotlin/quicksight-2018-04-01/UpdateFlowPermissions) 
+  [Amazon SDK for PHP V3](https://docs.amazonaws.cn/goto/SdkForPHPV3/quicksight-2018-04-01/UpdateFlowPermissions) 
+  [Amazon SDK for Python](https://docs.amazonaws.cn/goto/boto3/quicksight-2018-04-01/UpdateFlowPermissions) 
+  [Amazon SDK for Ruby V3](https://docs.amazonaws.cn/goto/SdkForRubyV3/quicksight-2018-04-01/UpdateFlowPermissions) 