

# UpdateContact
<a name="API_UpdateContact"></a>

Updates a contact's preferences for a list.

**Note**  
You must specify all existing topic preferences in the `TopicPreferences` object, not just the ones that need updating; otherwise, all your existing preferences will be removed.

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

```
PUT /v2/email/contact-lists/ContactListName/contacts/EmailAddress HTTP/1.1
Content-type: application/json

{
   "AttributesData": "string",
   "TopicPreferences": [ 
      { 
         "SubscriptionStatus": "string",
         "TopicName": "string"
      }
   ],
   "UnsubscribeAll": boolean
}
```

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

The request uses the following URI parameters.

 ** [ContactListName](#API_UpdateContact_RequestSyntax) **   <a name="SES-UpdateContact-request-uri-ContactListName"></a>
The name of the contact list.  
Required: Yes

 ** [EmailAddress](#API_UpdateContact_RequestSyntax) **   <a name="SES-UpdateContact-request-uri-EmailAddress"></a>
The contact's email address.  
Required: Yes

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

The request accepts the following data in JSON format.

 ** [AttributesData](#API_UpdateContact_RequestSyntax) **   <a name="SES-UpdateContact-request-AttributesData"></a>
The attribute data attached to a contact.  
Type: String  
Required: No

 ** [TopicPreferences](#API_UpdateContact_RequestSyntax) **   <a name="SES-UpdateContact-request-TopicPreferences"></a>
The contact's preference for being opted-in to or opted-out of a topic.  
Type: Array of [TopicPreference](API_TopicPreference.md) objects  
Required: No

 ** [UnsubscribeAll](#API_UpdateContact_RequestSyntax) **   <a name="SES-UpdateContact-request-UnsubscribeAll"></a>
A boolean value status noting if the contact is unsubscribed from all contact list topics.  
Type: Boolean  
Required: No

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

```
HTTP/1.1 200
```

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

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

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

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

 ** BadRequestException **   
The input you provided is invalid.  
HTTP Status Code: 400

 ** ConcurrentModificationException **   
The resource is being modified by another operation or thread.  
HTTP Status Code: 500

 ** NotFoundException **   
The resource you attempted to access doesn't exist.  
HTTP Status Code: 404

 ** TooManyRequestsException **   
Too many requests have been made to the operation.  
HTTP Status Code: 429

## See Also
<a name="API_UpdateContact_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/sesv2-2019-09-27/UpdateContact) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/sesv2-2019-09-27/UpdateContact) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/sesv2-2019-09-27/UpdateContact) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/sesv2-2019-09-27/UpdateContact) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/sesv2-2019-09-27/UpdateContact) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/sesv2-2019-09-27/UpdateContact) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/sesv2-2019-09-27/UpdateContact) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/sesv2-2019-09-27/UpdateContact) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/sesv2-2019-09-27/UpdateContact) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/sesv2-2019-09-27/UpdateContact) 