

# UpdateConnectorProfile
<a name="API_UpdateConnectorProfile"></a>

 Updates a given connector profile associated with your account. 

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

```
POST /update-connector-profile HTTP/1.1
Content-type: application/json

{
   "clientToken": "{{string}}",
   "connectionMode": "{{string}}",
   "connectorProfileConfig": { 
      "connectorProfileCredentials": { 
         "Amplitude": { 
            "apiKey": "{{string}}",
            "secretKey": "{{string}}"
         },
         "CustomConnector": { 
            "apiKey": { 
               "apiKey": "{{string}}",
               "apiSecretKey": "{{string}}"
            },
            "authenticationType": "{{string}}",
            "basic": { 
               "password": "{{string}}",
               "username": "{{string}}"
            },
            "custom": { 
               "credentialsMap": { 
                  "{{string}}" : "{{string}}" 
               },
               "customAuthenticationType": "{{string}}"
            },
            "oauth2": { 
               "accessToken": "{{string}}",
               "clientId": "{{string}}",
               "clientSecret": "{{string}}",
               "oAuthRequest": { 
                  "authCode": "{{string}}",
                  "redirectUri": "{{string}}"
               },
               "refreshToken": "{{string}}"
            }
         },
         "Datadog": { 
            "apiKey": "{{string}}",
            "applicationKey": "{{string}}"
         },
         "Dynatrace": { 
            "apiToken": "{{string}}"
         },
         "GoogleAnalytics": { 
            "accessToken": "{{string}}",
            "clientId": "{{string}}",
            "clientSecret": "{{string}}",
            "oAuthRequest": { 
               "authCode": "{{string}}",
               "redirectUri": "{{string}}"
            },
            "refreshToken": "{{string}}"
         },
         "Honeycode": { 
            "accessToken": "{{string}}",
            "oAuthRequest": { 
               "authCode": "{{string}}",
               "redirectUri": "{{string}}"
            },
            "refreshToken": "{{string}}"
         },
         "InforNexus": { 
            "accessKeyId": "{{string}}",
            "datakey": "{{string}}",
            "secretAccessKey": "{{string}}",
            "userId": "{{string}}"
         },
         "Marketo": { 
            "accessToken": "{{string}}",
            "clientId": "{{string}}",
            "clientSecret": "{{string}}",
            "oAuthRequest": { 
               "authCode": "{{string}}",
               "redirectUri": "{{string}}"
            }
         },
         "Pardot": { 
            "accessToken": "{{string}}",
            "clientCredentialsArn": "{{string}}",
            "oAuthRequest": { 
               "authCode": "{{string}}",
               "redirectUri": "{{string}}"
            },
            "refreshToken": "{{string}}"
         },
         "Redshift": { 
            "password": "{{string}}",
            "username": "{{string}}"
         },
         "Salesforce": { 
            "accessToken": "{{string}}",
            "clientCredentialsArn": "{{string}}",
            "jwtToken": "{{string}}",
            "oAuth2GrantType": "{{string}}",
            "oAuthRequest": { 
               "authCode": "{{string}}",
               "redirectUri": "{{string}}"
            },
            "refreshToken": "{{string}}"
         },
         "SAPOData": { 
            "basicAuthCredentials": { 
               "password": "{{string}}",
               "username": "{{string}}"
            },
            "oAuthCredentials": { 
               "accessToken": "{{string}}",
               "clientId": "{{string}}",
               "clientSecret": "{{string}}",
               "oAuthRequest": { 
                  "authCode": "{{string}}",
                  "redirectUri": "{{string}}"
               },
               "refreshToken": "{{string}}"
            }
         },
         "ServiceNow": { 
            "oAuth2Credentials": { 
               "accessToken": "{{string}}",
               "clientId": "{{string}}",
               "clientSecret": "{{string}}",
               "oAuthRequest": { 
                  "authCode": "{{string}}",
                  "redirectUri": "{{string}}"
               },
               "refreshToken": "{{string}}"
            },
            "password": "{{string}}",
            "username": "{{string}}"
         },
         "Singular": { 
            "apiKey": "{{string}}"
         },
         "Slack": { 
            "accessToken": "{{string}}",
            "clientId": "{{string}}",
            "clientSecret": "{{string}}",
            "oAuthRequest": { 
               "authCode": "{{string}}",
               "redirectUri": "{{string}}"
            }
         },
         "Snowflake": { 
            "password": "{{string}}",
            "username": "{{string}}"
         },
         "Trendmicro": { 
            "apiSecretKey": "{{string}}"
         },
         "Veeva": { 
            "password": "{{string}}",
            "username": "{{string}}"
         },
         "Zendesk": { 
            "accessToken": "{{string}}",
            "clientId": "{{string}}",
            "clientSecret": "{{string}}",
            "oAuthRequest": { 
               "authCode": "{{string}}",
               "redirectUri": "{{string}}"
            }
         }
      },
      "connectorProfileProperties": { 
         "Amplitude": { 
         },
         "CustomConnector": { 
            "oAuth2Properties": { 
               "oAuth2GrantType": "{{string}}",
               "tokenUrl": "{{string}}",
               "tokenUrlCustomProperties": { 
                  "{{string}}" : "{{string}}" 
               }
            },
            "profileProperties": { 
               "{{string}}" : "{{string}}" 
            }
         },
         "Datadog": { 
            "instanceUrl": "{{string}}"
         },
         "Dynatrace": { 
            "instanceUrl": "{{string}}"
         },
         "GoogleAnalytics": { 
         },
         "Honeycode": { 
         },
         "InforNexus": { 
            "instanceUrl": "{{string}}"
         },
         "Marketo": { 
            "instanceUrl": "{{string}}"
         },
         "Pardot": { 
            "businessUnitId": "{{string}}",
            "instanceUrl": "{{string}}",
            "isSandboxEnvironment": {{boolean}}
         },
         "Redshift": { 
            "bucketName": "{{string}}",
            "bucketPrefix": "{{string}}",
            "clusterIdentifier": "{{string}}",
            "dataApiRoleArn": "{{string}}",
            "databaseName": "{{string}}",
            "databaseUrl": "{{string}}",
            "isRedshiftServerless": {{boolean}},
            "roleArn": "{{string}}",
            "workgroupName": "{{string}}"
         },
         "Salesforce": { 
            "instanceUrl": "{{string}}",
            "isSandboxEnvironment": {{boolean}},
            "usePrivateLinkForMetadataAndAuthorization": {{boolean}}
         },
         "SAPOData": { 
            "applicationHostUrl": "{{string}}",
            "applicationServicePath": "{{string}}",
            "clientNumber": "{{string}}",
            "disableSSO": {{boolean}},
            "logonLanguage": "{{string}}",
            "oAuthProperties": { 
               "authCodeUrl": "{{string}}",
               "oAuthScopes": [ "{{string}}" ],
               "tokenUrl": "{{string}}"
            },
            "portNumber": {{number}},
            "privateLinkServiceName": "{{string}}"
         },
         "ServiceNow": { 
            "instanceUrl": "{{string}}"
         },
         "Singular": { 
         },
         "Slack": { 
            "instanceUrl": "{{string}}"
         },
         "Snowflake": { 
            "accountName": "{{string}}",
            "bucketName": "{{string}}",
            "bucketPrefix": "{{string}}",
            "privateLinkServiceName": "{{string}}",
            "region": "{{string}}",
            "stage": "{{string}}",
            "warehouse": "{{string}}"
         },
         "Trendmicro": { 
         },
         "Veeva": { 
            "instanceUrl": "{{string}}"
         },
         "Zendesk": { 
            "instanceUrl": "{{string}}"
         }
      }
   },
   "connectorProfileName": "{{string}}"
}
```

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

The request does not use any URI parameters.

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

The request accepts the following data in JSON format.

 ** [clientToken](#API_UpdateConnectorProfile_RequestSyntax) **   <a name="appflow-UpdateConnectorProfile-request-clientToken"></a>
The `clientToken` parameter is an idempotency token. It ensures that your `UpdateConnectorProfile` request completes only once. You choose the value to pass. For example, if you don't receive a response from your request, you can safely retry the request with the same `clientToken` parameter value.  
If you omit a `clientToken` value, the AWS SDK that you are using inserts a value for you. This way, the SDK can safely retry requests multiple times after a network error. You must provide your own value for other use cases.  
If you specify input parameters that differ from your first request, an error occurs. If you use a different value for `clientToken`, Amazon AppFlow considers it a new call to `UpdateConnectorProfile`. The token is active for 8 hours.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 256.  
Pattern: `[ -~]+`   
Required: No

 ** [connectionMode](#API_UpdateConnectorProfile_RequestSyntax) **   <a name="appflow-UpdateConnectorProfile-request-connectionMode"></a>
 Indicates the connection mode and if it is public or private.   
Type: String  
Valid Values: `Public | Private`   
Required: Yes

 ** [connectorProfileConfig](#API_UpdateConnectorProfile_RequestSyntax) **   <a name="appflow-UpdateConnectorProfile-request-connectorProfileConfig"></a>
 Defines the connector-specific profile configuration and credentials.   
Type: [ConnectorProfileConfig](API_ConnectorProfileConfig.md) object  
Required: Yes

 ** [connectorProfileName](#API_UpdateConnectorProfile_RequestSyntax) **   <a name="appflow-UpdateConnectorProfile-request-connectorProfileName"></a>
 The name of the connector profile and is unique for each `ConnectorProfile` in the AWS account.   
Type: String  
Length Constraints: Maximum length of 256.  
Pattern: `[\w/!@#+=.-]+`   
Required: Yes

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

```
HTTP/1.1 200
Content-type: application/json

{
   "connectorProfileArn": "string"
}
```

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

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

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

 ** [connectorProfileArn](#API_UpdateConnectorProfile_ResponseSyntax) **   <a name="appflow-UpdateConnectorProfile-response-connectorProfileArn"></a>
 The Amazon Resource Name (ARN) of the connector profile.   
Type: String  
Length Constraints: Maximum length of 512.  
Pattern: `arn:aws:appflow:.*:[0-9]+:.*` 

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

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

 ** ConflictException **   
 There was a conflict when processing the request (for example, a flow with the given name already exists within the account. Check for conflicting resource names and try again.   
HTTP Status Code: 409

 ** ConnectorAuthenticationException **   
 An error occurred when authenticating with the connector endpoint.   
HTTP Status Code: 401

 ** InternalServerException **   
 An internal service error occurred during the processing of your request. Try again later.   
HTTP Status Code: 500

 ** ResourceNotFoundException **   
 The resource specified in the request (such as the source or destination connector profile) is not found.   
HTTP Status Code: 404

 ** ValidationException **   
 The request has invalid or missing parameters.   
HTTP Status Code: 400

## Examples
<a name="API_UpdateConnectorProfile_Examples"></a>

### UpdateConnectorProfile example using Salesforce
<a name="API_UpdateConnectorProfile_Example_1"></a>

This example shows a sample request and response for the `UpdateConnectorProfile` API using Salesforce.

#### Sample Request
<a name="API_UpdateConnectorProfile_Example_1_Request"></a>

```
{
  "connectorProfileName": "Connector_Profile_Name_value",
  "kmsArn": null,
  "connectorType": "Salesforce",
  "connectionMode": "Public",
  "connectorProfileConfig":
  {
    "connectorProfileProperties":
    {
      "salesforce":
      {
        "instanceUrl": "Instance_url_value",
        "isSandboxEnvironment": false
      }
    },
    "connectorProfileCredentials":
    {
      "salesforce":
      {
        "accessToken": "<AccessToken>",
        "refreshToken": "<RefreshToken>",
        "oauthRequest":
        {
          "authCode": null,
          "redirectUri": null
        }
      }
    }
  }
}
```

#### Sample Response
<a name="API_UpdateConnectorProfile_Example_1_Response"></a>

```
{
  "connectorProfileArn": "arn:aws:appflow:region:<AccountId>:connectorprofile/Connector_Profile_Name"
}
```

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

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/appflow-2020-08-23/UpdateConnectorProfile) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/appflow-2020-08-23/UpdateConnectorProfile) 
+  [AWS SDK for C\+\+](https://docs.aws.amazon.com/goto/SdkForCpp/appflow-2020-08-23/UpdateConnectorProfile) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/appflow-2020-08-23/UpdateConnectorProfile) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/appflow-2020-08-23/UpdateConnectorProfile) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/appflow-2020-08-23/UpdateConnectorProfile) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/appflow-2020-08-23/UpdateConnectorProfile) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/appflow-2020-08-23/UpdateConnectorProfile) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/appflow-2020-08-23/UpdateConnectorProfile) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/appflow-2020-08-23/UpdateConnectorProfile) 