

# Amazon CloudSearch API Reference
<a name="api-ref"></a>

You use three APIs to interact with Amazon CloudSearch:
+ [Configuration API](configuration-api.md)—Set up and manage your search domain.
+ [Document Service API](document-service-api.md)—Submit the data you want to search.
+ [Search API](search-api.md)—Search your domain.

# Configuration API Reference for Amazon CloudSearch
<a name="configuration-api"></a>

You use the Amazon CloudSearch Configuration API to create, configure, and manage search domains. For more information configuring search domains, see [Creating and Managing Search Domains](creating-managing-domains.md).

 The other APIs you use to interact with Amazon CloudSearch are: 
+ [Document Service API Reference](document-service-api.md)—Submit the data you want to search.
+ [Search API Reference](search-api.md)—Search your domain.

**Topics**
+ [

# Submitting Configuration Requests in Amazon CloudSearch
](submitting-configuration-requests.md)
+ [

# Actions
](API_Operations.md)
+ [

# Data Types
](API_Types.md)
+ [

# Common Parameters
](CommonParameters.md)
+ [

# Common Errors
](CommonErrors.md)

# Submitting Configuration Requests in Amazon CloudSearch
<a name="submitting-configuration-requests"></a>

**Important**  
The easiest way to submit configuration requests is to use the Amazon CloudSearch console, Amazon CloudSearch command line tools, or the AWS SDK for Java, JavaScript, .NET, PHP, Ruby, or Python (Boto). The command line tools and SDKs handle the signing process for you and ensure that Amazon CloudSearch configuration requests are properly formed. For more information about the AWS SDKs, see [AWS Software Development Kits](http://aws.amazon.com/code). 

 You submit Amazon CloudSearch configuration requests to the Amazon CloudSearch endpoint for your region using the AWS Query protocol. For the current list of supported regions and endpoints, see [Regions and Endpoints](https://docs.aws.amazon.com/general/latest/gr/rande.html#cloudsearch_region).

 AWS Query requests are HTTP or HTTPS requests submitted via HTTP GET or POST with a Query parameter named Action. You must specify the API version in all configuration requests and that version must match the API version specified when the domain was created.

You must include authorization parameters and a digital signature in every request. Amazon CloudSearch supports AWS Signature Version 4. For detailed signing instructions, see [Signature V4 Signing Process](https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html) in the AWS General Reference.

**Note**  
Amazon CloudSearch throttles excessive requests to the configuration service. Throttling occurs *by action*, so excessive `DescribeDomains` requests don't cause Amazon CloudSearch to throttle `DescribeIndexFields` requests. The request limit changes based on the needs of the service, but allows many calls to each action per hour.

## Structure of a Configuration Request
<a name="submitting-configuration-requests-structure"></a>

This reference shows Amazon CloudSearch configuration requests as URLs, which can be used directly in a browser. (Although the GET requests are shown as URLs, the parameter values are shown unencoded to make them easier to read. Keep in mind that you must URL encode parameter values when submitting requests.) The URL contains three parts:
+ Endpoint—the Web service entry point to act on, `cloudsearch.us-east-1.amazonaws.com`. 
+ Action—the Amazon CloudSearch configuration action you want to perform. For a complete list of actions, see [Actions](API_Operations.md). 
+ Parameters—any request parameters required for the specified action. Each query request must also include some common parameters to handle authentication. For more information, see [Request Authentication](#configuration-request-authentication).

You must specify the `Version` parameter in every Amazon CloudSearch configuration request. The current Amazon CloudSearch API version is 2013-01-01.

For example, the following GET request creates a new search domain called *movies*:

```
https://cloudsearch.us-east-1.amazonaws.com
?Action=CreateDomain
&DomainName=movies
&Version=2013-01-01
&X-Amz-Algorithm=AWS4-HMAC-SHA256
&X-Amz-Credential=AKIAIOSFODNN7EXAMPLE/20120712/us-east-1/cloudsearch/aws4
_request
&X-Amz-Date=2012-07-12T21:41:29.094Z
&X-Amz-SignedHeaders=host
&X-Amz-Signature=c7600a00fea082dac002b247f9d6812f25195fbaf7f0a6fc4ce08a39666c6a10
3c8dcb
```

## Request Authentication
<a name="configuration-request-authentication"></a>

Requests submitted to the Configuration API are authenticated using your AWS access keys. You must include authorization parameters and a digital signature in every request. Amazon CloudSearch supports AWS Signature Version 4. For detailed signing instructions, see [Signature V4 Signing Process](https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html) in the AWS General Reference.

**Note**  
If you are just getting started signing your own AWS requests, take a look at how the SDKs implement signing. The source for most of the AWS SDKs is available at [https://github.com/aws](https://github.com/aws).

For example, to construct a `CreateDomain` request, you need the following information:

```
Region name: us-east-1
Service name: cloudsearch
API version: 2013-01-01
Date: 2014-03-12T21:41:29.094Z
Access key: AKIAIOSFODNN7EXAMPLE
Secret key: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
Action: CreateDomain
Action Parameters: DomainName=movies
```

The canonical query string for a `CreateDomain` request looks like this: 

```
Action=CreateDomain
&DomainName=movies
&Version=2013-01-01
&X-Amz-Algorithm=AWS4-HMAC-SHA256
&X-Amz-Credential=AKIAIOSFODNN7EXAMPLE/20120712/us-east-1/cloudsearch/aws4
_request
&X-Amz-Date=2012-07-12T21:41:29.094Z
&X-Amz-SignedHeaders=host
```

The final signed request looks like this: 

```
https://cloudsearch.us-east-1.amazonaws.com
?Action=CreateDomain
&DomainName=movies
&Version=2013-01-01
&X-Amz-Algorithm=AWS4-HMAC-SHA256
&X-Amz-Credential=AKIAIOSFODNN7EXAMPLE/20120712/us-east-1/cloudsearch/aws4
_request
&X-Amz-Date=2014-03-12T21:41:29.094Z
&X-Amz-SignedHeaders=host
&X-Amz-Signature=c7600a00fea082dac002b247f9d6812f25195fbaf7f0a6fc4ce08a39666c6a10
```

# Actions
<a name="API_Operations"></a>

The following actions are supported:
+  [BuildSuggesters](API_BuildSuggesters.md) 
+  [CreateDomain](API_CreateDomain.md) 
+  [DefineAnalysisScheme](API_DefineAnalysisScheme.md) 
+  [DefineExpression](API_DefineExpression.md) 
+  [DefineIndexField](API_DefineIndexField.md) 
+  [DefineSuggester](API_DefineSuggester.md) 
+  [DeleteAnalysisScheme](API_DeleteAnalysisScheme.md) 
+  [DeleteDomain](API_DeleteDomain.md) 
+  [DeleteExpression](API_DeleteExpression.md) 
+  [DeleteIndexField](API_DeleteIndexField.md) 
+  [DeleteSuggester](API_DeleteSuggester.md) 
+  [DescribeAnalysisSchemes](API_DescribeAnalysisSchemes.md) 
+  [DescribeAvailabilityOptions](API_DescribeAvailabilityOptions.md) 
+  [DescribeDomains](API_DescribeDomains.md) 
+  [DescribeExpressions](API_DescribeExpressions.md) 
+  [DescribeIndexFields](API_DescribeIndexFields.md) 
+  [DescribeScalingParameters](API_DescribeScalingParameters.md) 
+  [DescribeServiceAccessPolicies](API_DescribeServiceAccessPolicies.md) 
+  [DescribeSuggesters](API_DescribeSuggesters.md) 
+  [IndexDocuments](API_IndexDocuments.md) 
+  [ListDomainNames](API_ListDomainNames.md) 
+  [UpdateAvailabilityOptions](API_UpdateAvailabilityOptions.md) 
+  [UpdateScalingParameters](API_UpdateScalingParameters.md) 
+  [UpdateServiceAccessPolicies](API_UpdateServiceAccessPolicies.md) 

# BuildSuggesters
<a name="API_BuildSuggesters"></a>

## Description
<a name="API_BuildSuggesters_Description"></a>

Indexes the search suggestions. For more information, see [Configuring Suggesters](http://docs.aws.amazon.com/cloudsearch/latest/developerguide/getting-suggestions.html#configuring-suggesters) in the *Amazon CloudSearch Developer Guide*.

## Request Parameters
<a name="API_BuildSuggesters_RequestParameters"></a>

 For information about the common parameters that all actions use, see [Common Parameters](CommonParameters.md). 

 **DomainName**   
A string that represents the name of a domain. Domain names are unique across the domains owned by an account within an AWS region. Domain names start with a letter or number and can contain the following characters: a-z (lowercase), 0-9, and - (hyphen).  
Type: String  
 Length constraints: Minimum length of 3. Maximum length of 28.   
 Required: Yes 

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

 The following element is returned in a structure named `BuildSuggestersResult`. 

 **FieldNames**   
A list of field names.  
Type: String list   
 Length constraints: Minimum length of 1. Maximum length of 64. 

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

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

 **Base**   
An error occurred while processing the request.  
 HTTP Status Code: 400

 **Internal**   
An internal error occurred while processing the request. If this problem persists, report an issue from the [Service Health Dashboard](http://status.aws.amazon.com/).  
 HTTP Status Code: 500

 **ResourceNotFound**   
The request was rejected because it attempted to reference a resource that does not exist.  
 HTTP Status Code: 409

# CreateDomain
<a name="API_CreateDomain"></a>

## Description
<a name="API_CreateDomain_Description"></a>

Creates a new search domain. For more information, see [Creating a Search Domain](http://docs.aws.amazon.com/cloudsearch/latest/developerguide/creating-domains.html) in the *Amazon CloudSearch Developer Guide*.

## Request Parameters
<a name="API_CreateDomain_RequestParameters"></a>

 For information about the common parameters that all actions use, see [Common Parameters](CommonParameters.md). 

 **DomainName**   
A name for the domain you are creating. Allowed characters are a-z (lower-case letters), 0-9, and hyphen (-). Domain names must start with a letter or number and be at least 3 and no more than 28 characters long.  
Type: String  
 Length constraints: Minimum length of 3. Maximum length of 28.   
 Required: Yes 

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

 The following element is returned in a structure named `CreateDomainResult`. 

 **DomainStatus**   
The current status of the search domain.  
Type: [DomainStatus](API_DomainStatus.md) 

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

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

 **Base**   
An error occurred while processing the request.  
 HTTP Status Code: 400

 **Internal**   
An internal error occurred while processing the request. If this problem persists, report an issue from the [Service Health Dashboard](http://status.aws.amazon.com/).  
 HTTP Status Code: 500

 **LimitExceeded**   
The request was rejected because a resource limit has already been met.  
 HTTP Status Code: 409

# DefineAnalysisScheme
<a name="API_DefineAnalysisScheme"></a>

## Description
<a name="API_DefineAnalysisScheme_Description"></a>

Configures an analysis scheme that can be applied to a `text` or `text-array` field to define language-specific text processing options. For more information, see [Configuring Analysis Schemes](http://docs.aws.amazon.com/cloudsearch/latest/developerguide/configuring-analysis-schemes.html) in the *Amazon CloudSearch Developer Guide*.

## Request Parameters
<a name="API_DefineAnalysisScheme_RequestParameters"></a>

 For information about the common parameters that all actions use, see [Common Parameters](CommonParameters.md). 

 **AnalysisScheme**   
Configuration information for an analysis scheme. Each analysis scheme has a unique name and specifies the language of the text to be processed. The following options can be configured for an analysis scheme: `Synonyms`, `Stopwords`, `StemmingDictionary`, `JapaneseTokenizationDictionary` and `AlgorithmicStemming`.  
Type: [AnalysisScheme](API_AnalysisScheme.md)   
 Required: Yes 

 **DomainName**   
A string that represents the name of a domain. Domain names are unique across the domains owned by an account within an AWS region. Domain names start with a letter or number and can contain the following characters: a-z (lowercase), 0-9, and - (hyphen).  
Type: String  
 Length constraints: Minimum length of 3. Maximum length of 28.   
 Required: Yes 

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

 The following element is returned in a structure named `DefineAnalysisSchemeResult`. 

 **AnalysisScheme**   
The status and configuration of an `AnalysisScheme`.  
Type: [AnalysisSchemeStatus](API_AnalysisSchemeStatus.md) 

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

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

 **Base**   
An error occurred while processing the request.  
 HTTP Status Code: 400

 **Internal**   
An internal error occurred while processing the request. If this problem persists, report an issue from the [Service Health Dashboard](http://status.aws.amazon.com/).  
 HTTP Status Code: 500

 **InvalidType**   
The request was rejected because it specified an invalid type definition.  
 HTTP Status Code: 409

 **LimitExceeded**   
The request was rejected because a resource limit has already been met.  
 HTTP Status Code: 409

 **ResourceNotFound**   
The request was rejected because it attempted to reference a resource that does not exist.  
 HTTP Status Code: 409

# DefineExpression
<a name="API_DefineExpression"></a>

## Description
<a name="API_DefineExpression_Description"></a>

Configures an ` Expression ` for the search domain. Used to create new expressions and modify existing ones. If the expression exists, the new configuration replaces the old one. For more information, see [Configuring Expressions](http://docs.aws.amazon.com/cloudsearch/latest/developerguide/configuring-expressions.html) in the *Amazon CloudSearch Developer Guide*.

## Request Parameters
<a name="API_DefineExpression_RequestParameters"></a>

 For information about the common parameters that all actions use, see [Common Parameters](CommonParameters.md). 

 **DomainName**   
A string that represents the name of a domain. Domain names are unique across the domains owned by an account within an AWS region. Domain names start with a letter or number and can contain the following characters: a-z (lowercase), 0-9, and - (hyphen).  
Type: String  
 Length constraints: Minimum length of 3. Maximum length of 28.   
 Required: Yes 

 **Expression**   
A named expression that can be evaluated at search time. Can be used to sort the search results, define other expressions, or return computed information in the search results.   
Type: [Expression](API_Expression.md)   
 Required: Yes 

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

 The following element is returned in a structure named `DefineExpressionResult`. 

 **Expression**   
The value of an `Expression` and its current status.  
Type: [ExpressionStatus](API_ExpressionStatus.md) 

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

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

 **Base**   
An error occurred while processing the request.  
 HTTP Status Code: 400

 **Internal**   
An internal error occurred while processing the request. If this problem persists, report an issue from the [Service Health Dashboard](http://status.aws.amazon.com/).  
 HTTP Status Code: 500

 **InvalidType**   
The request was rejected because it specified an invalid type definition.  
 HTTP Status Code: 409

 **LimitExceeded**   
The request was rejected because a resource limit has already been met.  
 HTTP Status Code: 409

 **ResourceNotFound**   
The request was rejected because it attempted to reference a resource that does not exist.  
 HTTP Status Code: 409

# DefineIndexField
<a name="API_DefineIndexField"></a>

## Description
<a name="API_DefineIndexField_Description"></a>

Configures an ` IndexField ` for the search domain. Used to create new fields and modify existing ones. You must specify the name of the domain you are configuring and an index field configuration. The index field configuration specifies a unique name, the index field type, and the options you want to configure for the field. The options you can specify depend on the ` IndexFieldType `. If the field exists, the new configuration replaces the old one. For more information, see [Configuring Index Fields](http://docs.aws.amazon.com/cloudsearch/latest/developerguide/configuring-index-fields.html) in the *Amazon CloudSearch Developer Guide*. 

## Request Parameters
<a name="API_DefineIndexField_RequestParameters"></a>

 For information about the common parameters that all actions use, see [Common Parameters](CommonParameters.md). 

 **DomainName**   
A string that represents the name of a domain. Domain names are unique across the domains owned by an account within an AWS region. Domain names start with a letter or number and can contain the following characters: a-z (lowercase), 0-9, and - (hyphen).  
Type: String  
 Length constraints: Minimum length of 3. Maximum length of 28.   
 Required: Yes 

 **IndexField**   
The index field and field options you want to configure.   
Type: [IndexField](API_IndexField.md)   
 Required: Yes 

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

 The following element is returned in a structure named `DefineIndexFieldResult`. 

 **IndexField**   
The value of an `IndexField` and its current status.  
Type: [IndexFieldStatus](API_IndexFieldStatus.md) 

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

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

 **Base**   
An error occurred while processing the request.  
 HTTP Status Code: 400

 **Internal**   
An internal error occurred while processing the request. If this problem persists, report an issue from the [Service Health Dashboard](http://status.aws.amazon.com/).  
 HTTP Status Code: 500

 **InvalidType**   
The request was rejected because it specified an invalid type definition.  
 HTTP Status Code: 409

 **LimitExceeded**   
The request was rejected because a resource limit has already been met.  
 HTTP Status Code: 409

 **ResourceNotFound**   
The request was rejected because it attempted to reference a resource that does not exist.  
 HTTP Status Code: 409

# DefineSuggester
<a name="API_DefineSuggester"></a>

## Description
<a name="API_DefineSuggester_Description"></a>

Configures a suggester for a domain. A suggester enables you to display possible matches before users finish typing their queries. When you configure a suggester, you must specify the name of the text field you want to search for possible matches and a unique name for the suggester. For more information, see [Getting Search Suggestions](http://docs.aws.amazon.com/cloudsearch/latest/developerguide/getting-suggestions.html) in the *Amazon CloudSearch Developer Guide*.

## Request Parameters
<a name="API_DefineSuggester_RequestParameters"></a>

 For information about the common parameters that all actions use, see [Common Parameters](CommonParameters.md). 

 **DomainName**   
A string that represents the name of a domain. Domain names are unique across the domains owned by an account within an AWS region. Domain names start with a letter or number and can contain the following characters: a-z (lowercase), 0-9, and - (hyphen).  
Type: String  
 Length constraints: Minimum length of 3. Maximum length of 28.   
 Required: Yes 

 **Suggester**   
Configuration information for a search suggester. Each suggester has a unique name and specifies the text field you want to use for suggestions. The following options can be configured for a suggester: `FuzzyMatching`, `SortExpression`.   
Type: [Suggester](API_Suggester.md)   
 Required: Yes 

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

 The following element is returned in a structure named `DefineSuggesterResult`. 

 **Suggester**   
The value of a `Suggester` and its current status.  
Type: [SuggesterStatus](API_SuggesterStatus.md) 

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

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

 **Base**   
An error occurred while processing the request.  
 HTTP Status Code: 400

 **Internal**   
An internal error occurred while processing the request. If this problem persists, report an issue from the [Service Health Dashboard](http://status.aws.amazon.com/).  
 HTTP Status Code: 500

 **InvalidType**   
The request was rejected because it specified an invalid type definition.  
 HTTP Status Code: 409

 **LimitExceeded**   
The request was rejected because a resource limit has already been met.  
 HTTP Status Code: 409

 **ResourceNotFound**   
The request was rejected because it attempted to reference a resource that does not exist.  
 HTTP Status Code: 409

# DeleteAnalysisScheme
<a name="API_DeleteAnalysisScheme"></a>

## Description
<a name="API_DeleteAnalysisScheme_Description"></a>

Deletes an analysis scheme. For more information, see [Configuring Analysis Schemes](http://docs.aws.amazon.com/cloudsearch/latest/developerguide/configuring-analysis-schemes.html) in the *Amazon CloudSearch Developer Guide*. 

## Request Parameters
<a name="API_DeleteAnalysisScheme_RequestParameters"></a>

 For information about the common parameters that all actions use, see [Common Parameters](CommonParameters.md). 

 **AnalysisSchemeName**   
The name of the analysis scheme you want to delete.  
Type: String  
 Length constraints: Minimum length of 1. Maximum length of 64.   
 Required: Yes 

 **DomainName**   
A string that represents the name of a domain. Domain names are unique across the domains owned by an account within an AWS region. Domain names start with a letter or number and can contain the following characters: a-z (lowercase), 0-9, and - (hyphen).  
Type: String  
 Length constraints: Minimum length of 3. Maximum length of 28.   
 Required: Yes 

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

 The following element is returned in a structure named `DeleteAnalysisSchemeResult`. 

 **AnalysisScheme**   
The status of the analysis scheme being deleted.  
Type: [AnalysisSchemeStatus](API_AnalysisSchemeStatus.md) 

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

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

 **Base**   
An error occurred while processing the request.  
 HTTP Status Code: 400

 **Internal**   
An internal error occurred while processing the request. If this problem persists, report an issue from the [Service Health Dashboard](http://status.aws.amazon.com/).  
 HTTP Status Code: 500

 **InvalidType**   
The request was rejected because it specified an invalid type definition.  
 HTTP Status Code: 409

 **ResourceNotFound**   
The request was rejected because it attempted to reference a resource that does not exist.  
 HTTP Status Code: 409

# DeleteDomain
<a name="API_DeleteDomain"></a>

## Description
<a name="API_DeleteDomain_Description"></a>

Permanently deletes a search domain and all of its data. Once a domain has been deleted, it cannot be recovered. For more information, see [Deleting a Search Domain](http://docs.aws.amazon.com/cloudsearch/latest/developerguide/deleting-domains.html) in the *Amazon CloudSearch Developer Guide*. 

## Request Parameters
<a name="API_DeleteDomain_RequestParameters"></a>

 For information about the common parameters that all actions use, see [Common Parameters](CommonParameters.md). 

 **DomainName**   
The name of the domain you want to permanently delete.  
Type: String  
 Length constraints: Minimum length of 3. Maximum length of 28.   
 Required: Yes 

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

 The following element is returned in a structure named `DeleteDomainResult`. 

 **DomainStatus**   
The current status of the search domain.  
Type: [DomainStatus](API_DomainStatus.md) 

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

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

 **Base**   
An error occurred while processing the request.  
 HTTP Status Code: 400

 **Internal**   
An internal error occurred while processing the request. If this problem persists, report an issue from the [Service Health Dashboard](http://status.aws.amazon.com/).  
 HTTP Status Code: 500

# DeleteExpression
<a name="API_DeleteExpression"></a>

## Description
<a name="API_DeleteExpression_Description"></a>

Removes an ` Expression ` from the search domain. For more information, see [Configuring Expressions](http://docs.aws.amazon.com/cloudsearch/latest/developerguide/configuring-expressions.html) in the *Amazon CloudSearch Developer Guide*.

## Request Parameters
<a name="API_DeleteExpression_RequestParameters"></a>

 For information about the common parameters that all actions use, see [Common Parameters](CommonParameters.md). 

 **DomainName**   
A string that represents the name of a domain. Domain names are unique across the domains owned by an account within an AWS region. Domain names start with a letter or number and can contain the following characters: a-z (lowercase), 0-9, and - (hyphen).  
Type: String  
 Length constraints: Minimum length of 3. Maximum length of 28.   
 Required: Yes 

 **ExpressionName**   
The name of the ` Expression ` to delete.  
Type: String  
 Length constraints: Minimum length of 1. Maximum length of 64.   
 Required: Yes 

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

 The following element is returned in a structure named `DeleteExpressionResult`. 

 **Expression**   
The status of the expression being deleted.  
Type: [ExpressionStatus](API_ExpressionStatus.md) 

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

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

 **Base**   
An error occurred while processing the request.  
 HTTP Status Code: 400

 **Internal**   
An internal error occurred while processing the request. If this problem persists, report an issue from the [Service Health Dashboard](http://status.aws.amazon.com/).  
 HTTP Status Code: 500

 **InvalidType**   
The request was rejected because it specified an invalid type definition.  
 HTTP Status Code: 409

 **ResourceNotFound**   
The request was rejected because it attempted to reference a resource that does not exist.  
 HTTP Status Code: 409

# DeleteIndexField
<a name="API_DeleteIndexField"></a>

## Description
<a name="API_DeleteIndexField_Description"></a>

Removes an ` IndexField ` from the search domain. For more information, see [Configuring Index Fields](http://docs.aws.amazon.com/cloudsearch/latest/developerguide/configuring-index-fields.html) in the *Amazon CloudSearch Developer Guide*.

## Request Parameters
<a name="API_DeleteIndexField_RequestParameters"></a>

 For information about the common parameters that all actions use, see [Common Parameters](CommonParameters.md). 

 **DomainName**   
A string that represents the name of a domain. Domain names are unique across the domains owned by an account within an AWS region. Domain names start with a letter or number and can contain the following characters: a-z (lowercase), 0-9, and - (hyphen).  
Type: String  
 Length constraints: Minimum length of 3. Maximum length of 28.   
 Required: Yes 

 **IndexFieldName**   
The name of the index field your want to remove from the domain's indexing options.  
Type: String  
 Length constraints: Minimum length of 1. Maximum length of 64.   
 Required: Yes 

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

 The following element is returned in a structure named `DeleteIndexFieldResult`. 

 **IndexField**   
The status of the index field being deleted.  
Type: [IndexFieldStatus](API_IndexFieldStatus.md) 

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

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

 **Base**   
An error occurred while processing the request.  
 HTTP Status Code: 400

 **Internal**   
An internal error occurred while processing the request. If this problem persists, report an issue from the [Service Health Dashboard](http://status.aws.amazon.com/).  
 HTTP Status Code: 500

 **InvalidType**   
The request was rejected because it specified an invalid type definition.  
 HTTP Status Code: 409

 **ResourceNotFound**   
The request was rejected because it attempted to reference a resource that does not exist.  
 HTTP Status Code: 409

# DeleteSuggester
<a name="API_DeleteSuggester"></a>

## Description
<a name="API_DeleteSuggester_Description"></a>

Deletes a suggester. For more information, see [Getting Search Suggestions](http://docs.aws.amazon.com/cloudsearch/latest/developerguide/getting-suggestions.html) in the *Amazon CloudSearch Developer Guide*.

## Request Parameters
<a name="API_DeleteSuggester_RequestParameters"></a>

 For information about the common parameters that all actions use, see [Common Parameters](CommonParameters.md). 

 **DomainName**   
A string that represents the name of a domain. Domain names are unique across the domains owned by an account within an AWS region. Domain names start with a letter or number and can contain the following characters: a-z (lowercase), 0-9, and - (hyphen).  
Type: String  
 Length constraints: Minimum length of 3. Maximum length of 28.   
 Required: Yes 

 **SuggesterName**   
Specifies the name of the suggester you want to delete.  
Type: String  
 Length constraints: Minimum length of 1. Maximum length of 64.   
 Required: Yes 

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

 The following element is returned in a structure named `DeleteSuggesterResult`. 

 **Suggester**   
The status of the suggester being deleted.  
Type: [SuggesterStatus](API_SuggesterStatus.md) 

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

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

 **Base**   
An error occurred while processing the request.  
 HTTP Status Code: 400

 **Internal**   
An internal error occurred while processing the request. If this problem persists, report an issue from the [Service Health Dashboard](http://status.aws.amazon.com/).  
 HTTP Status Code: 500

 **InvalidType**   
The request was rejected because it specified an invalid type definition.  
 HTTP Status Code: 409

 **ResourceNotFound**   
The request was rejected because it attempted to reference a resource that does not exist.  
 HTTP Status Code: 409

# DescribeAnalysisSchemes
<a name="API_DescribeAnalysisSchemes"></a>

## Description
<a name="API_DescribeAnalysisSchemes_Description"></a>

Gets the analysis schemes configured for a domain. An analysis scheme defines language-specific text processing options for a `text` field. Can be limited to specific analysis schemes by name. By default, shows all analysis schemes and includes any pending changes to the configuration. Set the `Deployed` option to `true` to show the active configuration and exclude pending changes. For more information, see [Configuring Analysis Schemes](http://docs.aws.amazon.com/cloudsearch/latest/developerguide/configuring-analysis-schemes.html) in the *Amazon CloudSearch Developer Guide*.

## Request Parameters
<a name="API_DescribeAnalysisSchemes_RequestParameters"></a>

 For information about the common parameters that all actions use, see [Common Parameters](CommonParameters.md). 

 **AnalysisSchemeNames.member.N**   
The analysis schemes you want to describe.  
Type: String list   
 Length constraints: Minimum length of 1. Maximum length of 64.   
 Required: No 

 **Deployed**   
Whether to display the deployed configuration (`true`) or include any pending changes (`false`). Defaults to `false`.  
Type: Boolean  
 Required: No 

 **DomainName**   
The name of the domain you want to describe.  
Type: String  
 Length constraints: Minimum length of 3. Maximum length of 28.   
 Required: Yes 

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

 The following element is returned in a structure named `DescribeAnalysisSchemesResult`. 

 **AnalysisSchemes**   
The analysis scheme descriptions.  
Type: [AnalysisSchemeStatus](API_AnalysisSchemeStatus.md) list 

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

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

 **Base**   
An error occurred while processing the request.  
 HTTP Status Code: 400

 **Internal**   
An internal error occurred while processing the request. If this problem persists, report an issue from the [Service Health Dashboard](http://status.aws.amazon.com/).  
 HTTP Status Code: 500

 **ResourceNotFound**   
The request was rejected because it attempted to reference a resource that does not exist.  
 HTTP Status Code: 409

# DescribeAvailabilityOptions
<a name="API_DescribeAvailabilityOptions"></a>

## Description
<a name="API_DescribeAvailabilityOptions_Description"></a>

Gets the availability options configured for a domain. By default, shows the configuration with any pending changes. Set the `Deployed` option to `true` to show the active configuration and exclude pending changes. For more information, see [Configuring Availability Options](http://docs.aws.amazon.com/cloudsearch/latest/developerguide/configuring-availability-options.html) in the *Amazon CloudSearch Developer Guide*.

## Request Parameters
<a name="API_DescribeAvailabilityOptions_RequestParameters"></a>

 For information about the common parameters that all actions use, see [Common Parameters](CommonParameters.md). 

 **Deployed**   
Whether to display the deployed configuration (`true`) or include any pending changes (`false`). Defaults to `false`.  
Type: Boolean  
 Required: No 

 **DomainName**   
The name of the domain you want to describe.  
Type: String  
 Length constraints: Minimum length of 3. Maximum length of 28.   
 Required: Yes 

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

 The following element is returned in a structure named `DescribeAvailabilityOptionsResult`. 

 **AvailabilityOptions**   
The availability options configured for the domain. Indicates whether Multi-AZ is enabled for the domain.   
Type: [AvailabilityOptionsStatus](API_AvailabilityOptionsStatus.md) 

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

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

 **Base**   
An error occurred while processing the request.  
 HTTP Status Code: 400

 **DisabledOperation**   
The request was rejected because it attempted an operation which is not enabled.  
 HTTP Status Code: 409

 **Internal**   
An internal error occurred while processing the request. If this problem persists, report an issue from the [Service Health Dashboard](http://status.aws.amazon.com/).  
 HTTP Status Code: 500

 **InvalidType**   
The request was rejected because it specified an invalid type definition.  
 HTTP Status Code: 409

 **LimitExceeded**   
The request was rejected because a resource limit has already been met.  
 HTTP Status Code: 409

 **ResourceNotFound**   
The request was rejected because it attempted to reference a resource that does not exist.  
 HTTP Status Code: 409

# DescribeDomains
<a name="API_DescribeDomains"></a>

## Description
<a name="API_DescribeDomains_Description"></a>

Gets information about the search domains owned by this account. Can be limited to specific domains. Shows all domains by default. To get the number of searchable documents in a domain, use the console or submit a `matchall` request to your domain's search endpoint: `q=matchall&q.parser=structured&size=0`. For more information, see [Getting Information about a Search Domain](http://docs.aws.amazon.com/cloudsearch/latest/developerguide/getting-domain-info.html) in the *Amazon CloudSearch Developer Guide*.

## Request Parameters
<a name="API_DescribeDomains_RequestParameters"></a>

 For information about the common parameters that all actions use, see [Common Parameters](CommonParameters.md). 

 **DomainNames.member.N**   
The names of the domains you want to include in the response.  
Type: String list   
 Length constraints: Minimum length of 3. Maximum length of 28.   
 Required: No 

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

 The following element is returned in a structure named `DescribeDomainsResult`. 

 **DomainStatusList**   
A list that contains the status of each requested domain.  
Type: [DomainStatus](API_DomainStatus.md) list 

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

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

 **Base**   
An error occurred while processing the request.  
 HTTP Status Code: 400

 **Internal**   
An internal error occurred while processing the request. If this problem persists, report an issue from the [Service Health Dashboard](http://status.aws.amazon.com/).  
 HTTP Status Code: 500

# DescribeExpressions
<a name="API_DescribeExpressions"></a>

## Description
<a name="API_DescribeExpressions_Description"></a>

Gets the expressions configured for the search domain. Can be limited to specific expressions by name. By default, shows all expressions and includes any pending changes to the configuration. Set the `Deployed` option to `true` to show the active configuration and exclude pending changes. For more information, see [Configuring Expressions](http://docs.aws.amazon.com/cloudsearch/latest/developerguide/configuring-expressions.html) in the *Amazon CloudSearch Developer Guide*.

## Request Parameters
<a name="API_DescribeExpressions_RequestParameters"></a>

 For information about the common parameters that all actions use, see [Common Parameters](CommonParameters.md). 

 **Deployed**   
Whether to display the deployed configuration (`true`) or include any pending changes (`false`). Defaults to `false`.  
Type: Boolean  
 Required: No 

 **DomainName**   
The name of the domain you want to describe.  
Type: String  
 Length constraints: Minimum length of 3. Maximum length of 28.   
 Required: Yes 

 **ExpressionNames.member.N**   
Limits the ` DescribeExpressions ` response to the specified expressions. If not specified, all expressions are shown.  
Type: String list   
 Length constraints: Minimum length of 1. Maximum length of 64.   
 Required: No 

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

 The following element is returned in a structure named `DescribeExpressionsResult`. 

 **Expressions**   
The expressions configured for the domain.  
Type: [ExpressionStatus](API_ExpressionStatus.md) list 

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

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

 **Base**   
An error occurred while processing the request.  
 HTTP Status Code: 400

 **Internal**   
An internal error occurred while processing the request. If this problem persists, report an issue from the [Service Health Dashboard](http://status.aws.amazon.com/).  
 HTTP Status Code: 500

 **ResourceNotFound**   
The request was rejected because it attempted to reference a resource that does not exist.  
 HTTP Status Code: 409

# DescribeIndexFields
<a name="API_DescribeIndexFields"></a>

## Description
<a name="API_DescribeIndexFields_Description"></a>

Gets information about the index fields configured for the search domain. Can be limited to specific fields by name. By default, shows all fields and includes any pending changes to the configuration. Set the `Deployed` option to `true` to show the active configuration and exclude pending changes. For more information, see [Getting Domain Information](http://docs.aws.amazon.com/cloudsearch/latest/developerguide/getting-domain-info.html) in the *Amazon CloudSearch Developer Guide*.

## Request Parameters
<a name="API_DescribeIndexFields_RequestParameters"></a>

 For information about the common parameters that all actions use, see [Common Parameters](CommonParameters.md). 

 **Deployed**   
Whether to display the deployed configuration (`true`) or include any pending changes (`false`). Defaults to `false`.  
Type: Boolean  
 Required: No 

 **DomainName**   
The name of the domain you want to describe.  
Type: String  
 Length constraints: Minimum length of 3. Maximum length of 28.   
 Required: Yes 

 **FieldNames.member.N**   
A list of the index fields you want to describe. If not specified, information is returned for all configured index fields.  
Type: String list   
 Length constraints: Minimum length of 1. Maximum length of 64.   
 Required: No 

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

 The following element is returned in a structure named `DescribeIndexFieldsResult`. 

 **IndexFields**   
The index fields configured for the domain.  
Type: [IndexFieldStatus](API_IndexFieldStatus.md) list 

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

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

 **Base**   
An error occurred while processing the request.  
 HTTP Status Code: 400

 **Internal**   
An internal error occurred while processing the request. If this problem persists, report an issue from the [Service Health Dashboard](http://status.aws.amazon.com/).  
 HTTP Status Code: 500

 **ResourceNotFound**   
The request was rejected because it attempted to reference a resource that does not exist.  
 HTTP Status Code: 409

# DescribeScalingParameters
<a name="API_DescribeScalingParameters"></a>

## Description
<a name="API_DescribeScalingParameters_Description"></a>

Gets the scaling parameters configured for a domain. A domain's scaling parameters specify the desired search instance type and replication count. For more information, see [Configuring Scaling Options](http://docs.aws.amazon.com/cloudsearch/latest/developerguide/configuring-scaling-options.html) in the *Amazon CloudSearch Developer Guide*.

## Request Parameters
<a name="API_DescribeScalingParameters_RequestParameters"></a>

 For information about the common parameters that all actions use, see [Common Parameters](CommonParameters.md). 

 **DomainName**   
A string that represents the name of a domain. Domain names are unique across the domains owned by an account within an AWS region. Domain names start with a letter or number and can contain the following characters: a-z (lowercase), 0-9, and - (hyphen).  
Type: String  
 Length constraints: Minimum length of 3. Maximum length of 28.   
 Required: Yes 

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

 The following element is returned in a structure named `DescribeScalingParametersResult`. 

 **ScalingParameters**   
The status and configuration of a search domain's scaling parameters.   
Type: [ScalingParametersStatus](API_ScalingParametersStatus.md) 

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

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

 **Base**   
An error occurred while processing the request.  
 HTTP Status Code: 400

 **Internal**   
An internal error occurred while processing the request. If this problem persists, report an issue from the [Service Health Dashboard](http://status.aws.amazon.com/).  
 HTTP Status Code: 500

 **ResourceNotFound**   
The request was rejected because it attempted to reference a resource that does not exist.  
 HTTP Status Code: 409

# DescribeDomainEndpointOptions
<a name="API_DescribeDomainEndpointOptions"></a>

## Description
<a name="API_DescribeDomainEndpointOptions_Description"></a>

Returns the domain's endpoint options, specifically whether all requests to the domain must arrive over HTTPS. For more information, see [Configuring Domain Endpoint Options](http://docs.aws.amazon.com/cloudsearch/latest/developerguide/configuring-domain-endpoint-options.html) in the *Amazon CloudSearch Developer Guide*.

## Request Parameters
<a name="API_DescribeDomainEndpointOptions_RequestParameters"></a>

For information about the common parameters that all actions use, see [Common Parameters](CommonParameters.md).

**DomainName**  
A string that represents the name of a domain.  
Type: String  
Required: Yes

**deployed**  
Whether to retrieve the latest configuration (which might be in a `Processing` state) or the current, active configuration (`?deployed=true`).  
Type: Boolean  
Required: No

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

**DomainEndpointOptions**  
The status and configuration of a search domain's endpoint options.  
Type: [DomainEndpointOptionsStatus](API_DomainEndpointOptionsStatus.md) 

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

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

**Base**  
An error occurred while processing the request.  
HTTP Status Code: 400

**Internal**  
An internal error occurred while processing the request. If this problem persists, report an issue from the [Service Health Dashboard](http://status.aws.amazon.com/).  
HTTP Status Code: 500

**LimitExceeded**  
The request was rejected because a resource limit has already been met.  
HTTP Status Code: 409

**ResourceNotFound**  
The request was rejected because it attempted to reference a resource that does not exist.  
HTTP Status Code: 409

# DescribeServiceAccessPolicies
<a name="API_DescribeServiceAccessPolicies"></a>

## Description
<a name="API_DescribeServiceAccessPolicies_Description"></a>

Gets information about the access policies that control access to the domain's document and search endpoints. By default, shows the configuration with any pending changes. Set the `Deployed` option to `true` to show the active configuration and exclude pending changes. For more information, see [Configuring Access for a Search Domain](http://docs.aws.amazon.com/cloudsearch/latest/developerguide/configuring-access.html) in the *Amazon CloudSearch Developer Guide*.

## Request Parameters
<a name="API_DescribeServiceAccessPolicies_RequestParameters"></a>

 For information about the common parameters that all actions use, see [Common Parameters](CommonParameters.md). 

 **Deployed**   
Whether to display the deployed configuration (`true`) or include any pending changes (`false`). Defaults to `false`.  
Type: Boolean  
 Required: No 

 **DomainName**   
The name of the domain you want to describe.  
Type: String  
 Length constraints: Minimum length of 3. Maximum length of 28.   
 Required: Yes 

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

 The following element is returned in a structure named `DescribeServiceAccessPoliciesResult`. 

 **AccessPolicies**   
The access rules configured for the domain specified in the request.  
Type: [AccessPoliciesStatus](API_AccessPoliciesStatus.md) 

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

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

 **Base**   
An error occurred while processing the request.  
 HTTP Status Code: 400

 **Internal**   
An internal error occurred while processing the request. If this problem persists, report an issue from the [Service Health Dashboard](http://status.aws.amazon.com/).  
 HTTP Status Code: 500

 **ResourceNotFound**   
The request was rejected because it attempted to reference a resource that does not exist.  
 HTTP Status Code: 409

# DescribeSuggesters
<a name="API_DescribeSuggesters"></a>

## Description
<a name="API_DescribeSuggesters_Description"></a>

Gets the suggesters configured for a domain. A suggester enables you to display possible matches before users finish typing their queries. Can be limited to specific suggesters by name. By default, shows all suggesters and includes any pending changes to the configuration. Set the `Deployed` option to `true` to show the active configuration and exclude pending changes. For more information, see [Getting Search Suggestions](http://docs.aws.amazon.com/cloudsearch/latest/developerguide/getting-suggestions.html) in the *Amazon CloudSearch Developer Guide*.

## Request Parameters
<a name="API_DescribeSuggesters_RequestParameters"></a>

 For information about the common parameters that all actions use, see [Common Parameters](CommonParameters.md). 

 **Deployed**   
Whether to display the deployed configuration (`true`) or include any pending changes (`false`). Defaults to `false`.  
Type: Boolean  
 Required: No 

 **DomainName**   
The name of the domain you want to describe.  
Type: String  
 Length constraints: Minimum length of 3. Maximum length of 28.   
 Required: Yes 

 **SuggesterNames.member.N**   
The suggesters you want to describe.  
Type: String list   
 Length constraints: Minimum length of 1. Maximum length of 64.   
 Required: No 

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

 The following element is returned in a structure named `DescribeSuggestersResult`. 

 **Suggesters**   
The suggesters configured for the domain specified in the request.  
Type: [SuggesterStatus](API_SuggesterStatus.md) list 

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

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

 **Base**   
An error occurred while processing the request.  
 HTTP Status Code: 400

 **Internal**   
An internal error occurred while processing the request. If this problem persists, report an issue from the [Service Health Dashboard](http://status.aws.amazon.com/).  
 HTTP Status Code: 500

 **ResourceNotFound**   
The request was rejected because it attempted to reference a resource that does not exist.  
 HTTP Status Code: 409

# IndexDocuments
<a name="API_IndexDocuments"></a>

## Description
<a name="API_IndexDocuments_Description"></a>

Tells the search domain to start indexing its documents using the latest indexing options. This operation must be invoked to activate options whose [OptionStatus](API_OptionStatus.md) is `RequiresIndexDocuments`.

## Request Parameters
<a name="API_IndexDocuments_RequestParameters"></a>

 For information about the common parameters that all actions use, see [Common Parameters](CommonParameters.md). 

 **DomainName**   
A string that represents the name of a domain. Domain names are unique across the domains owned by an account within an AWS region. Domain names start with a letter or number and can contain the following characters: a-z (lowercase), 0-9, and - (hyphen).  
Type: String  
 Length constraints: Minimum length of 3. Maximum length of 28.   
 Required: Yes 

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

 The following element is returned in a structure named `IndexDocumentsResult`. 

 **FieldNames**   
The names of the fields that are currently being indexed.  
Type: String list   
 Length constraints: Minimum length of 1. Maximum length of 64. 

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

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

 **Base**   
An error occurred while processing the request.  
 HTTP Status Code: 400

 **Internal**   
An internal error occurred while processing the request. If this problem persists, report an issue from the [Service Health Dashboard](http://status.aws.amazon.com/).  
 HTTP Status Code: 500

 **ResourceNotFound**   
The request was rejected because it attempted to reference a resource that does not exist.  
 HTTP Status Code: 409

# ListDomainNames
<a name="API_ListDomainNames"></a>

## Description
<a name="API_ListDomainNames_Description"></a>

Lists all search domains owned by an account.

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

 The following element is returned in a structure named `ListDomainNamesResult`. 

 **DomainNames**   
The names of the search domains owned by an account.  
Type: String to String map 

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

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

 **Base**   
An error occurred while processing the request.  
 HTTP Status Code: 400

# UpdateAvailabilityOptions
<a name="API_UpdateAvailabilityOptions"></a>

## Description
<a name="API_UpdateAvailabilityOptions_Description"></a>

Configures the availability options for a domain. Enabling the Multi-AZ option expands an Amazon CloudSearch domain to an additional Availability Zone in the same Region to increase fault tolerance in the event of a service disruption. Changes to the Multi-AZ option can take about half an hour to become active. For more information, see [Configuring Availability Options](http://docs.aws.amazon.com/cloudsearch/latest/developerguide/configuring-availability-options.html) in the *Amazon CloudSearch Developer Guide*.

## Request Parameters
<a name="API_UpdateAvailabilityOptions_RequestParameters"></a>

 For information about the common parameters that all actions use, see [Common Parameters](CommonParameters.md). 

 **DomainName**   
A string that represents the name of a domain. Domain names are unique across the domains owned by an account within an AWS region. Domain names start with a letter or number and can contain the following characters: a-z (lowercase), 0-9, and - (hyphen).  
Type: String  
 Length constraints: Minimum length of 3. Maximum length of 28.   
 Required: Yes 

 **MultiAZ**   
You expand an existing search domain to a second Availability Zone by setting the Multi-AZ option to true. Similarly, you can turn off the Multi-AZ option to downgrade the domain to a single Availability Zone by setting the Multi-AZ option to `false`.   
Type: Boolean  
 Required: Yes 

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

 The following element is returned in a structure named `UpdateAvailabilityOptionsResult`. 

 **AvailabilityOptions**   
The newly-configured availability options. Indicates whether Multi-AZ is enabled for the domain.   
Type: [AvailabilityOptionsStatus](API_AvailabilityOptionsStatus.md) 

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

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

 **Base**   
An error occurred while processing the request.  
 HTTP Status Code: 400

 **DisabledOperation**   
The request was rejected because it attempted an operation which is not enabled.  
 HTTP Status Code: 409

 **Internal**   
An internal error occurred while processing the request. If this problem persists, report an issue from the [Service Health Dashboard](http://status.aws.amazon.com/).  
 HTTP Status Code: 500

 **InvalidType**   
The request was rejected because it specified an invalid type definition.  
 HTTP Status Code: 409

 **LimitExceeded**   
The request was rejected because a resource limit has already been met.  
 HTTP Status Code: 409

 **ResourceNotFound**   
The request was rejected because it attempted to reference a resource that does not exist.  
 HTTP Status Code: 409

# UpdateScalingParameters
<a name="API_UpdateScalingParameters"></a>

## Description
<a name="API_UpdateScalingParameters_Description"></a>

Configures scaling parameters for a domain. A domain's scaling parameters specify the desired search instance type and replication count. Amazon CloudSearch will still automatically scale your domain based on the volume of data and traffic, but not below the desired instance type and replication count. If the Multi-AZ option is enabled, these values control the resources used per Availability Zone. For more information, see [Configuring Scaling Options](http://docs.aws.amazon.com/cloudsearch/latest/developerguide/configuring-scaling-options.html) in the *Amazon CloudSearch Developer Guide*. 

## Request Parameters
<a name="API_UpdateScalingParameters_RequestParameters"></a>

 For information about the common parameters that all actions use, see [Common Parameters](CommonParameters.md). 

 **DomainName**   
A string that represents the name of a domain. Domain names are unique across the domains owned by an account within an AWS region. Domain names start with a letter or number and can contain the following characters: a-z (lowercase), 0-9, and - (hyphen).  
Type: String  
 Length constraints: Minimum length of 3. Maximum length of 28.   
 Required: Yes 

 **ScalingParameters**   
The desired instance type and desired number of replicas of each index partition.  
Type: [ScalingParameters](API_ScalingParameters.md)   
 Required: Yes 

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

 The following element is returned in a structure named `UpdateScalingParametersResult`. 

 **ScalingParameters**   
The status and configuration of a search domain's scaling parameters.   
Type: [ScalingParametersStatus](API_ScalingParametersStatus.md) 

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

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

 **Base**   
An error occurred while processing the request.  
 HTTP Status Code: 400

 **Internal**   
An internal error occurred while processing the request. If this problem persists, report an issue from the [Service Health Dashboard](http://status.aws.amazon.com/).  
 HTTP Status Code: 500

 **InvalidType**   
The request was rejected because it specified an invalid type definition.  
 HTTP Status Code: 409

 **LimitExceeded**   
The request was rejected because a resource limit has already been met.  
 HTTP Status Code: 409

 **ResourceNotFound**   
The request was rejected because it attempted to reference a resource that does not exist.  
 HTTP Status Code: 409

# UpdateDomainEndpointOptions
<a name="API_UpdateDomainEndpointOptions"></a>

## Description
<a name="API_UpdateDomainEndpointOptions_Description"></a>

Updates the domain's endpoint options, specifically whether all requests to the domain must arrive over HTTPS. For more information, see [Configuring Domain Endpoint Options](http://docs.aws.amazon.com/cloudsearch/latest/developerguide/configuring-domain-endpoint-options.html) in the *Amazon CloudSearch Developer Guide*.

## Request Parameters
<a name="API_UpdateDomainEndpointOptions_RequestParameters"></a>

**DomainName**  
A string that represents the name of a domain.  
Type: String  
Required: Yes 

**DomainEndpointOptions**  
Container for the endpoint options.  
Type: [DomainEndpointOptions](API_DomainEndpointOptions.md)   
Required: Yes

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

**DomainEndpointOptionsStatus**  
The status and configuration of a domain's endpoint options.  
Type: [DomainEndpointOptionsStatus](API_DomainEndpointOptionsStatus.md) 

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

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

**Base**  
An error occurred while processing the request.  
HTTP Status Code: 400

**Internal**  
An internal error occurred while processing the request. If this problem persists, report an issue from the [Service Health Dashboard](http://status.aws.amazon.com/).  
HTTP Status Code: 500

InvalidType  
The request was rejected because it specified an invalid type definition.  
HTTP Status Code: 409

**LimitExceeded**  
The request was rejected because a resource limit has already been met.  
HTTP Status Code: 409

**ResourceNotFound**  
The request was rejected because it attempted to reference a resource that does not exist.  
HTTP Status Code: 409

**ValidationException**  
The request contains invalid input or is missing required input.  
HTTP status code 400.

 **DisabledOperation**   
The request was rejected because it attempted an operation which is not enabled.  
HTTP Status Code: 409

# UpdateServiceAccessPolicies
<a name="API_UpdateServiceAccessPolicies"></a>

## Description
<a name="API_UpdateServiceAccessPolicies_Description"></a>

Configures the access rules that control access to the domain's document and search endpoints. For more information, see [ Configuring Access for an Amazon CloudSearch Domain](http://docs.aws.amazon.com/cloudsearch/latest/developerguide/configuring-access.html).

## Request Parameters
<a name="API_UpdateServiceAccessPolicies_RequestParameters"></a>

 For information about the common parameters that all actions use, see [Common Parameters](CommonParameters.md). 

 **AccessPolicies**   
The access rules you want to configure. These rules replace any existing rules.   
Type: String  
 Required: Yes 

 **DomainName**   
A string that represents the name of a domain. Domain names are unique across the domains owned by an account within an AWS region. Domain names start with a letter or number and can contain the following characters: a-z (lowercase), 0-9, and - (hyphen).  
Type: String  
 Length constraints: Minimum length of 3. Maximum length of 28.   
 Required: Yes 

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

 The following element is returned in a structure named `UpdateServiceAccessPoliciesResult`. 

 **AccessPolicies**   
The access rules configured for the domain.  
Type: [AccessPoliciesStatus](API_AccessPoliciesStatus.md) 

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

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

 **Base**   
An error occurred while processing the request.  
 HTTP Status Code: 400

 **Internal**   
An internal error occurred while processing the request. If this problem persists, report an issue from the [Service Health Dashboard](http://status.aws.amazon.com/).  
 HTTP Status Code: 500

 **InvalidType**   
The request was rejected because it specified an invalid type definition.  
 HTTP Status Code: 409

 **LimitExceeded**   
The request was rejected because a resource limit has already been met.  
 HTTP Status Code: 409

 **ResourceNotFound**   
The request was rejected because it attempted to reference a resource that does not exist.  
 HTTP Status Code: 409

# Data Types
<a name="API_Types"></a>

 The Amazon CloudSearch Configuration Service API contains several data types that various actions use. This section describes each data type in detail. 

**Note**  
The order of each element in the response is not guaranteed. Applications should not assume a particular order. 

The following data types are supported:
+  [AccessPoliciesStatus](API_AccessPoliciesStatus.md) 
+  [AnalysisOptions](API_AnalysisOptions.md) 
+  [AnalysisScheme](API_AnalysisScheme.md) 
+  [AnalysisSchemeStatus](API_AnalysisSchemeStatus.md) 
+  [AvailabilityOptionsStatus](API_AvailabilityOptionsStatus.md) 
+  [BuildSuggestersResult](API_BuildSuggestersResult.md) 
+  [CreateDomainResult](API_CreateDomainResult.md) 
+  [DateArrayOptions](API_DateArrayOptions.md) 
+  [DateOptions](API_DateOptions.md) 
+  [DefineAnalysisSchemeResult](API_DefineAnalysisSchemeResult.md) 
+  [DefineExpressionResult](API_DefineExpressionResult.md) 
+  [DefineIndexFieldResult](API_DefineIndexFieldResult.md) 
+  [DefineSuggesterResult](API_DefineSuggesterResult.md) 
+  [DeleteAnalysisSchemeResult](API_DeleteAnalysisSchemeResult.md) 
+  [DeleteDomainResult](API_DeleteDomainResult.md) 
+  [DeleteExpressionResult](API_DeleteExpressionResult.md) 
+  [DeleteIndexFieldResult](API_DeleteIndexFieldResult.md) 
+  [DeleteSuggesterResult](API_DeleteSuggesterResult.md) 
+  [DescribeAnalysisSchemesResult](API_DescribeAnalysisSchemesResult.md) 
+  [DescribeAvailabilityOptionsResult](API_DescribeAvailabilityOptionsResult.md) 
+  [DescribeDomainsResult](API_DescribeDomainsResult.md) 
+  [DescribeExpressionsResult](API_DescribeExpressionsResult.md) 
+  [DescribeIndexFieldsResult](API_DescribeIndexFieldsResult.md) 
+  [DescribeScalingParametersResult](API_DescribeScalingParametersResult.md) 
+  [DescribeServiceAccessPoliciesResult](API_DescribeServiceAccessPoliciesResult.md) 
+  [DescribeSuggestersResult](API_DescribeSuggestersResult.md) 
+  [DocumentSuggesterOptions](API_DocumentSuggesterOptions.md) 
+  [DomainStatus](API_DomainStatus.md) 
+  [DoubleArrayOptions](API_DoubleArrayOptions.md) 
+  [DoubleOptions](API_DoubleOptions.md) 
+  [Expression](API_Expression.md) 
+  [ExpressionStatus](API_ExpressionStatus.md) 
+  [IndexDocumentsResult](API_IndexDocumentsResult.md) 
+  [IndexField](API_IndexField.md) 
+  [IndexFieldStatus](API_IndexFieldStatus.md) 
+  [IntArrayOptions](API_IntArrayOptions.md) 
+  [IntOptions](API_IntOptions.md) 
+  [LatLonOptions](API_LatLonOptions.md) 
+  [Limits](API_Limits.md) 
+  [ListDomainNamesResult](API_ListDomainNamesResult.md) 
+  [LiteralArrayOptions](API_LiteralArrayOptions.md) 
+  [LiteralOptions](API_LiteralOptions.md) 
+  [BuildSuggestersResult](API_BuildSuggestersResult.md) 
+  [OptionStatus](API_OptionStatus.md) 
+  [ScalingParameters](API_ScalingParameters.md) 
+  [ScalingParametersStatus](API_ScalingParametersStatus.md) 
+  [ServiceEndpoint](API_ServiceEndpoint.md) 
+  [Suggester](API_Suggester.md) 
+  [SuggesterStatus](API_SuggesterStatus.md) 
+  [TextArrayOptions](API_TextArrayOptions.md) 
+  [TextOptions](API_TextOptions.md) 
+  [UpdateAvailabilityOptionsResult](API_UpdateAvailabilityOptionsResult.md) 
+  [UpdateScalingParametersResult](API_UpdateScalingParametersResult.md) 
+  [UpdateServiceAccessPoliciesResult](API_UpdateServiceAccessPoliciesResult.md) 

# AccessPoliciesStatus
<a name="API_AccessPoliciesStatus"></a>

## Description
<a name="API_AccessPoliciesStatus_Description"></a>

The configured access rules for the domain's document and search endpoints, and the current status of those rules.

## Contents
<a name="API_AccessPoliciesStatus_Contents"></a>

 **Options**   
Access rules for a domain's document or search service endpoints. For more information, see [Configuring Access for a Search Domain](http://docs.aws.amazon.com/cloudsearch/latest/developerguide/configuring-access.html) in the *Amazon CloudSearch Developer Guide*. The maximum size of a policy document is 100 KB.  
Type: String  
 Required: Yes 

 **Status**   
The status of domain configuration option.  
Type: [OptionStatus](API_OptionStatus.md)   
 Required: Yes 

# AnalysisOptions
<a name="API_AnalysisOptions"></a>

## Description
<a name="API_AnalysisOptions_Description"></a>

Synonyms, stopwords, and stemming options for an analysis scheme. Includes tokenization dictionary for Japanese.

## Contents
<a name="API_AnalysisOptions_Contents"></a>

 **AlgorithmicStemming**   
The level of algorithmic stemming to perform: `none`, `minimal`, `light`, or `full`. The available levels vary depending on the language. For more information, see [Language Specific Text Processing Settings](http://docs.aws.amazon.com/cloudsearch/latest/developerguide/text-processing.html#text-processing-settings) in the *Amazon CloudSearch Developer Guide*   
Type: String  
 Valid Values: `none | minimal | light | full`   
 Required: No 

 **JapaneseTokenizationDictionary**   
A JSON array that contains a collection of terms, tokens, readings and part of speech for Japanese Tokenizaiton. The Japanese tokenization dictionary enables you to override the default tokenization for selected terms. This is only valid for Japanese language fields.  
Type: String  
 Required: No 

 **StemmingDictionary**   
A JSON object that contains a collection of string:value pairs that each map a term to its stem. For example, `{"term1": "stem1", "term2": "stem2", "term3": "stem3"}`. The stemming dictionary is applied in addition to any algorithmic stemming. This enables you to override the results of the algorithmic stemming to correct specific cases of overstemming or understemming. The maximum size of a stemming dictionary is 500 KB.  
Type: String  
 Required: No 

 **Stopwords**   
A JSON array of terms to ignore during indexing and searching. For example, `["a", "an", "the", "of"]`. The stopwords dictionary must explicitly list each word you want to ignore. Wildcards and regular expressions are not supported.   
Type: String  
 Required: No 

 **Synonyms**   
A JSON object that defines synonym groups and aliases. A synonym group is an array of arrays, where each sub-array is a group of terms where each term in the group is considered a synonym of every other term in the group. The aliases value is an object that contains a collection of string:value pairs where the string specifies a term and the array of values specifies each of the aliases for that term. An alias is considered a synonym of the specified term, but the term is not considered a synonym of the alias. For more information about specifying synonyms, see [Synonyms](http://docs.aws.amazon.com/cloudsearch/latest/developerguide/configuring-analysis-schemes.html#synonyms) in the *Amazon CloudSearch Developer Guide*.  
Type: String  
 Required: No 

# AnalysisScheme
<a name="API_AnalysisScheme"></a>

## Description
<a name="API_AnalysisScheme_Description"></a>

Configuration information for an analysis scheme. Each analysis scheme has a unique name and specifies the language of the text to be processed. The following options can be configured for an analysis scheme: `Synonyms`, `Stopwords`, `StemmingDictionary`, `JapaneseTokenizationDictionary` and `AlgorithmicStemming`.

## Contents
<a name="API_AnalysisScheme_Contents"></a>

 **AnalysisOptions**   
Synonyms, stopwords, and stemming options for an analysis scheme. Includes tokenization dictionary for Japanese.  
Type: [AnalysisOptions](API_AnalysisOptions.md)   
 Required: No 

 **AnalysisSchemeLanguage**   
An [IETF RFC 4646](http://tools.ietf.org/html/rfc4646) language code or `mul` for multiple languages.  
Type: String  
 Valid Values: `ar | bg | ca | cs | da | de | el | en | es | eu | fa | fi | fr | ga | gl | he | hi | hu | hy | id | it | ja | ko | lv | mul | nl | no | pt | ro | ru | sv | th | tr | zh-Hans | zh-Hant`   
 Required: Yes 

 **AnalysisSchemeName**   
Names must begin with a letter and can contain the following characters: a-z (lowercase), 0-9, and \$1 (underscore).  
Type: String  
 Length constraints: Minimum length of 1. Maximum length of 64.   
 Required: Yes 

# AnalysisSchemeStatus
<a name="API_AnalysisSchemeStatus"></a>

## Description
<a name="API_AnalysisSchemeStatus_Description"></a>

The status and configuration of an `AnalysisScheme`.

## Contents
<a name="API_AnalysisSchemeStatus_Contents"></a>

 **Options**   
Configuration information for an analysis scheme. Each analysis scheme has a unique name and specifies the language of the text to be processed. The following options can be configured for an analysis scheme: `Synonyms`, `Stopwords`, `StemmingDictionary`, `JapaneseTokenizationDictionary` and `AlgorithmicStemming`.  
Type: [AnalysisScheme](API_AnalysisScheme.md)   
 Required: Yes 

 **Status**   
The status of domain configuration option.  
Type: [OptionStatus](API_OptionStatus.md)   
 Required: Yes 

# AvailabilityOptionsStatus
<a name="API_AvailabilityOptionsStatus"></a>

## Description
<a name="API_AvailabilityOptionsStatus_Description"></a>

The status and configuration of the domain's availability options.

## Contents
<a name="API_AvailabilityOptionsStatus_Contents"></a>

 **Options**   
The availability options configured for the domain.  
Type: Boolean  
 Required: Yes 

 **Status**   
The status of domain configuration option.  
Type: [OptionStatus](API_OptionStatus.md)   
 Required: Yes 

# BuildSuggestersResult
<a name="API_BuildSuggestersResult"></a>

## Description
<a name="API_BuildSuggestersResult_Description"></a>

The result of a `BuildSuggester` request. Contains a list of the fields used for suggestions.

## Contents
<a name="API_BuildSuggestersResult_Contents"></a>

 **FieldNames**   
A list of field names.  
Type: String list   
 Length constraints: Minimum length of 1. Maximum length of 64.   
 Required: No 

# CreateDomainResult
<a name="API_CreateDomainResult"></a>

## Description
<a name="API_CreateDomainResult_Description"></a>

The result of a `CreateDomainRequest`. Contains the status of a newly created domain.

## Contents
<a name="API_CreateDomainResult_Contents"></a>

 **DomainStatus**   
The current status of the search domain.  
Type: [DomainStatus](API_DomainStatus.md)   
 Required: No 

# DateArrayOptions
<a name="API_DateArrayOptions"></a>

## Description
<a name="API_DateArrayOptions_Description"></a>

Options for a field that contains an array of dates. Present if `IndexFieldType` specifies the field is of type `date-array`. All options are enabled by default.

## Contents
<a name="API_DateArrayOptions_Contents"></a>

 **DefaultValue**   
 A value to use for the field if the field isn't specified for a document.   
Type: String  
 Length constraints: Minimum length of 0. Maximum length of 1024.   
 Required: No 

 **FacetEnabled**   
Whether facet information can be returned for the field.  
Type: Boolean  
 Required: No 

 **ReturnEnabled**   
Whether the contents of the field can be returned in the search results.  
Type: Boolean  
 Required: No 

 **SearchEnabled**   
Whether the contents of the field are searchable.  
Type: Boolean  
 Required: No 

 **SourceFields**   
A list of source fields to map to the field.   
Type: String  
 Required: No 

# DateOptions
<a name="API_DateOptions"></a>

## Description
<a name="API_DateOptions_Description"></a>

Options for a date field. Dates and times are specified in UTC (Coordinated Universal Time) according to IETF RFC3339: yyyy-mm-ddT00:00:00Z. Present if `IndexFieldType` specifies the field is of type `date`. All options are enabled by default.

## Contents
<a name="API_DateOptions_Contents"></a>

 **DefaultValue**   
 A value to use for the field if the field isn't specified for a document.   
Type: String  
 Length constraints: Minimum length of 0. Maximum length of 1024.   
 Required: No 

 **FacetEnabled**   
Whether facet information can be returned for the field.  
Type: Boolean  
 Required: No 

 **ReturnEnabled**   
Whether the contents of the field can be returned in the search results.  
Type: Boolean  
 Required: No 

 **SearchEnabled**   
Whether the contents of the field are searchable.  
Type: Boolean  
 Required: No 

 **SortEnabled**   
Whether the field can be used to sort the search results.  
Type: Boolean  
 Required: No 

 **SourceField**   
A string that represents the name of an index field. CloudSearch supports regular index fields as well as dynamic fields. A dynamic field's name defines a pattern that begins or ends with a wildcard. Any document fields that don't map to a regular index field but do match a dynamic field's pattern are configured with the dynamic field's indexing options.   
Regular field names begin with a letter and can contain the following characters: a-z (lowercase), 0-9, and \$1 (underscore). Dynamic field names must begin or end with a wildcard (\$1). The wildcard can also be the only character in a dynamic field name. Multiple wildcards, and wildcards embedded within a string are not supported.   
The name `score` is reserved and cannot be used as a field name. To reference a document's ID, you can use the name `_id`.   
Type: String  
 Length constraints: Minimum length of 1. Maximum length of 64.   
 Required: No 

# DefineAnalysisSchemeResult
<a name="API_DefineAnalysisSchemeResult"></a>

## Description
<a name="API_DefineAnalysisSchemeResult_Description"></a>

The result of a ` DefineAnalysisScheme ` request. Contains the status of the newly-configured analysis scheme.

## Contents
<a name="API_DefineAnalysisSchemeResult_Contents"></a>

 **AnalysisScheme**   
The status and configuration of an `AnalysisScheme`.  
Type: [AnalysisSchemeStatus](API_AnalysisSchemeStatus.md)   
 Required: Yes 

# DefineExpressionResult
<a name="API_DefineExpressionResult"></a>

## Description
<a name="API_DefineExpressionResult_Description"></a>

The result of a `DefineExpression` request. Contains the status of the newly-configured expression.

## Contents
<a name="API_DefineExpressionResult_Contents"></a>

 **Expression**   
The value of an `Expression` and its current status.  
Type: [ExpressionStatus](API_ExpressionStatus.md)   
 Required: Yes 

# DefineIndexFieldResult
<a name="API_DefineIndexFieldResult"></a>

## Description
<a name="API_DefineIndexFieldResult_Description"></a>

The result of a ` DefineIndexField ` request. Contains the status of the newly-configured index field.

## Contents
<a name="API_DefineIndexFieldResult_Contents"></a>

 **IndexField**   
The value of an `IndexField` and its current status.  
Type: [IndexFieldStatus](API_IndexFieldStatus.md)   
 Required: Yes 

# DefineSuggesterResult
<a name="API_DefineSuggesterResult"></a>

## Description
<a name="API_DefineSuggesterResult_Description"></a>

The result of a `DefineSuggester` request. Contains the status of the newly-configured suggester.

## Contents
<a name="API_DefineSuggesterResult_Contents"></a>

 **Suggester**   
The value of a `Suggester` and its current status.  
Type: [SuggesterStatus](API_SuggesterStatus.md)   
 Required: Yes 

# DeleteAnalysisSchemeResult
<a name="API_DeleteAnalysisSchemeResult"></a>

## Description
<a name="API_DeleteAnalysisSchemeResult_Description"></a>

The result of a `DeleteAnalysisScheme` request. Contains the status of the deleted analysis scheme.

## Contents
<a name="API_DeleteAnalysisSchemeResult_Contents"></a>

 **AnalysisScheme**   
The status of the analysis scheme being deleted.  
Type: [AnalysisSchemeStatus](API_AnalysisSchemeStatus.md)   
 Required: Yes 

# DeleteDomainResult
<a name="API_DeleteDomainResult"></a>

## Description
<a name="API_DeleteDomainResult_Description"></a>

The result of a `DeleteDomain` request. Contains the status of a newly deleted domain, or no status if the domain has already been completely deleted.

## Contents
<a name="API_DeleteDomainResult_Contents"></a>

 **DomainStatus**   
The current status of the search domain.  
Type: [DomainStatus](API_DomainStatus.md)   
 Required: No 

# DeleteExpressionResult
<a name="API_DeleteExpressionResult"></a>

## Description
<a name="API_DeleteExpressionResult_Description"></a>

The result of a ` DeleteExpression ` request. Specifies the expression being deleted.

## Contents
<a name="API_DeleteExpressionResult_Contents"></a>

 **Expression**   
The status of the expression being deleted.  
Type: [ExpressionStatus](API_ExpressionStatus.md)   
 Required: Yes 

# DeleteIndexFieldResult
<a name="API_DeleteIndexFieldResult"></a>

## Description
<a name="API_DeleteIndexFieldResult_Description"></a>

The result of a ` DeleteIndexField ` request.

## Contents
<a name="API_DeleteIndexFieldResult_Contents"></a>

 **IndexField**   
The status of the index field being deleted.  
Type: [IndexFieldStatus](API_IndexFieldStatus.md)   
 Required: Yes 

# DeleteSuggesterResult
<a name="API_DeleteSuggesterResult"></a>

## Description
<a name="API_DeleteSuggesterResult_Description"></a>

The result of a `DeleteSuggester` request. Contains the status of the deleted suggester.

## Contents
<a name="API_DeleteSuggesterResult_Contents"></a>

 **Suggester**   
The status of the suggester being deleted.  
Type: [SuggesterStatus](API_SuggesterStatus.md)   
 Required: Yes 

# DescribeAnalysisSchemesResult
<a name="API_DescribeAnalysisSchemesResult"></a>

## Description
<a name="API_DescribeAnalysisSchemesResult_Description"></a>

The result of a `DescribeAnalysisSchemes` request. Contains the analysis schemes configured for the domain specified in the request.

## Contents
<a name="API_DescribeAnalysisSchemesResult_Contents"></a>

 **AnalysisSchemes**   
The analysis scheme descriptions.  
Type: [AnalysisSchemeStatus](API_AnalysisSchemeStatus.md) list   
 Required: Yes 

# DescribeAvailabilityOptionsResult
<a name="API_DescribeAvailabilityOptionsResult"></a>

## Description
<a name="API_DescribeAvailabilityOptionsResult_Description"></a>

The result of a `DescribeAvailabilityOptions` request. Indicates whether or not the Multi-AZ option is enabled for the domain specified in the request. 

## Contents
<a name="API_DescribeAvailabilityOptionsResult_Contents"></a>

 **AvailabilityOptions**   
The availability options configured for the domain. Indicates whether Multi-AZ is enabled for the domain.   
Type: [AvailabilityOptionsStatus](API_AvailabilityOptionsStatus.md)   
 Required: No 

# DescribeDomainsResult
<a name="API_DescribeDomainsResult"></a>

## Description
<a name="API_DescribeDomainsResult_Description"></a>

The result of a `DescribeDomains` request. Contains the status of the domains specified in the request or all domains owned by the account.

## Contents
<a name="API_DescribeDomainsResult_Contents"></a>

 **DomainStatusList**   
A list that contains the status of each requested domain.  
Type: [DomainStatus](API_DomainStatus.md) list   
 Required: Yes 

# DescribeExpressionsResult
<a name="API_DescribeExpressionsResult"></a>

## Description
<a name="API_DescribeExpressionsResult_Description"></a>

The result of a `DescribeExpressions` request. Contains the expressions configured for the domain specified in the request.

## Contents
<a name="API_DescribeExpressionsResult_Contents"></a>

 **Expressions**   
The expressions configured for the domain.  
Type: [ExpressionStatus](API_ExpressionStatus.md) list   
 Required: Yes 

# DescribeIndexFieldsResult
<a name="API_DescribeIndexFieldsResult"></a>

## Description
<a name="API_DescribeIndexFieldsResult_Description"></a>

The result of a `DescribeIndexFields` request. Contains the index fields configured for the domain specified in the request.

## Contents
<a name="API_DescribeIndexFieldsResult_Contents"></a>

 **IndexFields**   
The index fields configured for the domain.  
Type: [IndexFieldStatus](API_IndexFieldStatus.md) list   
 Required: Yes 

# DescribeScalingParametersResult
<a name="API_DescribeScalingParametersResult"></a>

## Description
<a name="API_DescribeScalingParametersResult_Description"></a>

The result of a `DescribeScalingParameters` request. Contains the scaling parameters configured for the domain specified in the request.

## Contents
<a name="API_DescribeScalingParametersResult_Contents"></a>

 **ScalingParameters**   
The status and configuration of a search domain's scaling parameters.   
Type: [ScalingParametersStatus](API_ScalingParametersStatus.md)   
 Required: Yes 

# DescribeServiceAccessPoliciesResult
<a name="API_DescribeServiceAccessPoliciesResult"></a>

## Description
<a name="API_DescribeServiceAccessPoliciesResult_Description"></a>

The result of a `DescribeServiceAccessPolicies` request.

## Contents
<a name="API_DescribeServiceAccessPoliciesResult_Contents"></a>

 **AccessPolicies**   
The access rules configured for the domain specified in the request.  
Type: [AccessPoliciesStatus](API_AccessPoliciesStatus.md)   
 Required: Yes 

# DescribeSuggestersResult
<a name="API_DescribeSuggestersResult"></a>

## Description
<a name="API_DescribeSuggestersResult_Description"></a>

The result of a `DescribeSuggesters` request.

## Contents
<a name="API_DescribeSuggestersResult_Contents"></a>

 **Suggesters**   
The suggesters configured for the domain specified in the request.  
Type: [SuggesterStatus](API_SuggesterStatus.md) list   
 Required: Yes 

# DocumentSuggesterOptions
<a name="API_DocumentSuggesterOptions"></a>

## Description
<a name="API_DocumentSuggesterOptions_Description"></a>

Options for a search suggester.

## Contents
<a name="API_DocumentSuggesterOptions_Contents"></a>

 **FuzzyMatching**   
The level of fuzziness allowed when suggesting matches for a string: `none`, `low`, or `high`. With none, the specified string is treated as an exact prefix. With low, suggestions must differ from the specified string by no more than one character. With high, suggestions can differ by up to two characters. The default is none.   
Type: String  
 Valid Values: `none | low | high`   
 Required: No 

 **SortExpression**   
An expression that computes a score for each suggestion to control how they are sorted. The scores are rounded to the nearest integer, with a floor of 0 and a ceiling of 2^31-1. A document's relevance score is not computed for suggestions, so sort expressions cannot reference the `_score` value. To sort suggestions using a numeric field or existing expression, simply specify the name of the field or expression. If no expression is configured for the suggester, the suggestions are sorted with the closest matches listed first.  
Type: String  
 Required: No 

 **SourceField**   
The name of the index field you want to use for suggestions.   
Type: String  
 Length constraints: Minimum length of 1. Maximum length of 64.   
 Required: Yes 

# DomainEndpointOptions
<a name="API_DomainEndpointOptions"></a>

## Description
<a name="API_DomainEndpointOptions_Description"></a>

Whether to require that all requests to the domain arrive over HTTPS. We recommend `Policy-Min-TLS-1-2-2019-07` for `TLSSecurityPolicy`. For compatibility with older clients, the default is `Policy-Min-TLS-1-0-2019-07`.

## Contents
<a name="API_DomainEndpointOptions_Contents"></a>

 **EnforceHTTPS**  
Enables or disables the requirement that all requests to the domain arrive over HTTPS.  
Type: Boolean  
Valid Values: `true | false`  
Required: No

 **TLSSecurityPolicy**  
The minimum required TLS version.  
Type: String  
Valid Values: `Policy-Min-TLS-1-2-2019-07 | Policy-Min-TLS-1-0-2019-07`  
Required: No

# DomainEndpointOptionsStatus
<a name="API_DomainEndpointOptionsStatus"></a>

## Description
<a name="API_DomainEndpointOptionsStatus_Description"></a>

The configuration and status of the domain's endpoint options.

## Contents
<a name="API_DomainEndpointOptionsStatus_Contents"></a>

 **Options**  
The current configuration.  
Type: [DomainEndpointOptions](API_DomainEndpointOptions.md)

 **Status**  
The status of the configuration option.  
Type: [OptionStatus](API_OptionStatus.md)

# DomainStatus
<a name="API_DomainStatus"></a>

## Description
<a name="API_DomainStatus_Description"></a>

The current status of the search domain.

## Contents
<a name="API_DomainStatus_Contents"></a>

 **ARN**   
The Amazon Resource Name (ARN) of the search domain. See [Identifiers for IAM Entities](http://docs.aws.amazon.com/IAM/latest/UserGuide/index.html?Using_Identifiers.html) in *Using AWS Identity and Access Management* for more information.  
Type: String  
 Required: No 

 **Created**   
True if the search domain is created. It can take several minutes to initialize a domain when [CreateDomain](API_CreateDomain.md) is called. Newly created search domains are returned from [DescribeDomains](API_DescribeDomains.md) with a false value for Created until domain creation is complete.  
Type: Boolean  
 Required: No 

 **Deleted**   
True if the search domain has been deleted. The system must clean up resources dedicated to the search domain when [DeleteDomain](API_DeleteDomain.md) is called. Newly deleted search domains are returned from [DescribeDomains](API_DescribeDomains.md) with a true value for IsDeleted for several minutes until resource cleanup is complete.  
Type: Boolean  
 Required: No 

 **DocService**   
The service endpoint for updating documents in a search domain.  
Type: [ServiceEndpoint](API_ServiceEndpoint.md)   
 Required: No 

 **DomainId**   
An internally generated unique identifier for a domain.  
Type: String  
 Length constraints: Minimum length of 1. Maximum length of 64.   
 Required: Yes 

 **DomainName**   
A string that represents the name of a domain. Domain names are unique across the domains owned by an account within an AWS region. Domain names start with a letter or number and can contain the following characters: a-z (lowercase), 0-9, and - (hyphen).  
Type: String  
 Length constraints: Minimum length of 3. Maximum length of 28.   
 Required: Yes 

 **Limits**   
Type: [Limits](API_Limits.md)   
 Required: No 

 **Processing**   
True if processing is being done to activate the current domain configuration.  
Type: Boolean  
 Required: No 

 **RequiresIndexDocuments**   
True if [IndexDocuments](API_IndexDocuments.md) needs to be called to activate the current domain configuration.  
Type: Boolean  
 Required: Yes 

 **SearchInstanceCount**   
The number of search instances that are available to process search requests.  
Type: Integer  
 Required: No 

 **SearchInstanceType**   
The instance type that is being used to process search requests.  
Type: String  
 Required: No 

 **SearchPartitionCount**   
The number of partitions across which the search index is spread.  
Type: Integer  
 Required: No 

 **SearchService**   
The service endpoint for requesting search results from a search domain.  
Type: [ServiceEndpoint](API_ServiceEndpoint.md)   
 Required: No 

# DoubleArrayOptions
<a name="API_DoubleArrayOptions"></a>

## Description
<a name="API_DoubleArrayOptions_Description"></a>

Options for a field that contains an array of double-precision 64-bit floating point values. Present if `IndexFieldType` specifies the field is of type `double-array`. All options are enabled by default.

## Contents
<a name="API_DoubleArrayOptions_Contents"></a>

 **DefaultValue**   
 A value to use for the field if the field isn't specified for a document.   
Type: Double  
 Required: No 

 **FacetEnabled**   
Whether facet information can be returned for the field.  
Type: Boolean  
 Required: No 

 **ReturnEnabled**   
Whether the contents of the field can be returned in the search results.  
Type: Boolean  
 Required: No 

 **SearchEnabled**   
Whether the contents of the field are searchable.  
Type: Boolean  
 Required: No 

 **SourceFields**   
A list of source fields to map to the field.   
Type: String  
 Required: No 

# DoubleOptions
<a name="API_DoubleOptions"></a>

## Description
<a name="API_DoubleOptions_Description"></a>

Options for a double-precision 64-bit floating point field. Present if `IndexFieldType` specifies the field is of type `double`. All options are enabled by default.

## Contents
<a name="API_DoubleOptions_Contents"></a>

 **DefaultValue**   
A value to use for the field if the field isn't specified for a document. This can be important if you are using the field in an expression and that field is not present in every document.  
Type: Double  
 Required: No 

 **FacetEnabled**   
Whether facet information can be returned for the field.  
Type: Boolean  
 Required: No 

 **ReturnEnabled**   
Whether the contents of the field can be returned in the search results.  
Type: Boolean  
 Required: No 

 **SearchEnabled**   
Whether the contents of the field are searchable.  
Type: Boolean  
 Required: No 

 **SortEnabled**   
Whether the field can be used to sort the search results.  
Type: Boolean  
 Required: No 

 **SourceField**   
The name of the source field to map to the field.   
Type: String  
 Length constraints: Minimum length of 1. Maximum length of 64.   
 Required: No 

# Expression
<a name="API_Expression"></a>

## Description
<a name="API_Expression_Description"></a>

A named expression that can be evaluated at search time. Can be used to sort the search results, define other expressions, or return computed information in the search results. 

## Contents
<a name="API_Expression_Contents"></a>

 **ExpressionName**   
Names must begin with a letter and can contain the following characters: a-z (lowercase), 0-9, and \$1 (underscore).  
Type: String  
 Length constraints: Minimum length of 1. Maximum length of 64.   
 Required: Yes 

 **ExpressionValue**   
The expression to evaluate for sorting while processing a search request. The `Expression` syntax is based on JavaScript expressions. For more information, see [Configuring Expressions](http://docs.aws.amazon.com/cloudsearch/latest/developerguide/configuring-expressions.html) in the *Amazon CloudSearch Developer Guide*.  
Type: String  
 Length constraints: Minimum length of 1. Maximum length of 10240.   
 Required: Yes 

# ExpressionStatus
<a name="API_ExpressionStatus"></a>

## Description
<a name="API_ExpressionStatus_Description"></a>

The value of an `Expression` and its current status.

## Contents
<a name="API_ExpressionStatus_Contents"></a>

 **Options**   
The expression that is evaluated for sorting while processing a search request.  
Type: [Expression](API_Expression.md)   
 Required: Yes 

 **Status**   
The status of domain configuration option.  
Type: [OptionStatus](API_OptionStatus.md)   
 Required: Yes 

# IndexDocumentsResult
<a name="API_IndexDocumentsResult"></a>

## Description
<a name="API_IndexDocumentsResult_Description"></a>

The result of an `IndexDocuments` request. Contains the status of the indexing operation, including the fields being indexed.

## Contents
<a name="API_IndexDocumentsResult_Contents"></a>

 **FieldNames**   
The names of the fields that are currently being indexed.  
Type: String list   
 Length constraints: Minimum length of 1. Maximum length of 64.   
 Required: No 

# IndexField
<a name="API_IndexField"></a>

## Description
<a name="API_IndexField_Description"></a>

Configuration information for a field in the index, including its name, type, and options. The supported options depend on the ` IndexFieldType `.

## Contents
<a name="API_IndexField_Contents"></a>

 **DateArrayOptions**   
Options for a field that contains an array of dates. Present if `IndexFieldType` specifies the field is of type `date-array`. All options are enabled by default.  
Type: [DateArrayOptions](API_DateArrayOptions.md)   
 Required: No 

 **DateOptions**   
Options for a date field. Dates and times are specified in UTC (Coordinated Universal Time) according to IETF RFC3339: yyyy-mm-ddT00:00:00Z. Present if `IndexFieldType` specifies the field is of type `date`. All options are enabled by default.  
Type: [DateOptions](API_DateOptions.md)   
 Required: No 

 **DoubleArrayOptions**   
Options for a field that contains an array of double-precision 64-bit floating point values. Present if `IndexFieldType` specifies the field is of type `double-array`. All options are enabled by default.  
Type: [DoubleArrayOptions](API_DoubleArrayOptions.md)   
 Required: No 

 **DoubleOptions**   
Options for a double-precision 64-bit floating point field. Present if `IndexFieldType` specifies the field is of type `double`. All options are enabled by default.  
Type: [DoubleOptions](API_DoubleOptions.md)   
 Required: No 

 **IndexFieldName**   
A string that represents the name of an index field. CloudSearch supports regular index fields as well as dynamic fields. A dynamic field's name defines a pattern that begins or ends with a wildcard. Any document fields that don't map to a regular index field but do match a dynamic field's pattern are configured with the dynamic field's indexing options.   
Regular field names begin with a letter and can contain the following characters: a-z (lowercase), 0-9, and \$1 (underscore). Dynamic field names must begin or end with a wildcard (\$1). The wildcard can also be the only character in a dynamic field name. Multiple wildcards, and wildcards embedded within a string are not supported.   
The name `score` is reserved and cannot be used as a field name. To reference a document's ID, you can use the name `_id`.   
Type: String  
 Length constraints: Minimum length of 1. Maximum length of 64.   
 Required: Yes 

 **IndexFieldType**   
The type of field. The valid options for a field depend on the field type. For more information about the supported field types, see [Configuring Index Fields](http://docs.aws.amazon.com/cloudsearch/latest/developerguide/configuring-index-fields.html) in the *Amazon CloudSearch Developer Guide*.  
Type: String  
 Valid Values: `int | double | literal | text | date | latlon | int-array | double-array | literal-array | text-array | date-array`   
 Required: Yes 

 **IntArrayOptions**   
Options for a field that contains an array of 64-bit signed integers. Present if `IndexFieldType` specifies the field is of type `int-array`. All options are enabled by default.  
Type: [IntArrayOptions](API_IntArrayOptions.md)   
 Required: No 

 **IntOptions**   
Options for a 64-bit signed integer field. Present if `IndexFieldType` specifies the field is of type `int`. All options are enabled by default.  
Type: [IntOptions](API_IntOptions.md)   
 Required: No 

 **LatLonOptions**   
Options for a latlon field. A latlon field contains a location stored as a latitude and longitude value pair. Present if `IndexFieldType` specifies the field is of type `latlon`. All options are enabled by default.  
Type: [LatLonOptions](API_LatLonOptions.md)   
 Required: No 

 **LiteralArrayOptions**   
Options for a field that contains an array of literal strings. Present if `IndexFieldType` specifies the field is of type `literal-array`. All options are enabled by default.  
Type: [LiteralArrayOptions](API_LiteralArrayOptions.md)   
 Required: No 

 **LiteralOptions**   
Options for literal field. Present if `IndexFieldType` specifies the field is of type `literal`. All options are enabled by default.  
Type: [LiteralOptions](API_LiteralOptions.md)   
 Required: No 

 **TextArrayOptions**   
Options for a field that contains an array of text strings. Present if `IndexFieldType` specifies the field is of type `text-array`. A `text-array` field is always searchable. All options are enabled by default.  
Type: [TextArrayOptions](API_TextArrayOptions.md)   
 Required: No 

 **TextOptions**   
Options for text field. Present if `IndexFieldType` specifies the field is of type `text`. A `text` field is always searchable. All options are enabled by default.  
Type: [TextOptions](API_TextOptions.md)   
 Required: No 

# IndexFieldStatus
<a name="API_IndexFieldStatus"></a>

## Description
<a name="API_IndexFieldStatus_Description"></a>

The value of an `IndexField` and its current status.

## Contents
<a name="API_IndexFieldStatus_Contents"></a>

 **Options**   
Configuration information for a field in the index, including its name, type, and options. The supported options depend on the ` IndexFieldType `.  
Type: [IndexField](API_IndexField.md)   
 Required: Yes 

 **Status**   
The status of domain configuration option.  
Type: [OptionStatus](API_OptionStatus.md)   
 Required: Yes 

# IntArrayOptions
<a name="API_IntArrayOptions"></a>

## Description
<a name="API_IntArrayOptions_Description"></a>

Options for a field that contains an array of 64-bit signed integers. Present if `IndexFieldType` specifies the field is of type `int-array`. All options are enabled by default.

## Contents
<a name="API_IntArrayOptions_Contents"></a>

 **DefaultValue**   
 A value to use for the field if the field isn't specified for a document.   
Type: Long  
 Required: No 

 **FacetEnabled**   
Whether facet information can be returned for the field.  
Type: Boolean  
 Required: No 

 **ReturnEnabled**   
Whether the contents of the field can be returned in the search results.  
Type: Boolean  
 Required: No 

 **SearchEnabled**   
Whether the contents of the field are searchable.  
Type: Boolean  
 Required: No 

 **SourceFields**   
A list of source fields to map to the field.   
Type: String  
 Required: No 

# IntOptions
<a name="API_IntOptions"></a>

## Description
<a name="API_IntOptions_Description"></a>

Options for a 64-bit signed integer field. Present if `IndexFieldType` specifies the field is of type `int`. All options are enabled by default.

## Contents
<a name="API_IntOptions_Contents"></a>

 **DefaultValue**   
 A value to use for the field if the field isn't specified for a document. This can be important if you are using the field in an expression and that field is not present in every document.   
Type: Long  
 Required: No 

 **FacetEnabled**   
Whether facet information can be returned for the field.  
Type: Boolean  
 Required: No 

 **ReturnEnabled**   
Whether the contents of the field can be returned in the search results.  
Type: Boolean  
 Required: No 

 **SearchEnabled**   
Whether the contents of the field are searchable.  
Type: Boolean  
 Required: No 

 **SortEnabled**   
Whether the field can be used to sort the search results.  
Type: Boolean  
 Required: No 

 **SourceField**   
The name of the source field to map to the field.   
Type: String  
 Length constraints: Minimum length of 1. Maximum length of 64.   
 Required: No 

# LatLonOptions
<a name="API_LatLonOptions"></a>

## Description
<a name="API_LatLonOptions_Description"></a>

Options for a latlon field. A latlon field contains a location stored as a latitude and longitude value pair. Present if `IndexFieldType` specifies the field is of type `latlon`. All options are enabled by default.

## Contents
<a name="API_LatLonOptions_Contents"></a>

 **DefaultValue**   
 A value to use for the field if the field isn't specified for a document.   
Type: String  
 Length constraints: Minimum length of 0. Maximum length of 1024.   
 Required: No 

 **FacetEnabled**   
Whether facet information can be returned for the field.  
Type: Boolean  
 Required: No 

 **ReturnEnabled**   
Whether the contents of the field can be returned in the search results.  
Type: Boolean  
 Required: No 

 **SearchEnabled**   
Whether the contents of the field are searchable.  
Type: Boolean  
 Required: No 

 **SortEnabled**   
Whether the field can be used to sort the search results.  
Type: Boolean  
 Required: No 

 **SourceField**   
A string that represents the name of an index field. CloudSearch supports regular index fields as well as dynamic fields. A dynamic field's name defines a pattern that begins or ends with a wildcard. Any document fields that don't map to a regular index field but do match a dynamic field's pattern are configured with the dynamic field's indexing options.   
Regular field names begin with a letter and can contain the following characters: a-z (lowercase), 0-9, and \$1 (underscore). Dynamic field names must begin or end with a wildcard (\$1). The wildcard can also be the only character in a dynamic field name. Multiple wildcards, and wildcards embedded within a string are not supported.   
The name `score` is reserved and cannot be used as a field name. To reference a document's ID, you can use the name `_id`.   
Type: String  
 Length constraints: Minimum length of 1. Maximum length of 64.   
 Required: No 

# Limits
<a name="API_Limits"></a>

## Description
<a name="API_Limits_Description"></a>

No action documentation available.

## Contents
<a name="API_Limits_Contents"></a>

 **MaximumPartitionCount**   
Type: Integer  
 Required: Yes 

 **MaximumReplicationCount**   
Type: Integer  
 Required: Yes 

# ListDomainNamesResult
<a name="API_ListDomainNamesResult"></a>

## Description
<a name="API_ListDomainNamesResult_Description"></a>

The result of a `ListDomainNames` request. Contains a list of the domains owned by an account.

## Contents
<a name="API_ListDomainNamesResult_Contents"></a>

 **DomainNames**   
The names of the search domains owned by an account.  
Type: String to String map   
 Required: No 

# LiteralArrayOptions
<a name="API_LiteralArrayOptions"></a>

## Description
<a name="API_LiteralArrayOptions_Description"></a>

Options for a field that contains an array of literal strings. Present if `IndexFieldType` specifies the field is of type `literal-array`. All options are enabled by default.

## Contents
<a name="API_LiteralArrayOptions_Contents"></a>

 **DefaultValue**   
 A value to use for the field if the field isn't specified for a document.   
Type: String  
 Length constraints: Minimum length of 0. Maximum length of 1024.   
 Required: No 

 **FacetEnabled**   
Whether facet information can be returned for the field.  
Type: Boolean  
 Required: No 

 **ReturnEnabled**   
Whether the contents of the field can be returned in the search results.  
Type: Boolean  
 Required: No 

 **SearchEnabled**   
Whether the contents of the field are searchable.  
Type: Boolean  
 Required: No 

 **SourceFields**   
A list of source fields to map to the field.   
Type: String  
 Required: No 

# LiteralOptions
<a name="API_LiteralOptions"></a>

## Description
<a name="API_LiteralOptions_Description"></a>

Options for literal field. Present if `IndexFieldType` specifies the field is of type `literal`. All options are enabled by default.

## Contents
<a name="API_LiteralOptions_Contents"></a>

 **DefaultValue**   
 A value to use for the field if the field isn't specified for a document.   
Type: String  
 Length constraints: Minimum length of 0. Maximum length of 1024.   
 Required: No 

 **FacetEnabled**   
Whether facet information can be returned for the field.  
Type: Boolean  
 Required: No 

 **ReturnEnabled**   
Whether the contents of the field can be returned in the search results.  
Type: Boolean  
 Required: No 

 **SearchEnabled**   
Whether the contents of the field are searchable.  
Type: Boolean  
 Required: No 

 **SortEnabled**   
Whether the field can be used to sort the search results.  
Type: Boolean  
 Required: No 

 **SourceField**   
A string that represents the name of an index field. CloudSearch supports regular index fields as well as dynamic fields. A dynamic field's name defines a pattern that begins or ends with a wildcard. Any document fields that don't map to a regular index field but do match a dynamic field's pattern are configured with the dynamic field's indexing options.   
Regular field names begin with a letter and can contain the following characters: a-z (lowercase), 0-9, and \$1 (underscore). Dynamic field names must begin or end with a wildcard (\$1). The wildcard can also be the only character in a dynamic field name. Multiple wildcards, and wildcards embedded within a string are not supported.   
The name `score` is reserved and cannot be used as a field name. To reference a document's ID, you can use the name `_id`.   
Type: String  
 Length constraints: Minimum length of 1. Maximum length of 64.   
 Required: No 

# OptionStatus
<a name="API_OptionStatus"></a>

## Description
<a name="API_OptionStatus_Description"></a>

The status of domain configuration option.

## Contents
<a name="API_OptionStatus_Contents"></a>

 **CreationDate**   
A timestamp for when this option was created.  
Type: DateTime  
 Required: Yes 

 **PendingDeletion**   
Indicates that the option will be deleted once processing is complete.  
Type: Boolean  
 Required: No 

 **State**   
The state of processing a change to an option. Possible values:  
+ `RequiresIndexDocuments`: the option's latest value will not be deployed until [IndexDocuments](API_IndexDocuments.md) has been called and indexing is complete.
+ `Processing`: the option's latest value is in the process of being activated.
+ `Active`: the option's latest value is completely deployed.
+ `FailedToValidate`: the option value is not compatible with the domain's data and cannot be used to index the data. You must either modify the option value or update or remove the incompatible documents.
Type: String  
 Valid Values: `RequiresIndexDocuments | Processing | Active | FailedToValidate`   
 Required: Yes 

 **UpdateDate**   
A timestamp for when this option was last updated.  
Type: DateTime  
 Required: Yes 

 **UpdateVersion**   
A unique integer that indicates when this option was last updated.  
Type: Integer  
 Required: No 

# ScalingParameters
<a name="API_ScalingParameters"></a>

## Description
<a name="API_ScalingParameters_Description"></a>

The desired instance type and desired number of replicas of each index partition.

## Contents
<a name="API_ScalingParameters_Contents"></a>

 **DesiredInstanceType**   
The instance type that you want to preconfigure for your domain. For example, `search.medium`.  
Type: String  
Valid Values: `search.small | search.medium | search.large | search.xlarge | search.2xlarge`   
For older domains, valid values might also include `search.m1.small`, `search.m1.large`, `search.m2.xlarge`, `search.m2.2xlarge`, `search.m3.medium`, `search.m3.large`, `search.m3.xlarge`, and `search.m3.2xlarge`.
Required: No 

 **DesiredPartitionCount**   
The number of partitions you want to preconfigure for your domain. Only valid when you select `search.2xlarge` as the instance type.  
Type: Integer  
Required: No 

 **DesiredReplicationCount**   
The number of replicas you want to preconfigure for each index partition.  
Type: Integer  
Required: No 

# ScalingParametersStatus
<a name="API_ScalingParametersStatus"></a>

## Description
<a name="API_ScalingParametersStatus_Description"></a>

The status and configuration of a search domain's scaling parameters. 

## Contents
<a name="API_ScalingParametersStatus_Contents"></a>

 **Options**   
The desired instance type and desired number of replicas of each index partition.  
Type: [ScalingParameters](API_ScalingParameters.md)   
 Required: Yes 

 **Status**   
The status of domain configuration option.  
Type: [OptionStatus](API_OptionStatus.md)   
 Required: Yes 

# ServiceEndpoint
<a name="API_ServiceEndpoint"></a>

## Description
<a name="API_ServiceEndpoint_Description"></a>

The endpoint to which service requests can be submitted.

## Contents
<a name="API_ServiceEndpoint_Contents"></a>

 **Endpoint**   
The endpoint to which service requests can be submitted. For example, `search-imdb-movies-oopcnjfn6ugofer3zx5iadxxca.eu-west-1.cloudsearch.amazonaws.com` or `doc-imdb-movies-oopcnjfn6ugofer3zx5iadxxca.eu-west-1.cloudsearch.amazonaws.com`.  
Type: String  
 Required: No 

# Suggester
<a name="API_Suggester"></a>

## Description
<a name="API_Suggester_Description"></a>

Configuration information for a search suggester. Each suggester has a unique name and specifies the text field you want to use for suggestions. The following options can be configured for a suggester: `FuzzyMatching`, `SortExpression`. 

## Contents
<a name="API_Suggester_Contents"></a>

 **DocumentSuggesterOptions**   
Options for a search suggester.  
Type: [DocumentSuggesterOptions](API_DocumentSuggesterOptions.md)   
 Required: Yes 

 **SuggesterName**   
Names must begin with a letter and can contain the following characters: a-z (lowercase), 0-9, and \$1 (underscore).  
Type: String  
 Length constraints: Minimum length of 1. Maximum length of 64.   
 Required: Yes 

# SuggesterStatus
<a name="API_SuggesterStatus"></a>

## Description
<a name="API_SuggesterStatus_Description"></a>

The value of a `Suggester` and its current status.

## Contents
<a name="API_SuggesterStatus_Contents"></a>

 **Options**   
Configuration information for a search suggester. Each suggester has a unique name and specifies the text field you want to use for suggestions. The following options can be configured for a suggester: `FuzzyMatching`, `SortExpression`.   
Type: [Suggester](API_Suggester.md)   
 Required: Yes 

 **Status**   
The status of domain configuration option.  
Type: [OptionStatus](API_OptionStatus.md)   
 Required: Yes 

# TextArrayOptions
<a name="API_TextArrayOptions"></a>

## Description
<a name="API_TextArrayOptions_Description"></a>

Options for a field that contains an array of text strings. Present if `IndexFieldType` specifies the field is of type `text-array`. A `text-array` field is always searchable. All options are enabled by default.

## Contents
<a name="API_TextArrayOptions_Contents"></a>

 **AnalysisScheme**   
The name of an analysis scheme for a `text-array` field.  
Type: String  
 Required: No 

 **DefaultValue**   
 A value to use for the field if the field isn't specified for a document.   
Type: String  
 Length constraints: Minimum length of 0. Maximum length of 1024.   
 Required: No 

 **HighlightEnabled**   
Whether highlights can be returned for the field.  
Type: Boolean  
 Required: No 

 **ReturnEnabled**   
Whether the contents of the field can be returned in the search results.  
Type: Boolean  
 Required: No 

 **SourceFields**   
A list of source fields to map to the field.   
Type: String  
 Required: No 

# TextOptions
<a name="API_TextOptions"></a>

## Description
<a name="API_TextOptions_Description"></a>

Options for text field. Present if `IndexFieldType` specifies the field is of type `text`. A `text` field is always searchable. All options are enabled by default.

## Contents
<a name="API_TextOptions_Contents"></a>

 **AnalysisScheme**   
The name of an analysis scheme for a `text` field.  
Type: String  
 Required: No 

 **DefaultValue**   
 A value to use for the field if the field isn't specified for a document.   
Type: String  
 Length constraints: Minimum length of 0. Maximum length of 1024.   
 Required: No 

 **HighlightEnabled**   
Whether highlights can be returned for the field.  
Type: Boolean  
 Required: No 

 **ReturnEnabled**   
Whether the contents of the field can be returned in the search results.  
Type: Boolean  
 Required: No 

 **SortEnabled**   
Whether the field can be used to sort the search results.  
Type: Boolean  
 Required: No 

 **SourceField**   
A string that represents the name of an index field. CloudSearch supports regular index fields as well as dynamic fields. A dynamic field's name defines a pattern that begins or ends with a wildcard. Any document fields that don't map to a regular index field but do match a dynamic field's pattern are configured with the dynamic field's indexing options.   
Regular field names begin with a letter and can contain the following characters: a-z (lowercase), 0-9, and \$1 (underscore). Dynamic field names must begin or end with a wildcard (\$1). The wildcard can also be the only character in a dynamic field name. Multiple wildcards, and wildcards embedded within a string are not supported.   
The name `score` is reserved and cannot be used as a field name. To reference a document's ID, you can use the name `_id`.   
Type: String  
 Length constraints: Minimum length of 1. Maximum length of 64.   
 Required: No 

# UpdateAvailabilityOptionsResult
<a name="API_UpdateAvailabilityOptionsResult"></a>

## Description
<a name="API_UpdateAvailabilityOptionsResult_Description"></a>

The result of a `UpdateAvailabilityOptions` request. Contains the status of the domain's availability options. 

## Contents
<a name="API_UpdateAvailabilityOptionsResult_Contents"></a>

 **AvailabilityOptions**   
The newly-configured availability options. Indicates whether Multi-AZ is enabled for the domain.   
Type: [AvailabilityOptionsStatus](API_AvailabilityOptionsStatus.md)   
 Required: No 

# UpdateScalingParametersResult
<a name="API_UpdateScalingParametersResult"></a>

## Description
<a name="API_UpdateScalingParametersResult_Description"></a>

The result of a `UpdateScalingParameters` request. Contains the status of the newly-configured scaling parameters.

## Contents
<a name="API_UpdateScalingParametersResult_Contents"></a>

 **ScalingParameters**   
The status and configuration of a search domain's scaling parameters.   
Type: [ScalingParametersStatus](API_ScalingParametersStatus.md)   
 Required: Yes 

# UpdateServiceAccessPoliciesResult
<a name="API_UpdateServiceAccessPoliciesResult"></a>

## Description
<a name="API_UpdateServiceAccessPoliciesResult_Description"></a>

The result of an `UpdateServiceAccessPolicies` request. Contains the new access policies.

## Contents
<a name="API_UpdateServiceAccessPoliciesResult_Contents"></a>

 **AccessPolicies**   
The access rules configured for the domain.  
Type: [AccessPoliciesStatus](API_AccessPoliciesStatus.md)   
 Required: Yes 

# Common Parameters
<a name="CommonParameters"></a>

This section lists the request parameters that all actions use. Any action-specific parameters are listed in the topic for the action.

 **Action**   
The action to be performed.  
Default: None  
Type: string  
 Required: Yes 

 **AuthParams**   
The parameters that are required to authenticate a Conditional request. Contains:  
+ AWSAccessKeyID
+ SignatureVersion
+ Timestamp
+ Signature
Default: None  
 Required: Conditional 

 **AWSAccessKeyId**   
The access key ID that corresponds to the secret access key that you used to sign the request.  
Default: None  
Type: string  
 Required: Yes 

 **Expires**   
The date and time when the request signature expires, expressed in the format YYYY-MM-DDThh:mm:ssZ, as specified in the ISO 8601 standard.  
Condition: Requests must include either *Timestamp* or *Expires*, but not both.  
Default: None  
Type: string  
 Required: Conditional 

 **SecurityToken**   
The temporary security token that was obtained through a call to AWS Security Token Service. For a list of services that support AWS Security Token Service, go to [Using Temporary Security Credentials to Access AWS](http://docs.aws.amazon.com/IAM/latest/UsingSTS/UsingTokens.html) in **Using Temporary Security Credentials**.  
Default: None  
Type: string  
 Required: No 

 **Signature**   
The digital signature that you created for the request. For information about generating a signature, go to the service's developer documentation.  
Default: None  
Type: string  
 Required: Yes 

 **SignatureMethod**   
The hash algorithm that you used to create the request signature.  
Default: None  
Type: string  
 Valid Values: `HmacSHA256 | HmacSHA1`   
 Required: Yes 

 **SignatureVersion**   
The signature version you use to sign the request. Set this to the value that is recommended for your service.  
Default: None  
Type: string  
 Required: Yes 

 **Timestamp**   
The date and time when the request was signed, expressed in the format YYYY-MM-DDThh:mm:ssZ, as specified in the ISO 8601 standard.  
Condition: Requests must include either *Timestamp* or *Expires*, but not both.  
Default: None  
Type: string  
 Required: Conditional 

 **Version**   
The API version that the request is written for, expressed in the format YYYY-MM-DD.  
Default: None  
Type: string  
 Required: Yes 

# Common Errors
<a name="CommonErrors"></a>

This section lists the common errors that all actions return. Any action-specific errors are listed in the topic for the action.

 **IncompleteSignature**   
The request signature does not conform to AWS standards.  
HTTP Status Code: 400

 **InternalFailure**   
The request processing has failed because of an unknown error, exception or failure.  
HTTP Status Code: 500

 **InvalidAction**   
The action or operation requested is invalid. Verify that the action is typed correctly.  
HTTP Status Code: 400

 **InvalidClientTokenId**   
The X.509 certificate or AWS access key ID provided does not exist in our records.  
HTTP Status Code: 403

 **InvalidParameterCombination**   
Parameters that must not be used together were used together.  
HTTP Status Code: 400

 **InvalidParameterValue**   
An invalid or out-of-range value was supplied for the input parameter.  
HTTP Status Code: 400

 **InvalidQueryParameter**   
The AWS query string is malformed or does not adhere to AWS standards.  
HTTP Status Code: 400

 **MalformedQueryString**   
The query string contains a syntax error.  
HTTP Status Code: 404

 **MissingAction**   
The request is missing an action or a required parameter.  
HTTP Status Code: 400

 **MissingAuthenticationToken**   
The request must contain either a valid (registered) AWS access key ID or X.509 certificate.  
HTTP Status Code: 403

 **MissingParameter**   
A required parameter for the specified action is not supplied.  
HTTP Status Code: 400

 **OptInRequired**   
The AWS access key ID needs a subscription for the service.  
HTTP Status Code: 403

 **RequestExpired**   
The request reached the service more than 15 minutes after the date stamp on the request or more than 15 minutes after the request expiration date (such as for pre-signed URLs), or the date stamp on the request is more than 15 minutes in the future.  
HTTP Status Code: 400

 **ServiceUnavailable**   
The request has failed due to a temporary failure of the server.  
HTTP Status Code: 503

 **Throttling**   
The request was denied due to request throttling.  
HTTP Status Code: 400

 **ValidationError**   
The input fails to satisfy the constraints specified by an AWS service.  
HTTP Status Code: 400

# Document Service API Reference for Amazon CloudSearch
<a name="document-service-api"></a>

You use the document service API to add, replace, or delete documents in your Amazon CloudSearch domain. For more information managing the documents in your search domain, see [Uploading Data to an Amazon CloudSearch Domain](uploading-data.md).

 The other APIs you use to interact with Amazon CloudSearch are: 
+ [Configuration API Reference for Amazon CloudSearch](configuration-api.md)—Set up and manage your search domain.
+ [Search API Reference](search-api.md)—Search your domain.

# documents/batch
<a name="documents-batch-resource"></a>

This section describes the HTTP request and response messages for the `documents/batch` resource. 

You create document batches to describe the data that you want to upload to an Amazon CloudSearch domain. A document batch is a collection of add and delete operations that represent the documents you want to add, update, or delete from your domain. Batches can be described in either JSON or XML. A batch provides all of the information Amazon CloudSearch needs for indexing. Each item that you want to be able to return as a search result (such as a product) is represented as a document—a batch is simply a collection of add and delete requests for individual documents. Every document has a unique ID and one or more fields that contain the data that you want to search and return in results. 

To update a document, you specify an add request with the document ID of the document you want to update. For more information, see [Adding and Updating Documents in Amazon CloudSearch](preparing-data.md#adding-documents). Similarly, to delete a document, you submit a delete request with the document ID of the document you want to delete. For information about deleting documents, see [Deleting Documents in Amazon CloudSearch](preparing-data.md#deleting-documents).

For more information about submitting data for indexing, see [Uploading Data to an Amazon CloudSearch Domain](uploading-data.md).

## documents/batch JSON API
<a name="documents-batch-json"></a>

### JSON documents/batch Requests
<a name="documents-batch-json-request"></a>

The body of a `documents/batch` request uses JSON or XML to specify the document operations you want to perform. A JSON representation of a batch is a collection of objects that define individual add and delete operations. The `type` property identifies whether an object represents an add or delete operation. For example, the following JSON batch adds one document and deletes one document:

```
[
{ "type": "add",
  "id":   "tt0484562",
  "fields": {
    "title": "The Seeker: The Dark Is Rising",
    "directors": ["Cunningham, David L."],
    "genres": ["Adventure","Drama","Fantasy","Thriller"],
    "actors": ["McShane, Ian","Eccleston, Christopher","Conroy, Frances",
              "Crewson, Wendy","Ludwig, Alexander","Cosmo, James",
              "Warner, Amelia","Hickey, John Benjamin","Piddock, Jim",
              "Lockhart, Emma"]
  }
},
{ "type": "delete",
  "id":   "tt0484575"
}]
```

**Note**  
When specifying document batches in JSON, the value for a field cannot be `null`.

The [JSON schema](http://json-schema.org/) representation of a batch is shown below:

```
{
    "type": "array",
    "minItems": 1,
    "items": {
        "type": "object",
        "properties": {
            "type": {
                "type": "string",
                "enum": ["add", "delete"],
                "required": true
            },
            "id": {
                "type": "string",
                "pattern": "[a-z0-9][a-z0-9_]{0,127}",
                "minLength": 1,
                "maxLength": 128,
                "required": true
            },
            "fields": {
                "type": "object",
                "patternProperties": {
                    "[a-zA-Z0-9][a-zA-Z0-9_]{0,63}": {
                        "type": "string",
                    }
                }
            }
        }
    }
}
```

#### documents/batch Request Properties (JSON)
<a name="documents-batch-json-properties"></a>


****  

| Property | Description | Required | 
| --- | --- | --- | 
| type | The operation type, add or delete.  | Yes | 
| id | An alphanumeric string. Allowed characters are: A-Z (upper-case letters), -a-z (lower-case letters), 0-9, \$1 (underscore), - (hyphen), / (forward slash), \$1 (hash sign), : (colon). The max length is 128 characters. | Yes | 
| fields | A collection of one or more field\$1name properties that define the fields the document contains. Condition: Required for add operations. Must contain at least one *field\$1name* property.  | Conditional | 
| field\$1name | Specifies a field within the document being added. Field names must begin with a letter and can contain the following characters: a-z (lower case), 0-9, and \$1 (underscore). Field names must be at least 3 and no more than 64 characters. The name score is reserved and cannot be used as a field name.  To specify multiple values for a field, you specify an array of values instead of a single value. For example: `"genre": ["Adventure","Drama","Fantasy","Thriller"]`  Condition: At least one field must be specified in the fields object.  | Conditional | 

### documents/batch Response (JSON)
<a name="documents-batch-json-response"></a>

The response body lists the number of adds and deletes that were performed and any errors or warnings that were generated. 

The JSON schema representation of a document service API response is shown below:

```
{
    "type": "object",
    "properties": {
        "status": {
            "type": "text",
            "enum": ["success", "error"],
            "required": true
        },
        "adds": {
            "type": "integer",
            "minimum": 0,
            "required": true
        },
        "deletes": {
            "type": "integer",
            "minimum": 0,
            "required": true
        },
        "errors": {
            "type": "array",
            "required": false,
            "items": {
                "type": "object",
                "properties": {
                    "message": {
                        "type": "string",
                        "required": true
                    }
                }
            }
        },
        "warnings": {
            "type": "array",
            "required": false,
            "items": {
                "type": "object",
                "properties": {
                    "message": {
                        "type": "string",
                        "required": true
                    }
                }
            }
        }
    }
}
```

#### documents/batch Response Properties (JSON)
<a name="documents-batch-json-response-properties"></a>


****  

| Property | Description | 
| --- | --- | 
| status | The result status, which is either success or error.  | 
| adds | The number of add document operations that were performed. Always zero when the status is error.  | 
| deletes | The number of delete document operations that were performed. Always zero when the status is error. For information on permanently deleting documents, see [Deleting Documents in Amazon CloudSearch](preparing-data.md#deleting-documents). | 
| errors | Provides information about a parsing or validation error. Specified only if the status is error.  | 
| warning | Provides information about a warning generated during parsing or validation.  | 

# documents/batch XML API
<a name="documents-batch-xml"></a>

## XML documents/batch Requests
<a name="documents-batch-xml-request"></a>

The body of a `documents/batch` request specifies the document operations you want to perform in XML. For example:

```
<batch>
	<add  id="tt0484562">
		<field name="title">The Seeker: The Dark Is Rising</field>
		<field name="director">Cunningham, David L.</field>
		<field name="genre">Adventure</field>
		<field name="genre">Drama</field>
		<field name="genre">Fantasy</field>
		<field name="genre">Thriller</field>
		<field name="actor">McShane, Ian</field>
		<field name="actor">Eccleston, Christopher</field>
		<field name="actor">Conroy, Frances</field>
		<field name="actor">Ludwig, Alexander</field>
		<field name="actor">Crewson, Wendy</field>
		<field name="actor">Warner, Amelia</field>
		<field name="actor">Cosmo, James</field>
		<field name="actor">Hickey, John Benjamin</field>
		<field name="actor">Piddock, Jim</field>
		<field name="actor">Lockhart, Emma</field>
	</add>
	<delete id="tt0301199" />
</batch>
```

### documents/batch Request Elements (XML)
<a name="documents-batch-xml-request-elements"></a>


****  

| Element | Description | Required | 
| --- | --- | --- | 
| batch | The collection of add or delete operations that you want to submit to your search domain. A batch must contain at least one add or delete element.  | Yes | 
| add | Specifies a document that you want to add to your search domain. The id attributes is required and an add element must contain at least one field. Attributes: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/cloudsearch/latest/developerguide/documents-batch-xml.html)  | No | 
| field | Specifies a field in the document being added. The name attribute and a field value are required. Field names must begin with a letter and can contain the following characters: a-z (lower case), 0-9, and \$1 (underscore). The name score is reserved and cannot be used as a field name. The field value can be text or CDATA.  To specify multiple values for a field, you include multiple field elements with the same name. For example: <pre><field name="genre">Adventure</field><br /><field name="genre">Drama</field><br /><field name="genre">Fantasy</field><br /><field name="genre">Thriller</field></pre> Constraints: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/cloudsearch/latest/developerguide/documents-batch-xml.html)  Condition: At least one field must be specified in an add element.  | Conditional | 
| delete | Specifies a document that you want to remove from your search domain. The id attribute is required. A delete element must be empty. For information on permanently deleting documents, see [Deleting Documents in Amazon CloudSearch](preparing-data.md#deleting-documents).Constraints: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/cloudsearch/latest/developerguide/documents-batch-xml.html)  | No | 

## documents/batch Response (XML)
<a name="documents-batch-xml-response"></a>

The response body lists the number of adds and deletes that were performed and any errors or warnings that were generated. 

The RelaxNG schema of a document service API response is:

```
 start = response

response = element response {
    attribute status { "success" | "error" },
    attribute adds { xsd:integer },
    attribute deletes { xsd:integer },
    element errors {
        element error {
            text
        }+
    }? &
    element warnings {
        element warning {
            text
        }+
    }?
}
```

### documents/batch Response Elements (XML)
<a name="documents-batch-xml-response-elements"></a>


****  

| Element | Description | 
| --- | --- | 
| result | Contains elements that list the errors and warnings generated when parsing and validating the request.  Attributes: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/cloudsearch/latest/developerguide/documents-batch-xml.html) Constraints: If the status is `error`, the results element contains a list of errors. If the status is `success`, the results element can contain a list of warnings, but no errors.  | 
| errors | Contains a collection of error elements that identify the errors that occurred when parsing and validating the request.  | 
| error | Provides information about a parsing or validation error. The value provides a description of the error.  | 
| warnings | Contains a collection of warning elements that identify the warnings that were generated when parsing and validating the request.  | 
| warning | Provides information about a parsing or validation warning. The value provides a description of the error.  | 

## documents/batch Status Codes
<a name="documents-batch-status-codes"></a>

A document service request can return three types of status codes:
+ 5xx status codes indicate that there was an internal server error. We recommend catching and retrying all 5xx error codes as they typically represent transient error conditions.
+ 4xx status codes indicate that the request was malformed.
+ 2xx status codes indicate that the request was processed successfully.


****  

|  Error  |  Description  | HTTP Status Code  | 
| --- | --- | --- | 
|  No Content-Type  |  The Content-Type header is missing.  |  400  | 
|  No Content-Length  |  The Content-Length header is missing.  |  411  | 
|  Incorrect Path  |  URL path does not match ''/YYYY-MM-DD/documents/batch''.  |  404  | 
|  Invalid HTTP Method  |  The HTTP method is not POST. Requests must be posted to documents/batch.  |  405  | 
|  Invalid Accept Type  |  Accept header specifies a content type other than ''application/xml'' or ''application/json''. Responses can be sent only as XML or JSON.  |  406  | 
|  Request Too Large  |  The length of the request body is larger than the maximum allowed value.  |  413  | 
|  Invalid Content Type  |  The content type is something other than "application/json" or "application/xml".  |  415  | 
|  Invalid Character Set  |  The character set is something other than ''ASCII'', ''ISO-8859-1'', or ''UTF-8''.  |  415  | 

## Common Request Headers
<a name="documents-batch-common-request-headers"></a>


****  

| Name | Description | Required | 
| --- | --- | --- | 
| Content-Type | A standard MIME type describing the format of the object data. For more information, see [W3C RFC 2616 Section 14](http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.17). Default: application/json  Constraints: application/json or application/xml only  | Required | 
| Content-Length | The length in bytes of the body of the request.  | Yes | 
| Accept | A standard MIME type describing the format of the response data. For more information, see [W3C RFC 2616 Section 14](http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.17). Default: the content-type of the request Constraints: application/json or application/xml only | No | 

## Common Response Headers
<a name="documents-batch-common-response-headers"></a>


****  

| Name | Description | 
| --- | --- | 
| Content-Type | A standard MIME type describing the format of the object data. For more information, see [W3C RFC 2616 Section 14](http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.17). Default: the value of the Accept header in the request, or the Content-Type of the request if the Accept header is missing or doesn't specify either application/xml or application/json. Constraints: application/xml or application/json only  | 
| Content-Length | The length in bytes of the body in the response.  | 

# Search API Reference for Amazon CloudSearch
<a name="search-api"></a>

**Topics**
+ [

## Search
](#search-request)
+ [

## Submitting Suggest Requests in Amazon CloudSearch
](#submitting-suggest-requests)
+ [

## Suggest
](#suggest)
+ [

## Search Service Errors
](#search-service-errors)

You use the Search API to submit search or suggestion requests to your Amazon CloudSearch domain. For more information about searching, see [Searching Your Data with Amazon CloudSearch](searching.md). For more information about suggestions, see [Getting Autocomplete Suggestions in Amazon CloudSearch](getting-suggestions.md).

The other APIs you use to interact with Amazon CloudSearch are: 
+ [Configuration API](configuration-api.md)—Set up and manage your search domain.
+ [Document Service API](document-service-api.md)—Submit the data you want to search.

## Search
<a name="search-request"></a>

This section describes the HTTP request and response messages for the search resource.

### Search Syntax
<a name="search-syntax"></a>

```
GET /2013-01-01/search
```

### Search Request Headers
<a name="search-request-headers"></a>

HOST  
The search request endpoint for the domain you're querying. You can use [DescribeDomains](API_DescribeDomains.md) to retrieve your domain's search request endpoint.   
Required: Yes

### Search Request Parameters
<a name="search-request-parameters"></a>

cursor  
Retrieves a cursor value you can use to page through large result sets. Use the `size` parameter to control the number of hits you want to include in each response. You can specify either the `cursor` or `start` parameter in a request, they are mutually exclusive. For more information, see [Paginating Results](paginating-results.md).  
To get the first cursor, specify `cursor=initial` in your initial request. In subsequent requests, specify the cursor value returned in the hits section of the response.   
For example, the following request sets the cursor value to `initial` and the `size` parameter to 100 to get the first set of hits. The cursor for the next set of hits is included in the response.  

```
search?q=john&cursor=initial&size=100&return=_no_fields
{
   "status": {
      "rid": "+/Xu5s0oHwojC6o=",
      "time-ms": 15
   },
   "hits": {
      "found": 503,
      "start": 0,
      "cursor": "VegKzpYYQW9JSVFFRU1UeWwwZERBd09EUTNPRGM9ZA",
      "hit": [
         {"id": "tt0120601"},
         {"id": "tt1801552"},
         ...
      ]
   }
}
```
To get the next set of hits, you specify the cursor value and the number of hits to retrieve.  

```
search?q=john&cursor=VegKzpYYQW9JSVFFRU1UeWwwZERBd09EUTNPRGM9ZA&size=100
```
Type: String  
Required: No

expr.NAME  
Defines an expression that can be used to sort results. You can also specify an expression as a return field. For more information about defining and using expressions, see [Configuring Expressions](configuring-expressions.md).  
You can define and use multiple expressions in a search request. For example, the following request creates two expressions that are used to sort the results and includes them in the search results:  

```
search?q=(and (term field=genres 'Sci-Fi')(term field=genres 'Comedy'))&q.parser=structured
&expr.expression1=_score*rating
&expr.expression2=(1/rank)*year
&sort=expression1 desc,expression2 desc
&return=title,rating,rank,year,_score,expression1,expression2
```
Type: String  
Required: No

facet.FIELD   
Specifies a field that you want to get facet information for—`FIELD` is the name of the field. The specified field must be facet enabled in the domain configuration. Facet options are specified as a JSON object. If the JSON object is empty, `facet.FIELD={}`, facet counts are computed for all field values, the facets are sorted by facet count, and the top 10 facets are returned in the results.   
You can specify three options in the JSON object:  
+ `sort` specifies how you want to sort the facets in the results: `bucket` or `count`. Specify `bucket` to sort alphabetically or numerically by facet value (in ascending order). Specify `count` to sort by the facet counts computed for each facet value (in descending order). To retrieve facet counts for particular values or ranges of values, use the `buckets` option instead of `sort`. 
+ `buckets` specifies an array of the facet values or ranges you want to count. Buckets are returned in the order they are specified in the request. To specify a range of values, use a comma (,) to separate the upper and lower bounds and enclose the range using brackets or braces. A square bracket, [ or ], indicates that the bound is included in the range, a curly brace, \$1 or \$1, excludes the bound. You can omit the upper or lower bound to specify an open-ended range. When omitting a bound, you must use a curly brace. The `sort` and `size` options are not valid if you specify `buckets`.
+ `size` specifies the maximum number of facets to include in the results. By default, Amazon CloudSearch returns counts for the top 10. The `size` parameter is only valid when you specify the `sort` option; it cannot be used in conjunction with `buckets`.
For example, the following request gets facet counts for the `year` field, sorts the facet counts by value and returns counts for the top three:  

```
facet.year={sort:"bucket", size:3}
```
To specify which values or range of values you want to calculate facet counts for, use the `buckets` option. For example, the following request calculates and returns the facet counts by decade:  

```
facet.year={buckets:["[1970,1979]","[1980,1989]",
             "[1990,1999]","[2000,2009]",
             "[2010,}"]}
```
 You can also specify individual values as buckets:  

```
facet.genres={buckets:["Action","Adventure","Sci-Fi"]}
```
Note that the facet values are case-sensitive—with the sample IMDb movie data, if you specify `["action","adventure","sci-fi"]` instead of `["Action","Adventure","Sci-Fi"]`, all facet counts are zero.   
Type: String  
Required: No

format  
Specifies the content type of the response.   
Type: String  
Valid Values: json\$1xml  
Default: json  
Required: No

fq  
Specifies a structured query that filters the results of a search without affecting how the results are scored and sorted. You use `fq` in conjunction with the `q` parameter to filter the documents that match the constraints specified in the `q` parameter. Specifying a filter just controls which matching documents are included in the results, it has no effect on how they are scored and sorted. The `fq` parameter supports the full structured query syntax. For more information about using filters, see [Filtering Matching Documents](filtering-results.md). For more information about structured queries, see [Structured Search Syntax](#structured-search-syntax).   
Type: String  
Required: No

highlight.FIELD  
Retrieves highlights for matches in the specified `text` or `text-array` field. Highlight options are specified as a JSON object. If the JSON object is empty, the returned field text is treated as HTML and the first match is highlighted with emphasis tags: `<em>search-term</em>`.   
You can specify four options in the JSON object:  
+ `format`—specifies the format of the data in the text field: `text` or `html`. When data is returned as HTML, all non-alphanumeric characters are encoded. The default is `html`. 
+ `max_phrases`—specifies the maximum number of occurrences of the search term(s) you want to highlight. By default, the first occurrence is highlighted. 
+ `pre_tag`—specifies the string to prepend to an occurrence of a search term. The default for HTML highlights is `<em>`. The default for text highlights is `*`. 
+ `post_tag`—specifies the string to append to an occurrence of a search term. The default for HTML highlights is `</em>`. The default for text highlights is `*`. 
Examples: `highlight.plot={}`, `highlight.plot={format:'text',max_phrases:2,pre_tag:'<b>',post_tag:'</b>'}`  
Type: String  
Required: No

partial  
Controls whether partial results are returned if one or more index partitions are unavailable. When your search index is partitioned across multiple search instances, by default Amazon CloudSearch only returns results if every partition can be queried. This means that the failure of a single search instance can result in 5xx (internal server) errors. When you specify `partial=true`. Amazon CloudSearch returns whatever results are available and includes the percentage of documents searched in the search results (`percent-searched`). This enables you to more gracefully degrade your users' search experience. For example, rather than displaying no results, you could display the partial results and a message indicating that the results might be incomplete due to a temporary system outage.  
Type: Boolean  
Default: False  
Required: No

pretty  
Formats JSON output so it's easier to read.   
Type: Boolean  
Default: False  
Required: No

q   
The search criteria for the request. How you specify the search criteria depends on the query parser used for the request and the parser options specified in the `q.options` parameter. By default, the `simple` query parser is used to process requests. To use the `structured`, `lucene`, or `dismax` query parser, you must also specify the `q.parser` parameter. For more information about specifying search criteria, see [Searching Your Data with Amazon CloudSearch](searching.md).  
Type: String  
Required: Yes

q.options   
Configure options for the query parser specified in the `q.parser` parameter. The options are specified as a JSON object, for example: `q.options={defaultOperator: 'or', fields: ['title^5','description']}`.   
The options you can configure vary according to which parser you use:  
+ `defaultOperator`—The default operator used to combine individual terms in the search string. For example: `defaultOperator: 'or'`. For the `dismax` parser, you specify a percentage that represents the percentage of terms in the search string (rounded down) that must match, rather than a default operator. A value of `0%` is the equivalent to OR, and a value of `100%` is equivalent to AND. The percentage must be specified as a value in the range 0-100 followed by the percent (%) symbol. For example, `defaultOperator: 50%`. Valid values: `and`, `or`, a percentage in the range 0%-100% (`dismax`). Default: `and` (`simple`, `structured`, `lucene`) or `100` (`dismax`). Valid for: `simple`, `structured`, `lucene`, and `dismax`. 
+ `fields`—An array of the fields to search when no fields are specified in a search. If no fields are specified in a search and this option is not specified, all statically configured `text` and `text-array` fields are searched. You can specify a weight for each field to control the relative importance of each field when Amazon CloudSearch calculates relevance scores. To specify a field weight, append a caret (`^`) symbol and the weight to the field name. For example, to boost the importance of the `title` field over the `description` field you could specify: `fields: ['title^5','description']`. Valid values: The name of any configured field and an optional numeric value greater than zero. Default: All statically configured `text` and `text-array` fields. Dynamic fields and `literal` fields are not searched by default. Valid for: `simple`, `structured`, `lucene`, and `dismax`. 
+ `operators`—An array of the operators or special characters you want to disable for the simple query parser. If you disable the `and`, `or`, or `not` operators, the corresponding operators (`+`, `|`, `-`) have no special meaning and are dropped from the search string. Similarly, disabling `prefix` disables the wildcard operator (`*`) and disabling `phrase` disables the ability to search for phrases by enclosing phrases in double quotes. Disabling precedence disables the ability to control order of precedence using parentheses. Disabling `near` disables the ability to use the \$1 operator to perform a sloppy phrase search. Disabling the `fuzzy` operator disables the ability to use the \$1 operator to perform a fuzzy search. `escape` disables the ability to use a backslash (`\`) to escape special characters within the search string. Disabling whitespace is an advanced option that prevents the parser from tokenizing on whitespace, which can be useful for Vietnamese. (It prevents Vietnamese words from being split incorrectly.) For example, you could disable all operators other than the phrase operator to support just simple term and phrase queries: `operators:['and', 'not', 'or', 'prefix']`. Valid values: `and`, `escape`, `fuzzy`, `near`, `not`, `or`, `phrase`, `precedence`, `prefix`, `whitespace`. Default: All operators and special characters are enabled. Valid for: `simple`. 
+ `phraseFields`—An array of the `text` or `text-array` fields you want to use for phrase searches. When the terms in the search string appear in close proximity within a field, the field scores higher. You can specify a weight for each field to boost that score. The `phraseSlop` option controls how much the matches can deviate from the search string and still be boosted. To specify a field weight, append a caret (`^`) symbol and the weight to the field name. For example, to boost phrase matches in the `title` field over the `abstract` field, you could specify: `phraseFields:['title^3', 'abstract']` Valid values: The name of any `text` or `text-array` field and an optional numeric value greater than zero. Default: No fields. If you don't specify any fields with `phraseFields`, proximity scoring is disabled even if `phraseSlop` is specified. Valid for: `dismax`.
+ `phraseSlop`—An integer value that specifies how much matches can deviate from the search phrase and still be boosted according to the weights specified in the `phraseFields` option. For example, `phraseSlop: 2`. You must also specify `phraseFields` to enable proximity scoring. Valid values: positive integers. Default: 0. Valid for: `dismax`.
+ `explicitPhraseSlop`—An integer value that specifies how much a match can deviate from the search phrase when the phrase is enclosed in double quotes in the search string. (Phrases that exceed this proximity distance are not considered a match.) `explicitPhraseSlop: 5`. Valid values: positive integers. Default: 0. Valid for: `dismax`.
+ `tieBreaker`—When a term in the search string is found in a document's field, a score is calculated for that field based on how common the word is in that field compared to other documents. If the term occurs in multiple fields within a document, by default only the highest scoring field contributes to the document's overall score. You can specify a `tieBreaker` value to enable the matches in lower-scoring fields to contribute to the document's score. That way, if two documents have the same max field score for a particular term, the score for the document that has matches in more fields will be higher. The formula for calculating the score with a tieBreaker is:

  ```
  (max field score) + (tieBreaker) * (sum of the scores for the rest of the matching fields)
  ```

  For example, the following query searches for the term *dog* in the `title`, `description`, and `review` fields and sets `tieBreaker` to 0.1:

  ```
  q=dog&q.parser=dismax&q.options={fields:['title', 'description', 'review'], tieBreaker: 0.1}
  ```

  If *dog* occurs in all three fields of a document and the scores for each field are title=1, description=3, and review=1, the overall score for the term dog is:

  ```
  3 +  0.1 * (1+1) = 3.2
  ```

   Set `tieBreaker` to 0 to disregard all but the highest scoring field (pure max). Set to 1 to sum the scores from all fields (pure sum). Valid values: 0.0 to 1.0. Default: 0.0. Valid for: `dismax`.
Type: JSON object  
Default: See individual option descriptions.  
Required: No

q.parser   
Specifies which query parser to use to process the request: `simple`, `structured`, `lucene`, and `dismax`. If `q.parser` is not specified, Amazon CloudSearch uses the `simple` query parser.   
+ `simple`—perform simple searches of `text` and `text-array` fields. By default, the `simple` query parser searches all statically configured `text` and `text-array` fields. You can specify which fields to search by with the `q.options` parameter. If you prefix a search term with a plus sign (\$1) documents must contain the term to be considered a match. (This is the default, unless you configure the default operator with the `q.options` parameter.) You can use the `-` (NOT), `|` (OR), and `*` (wildcard) operators to exclude particular terms, find results that match any of the specified terms, or search for a prefix. To search for a phrase rather than individual terms, enclose the phrase in double quotes. For more information, see [Searching Your Data with Amazon CloudSearch](searching.md). 
+ `structured`—perform advanced searches by combining multiple expressions to define the search criteria. You can also search within particular fields, search for values and ranges of values, and use advanced options such as term boosting, `matchall`, and `near`. For more information, see [Constructing Compound Queries](searching-compound-queries.md).
+ `lucene`—search using the Apache Lucene query parser syntax. For more information, see [Apache Lucene Query Parser Syntax](https://cwiki.apache.org/confluence/display/solr/The+Standard+Query+Parser).
+ `dismax`—search using the simplified subset of the Apache Lucene query parser syntax defined by the DisMax query parser. For more information, see [DisMax Query Parser Syntax](https://cwiki.apache.org/confluence/display/solr/The+DisMax+Query+Parser).
Type: String  
Default: `simple`  
Required: No

return   
The field and expression values to include in the response, specified as a comma-separated list. By default, a search response includes all return enabled fields (`return=_all_fields`). To return only the document IDs for the matching documents, specify `return=_no_fields`. To retrieve the relevance score calculated for each document, specify `return=_score`. You specify multiple return fields as a comma separated list. For example, `return=title,_score` returns just the title and relevance score of each matching document.  
Type: String  
Required: No

size   
The maximum number of search hits to return.   
Type: Positive integer  
Default: 10  
Required: No

sort  
A comma-separated list of fields or custom expressions to use to sort the search results. You must specify the sort direction (`asc` or `desc`) for each field. For example, `sort=year desc,title asc`. You can specify a maximum of 10 fields and expressions. To use a field to sort results, it must be sort enabled in the domain configuration. Array type fields cannot be used for sorting. If no `sort` parameter is specified, results are sorted by their default relevance scores in descending order: `sort=_score desc`. You can also sort by document ID (`sort=_id`) and version (`sort=_version`).  
Type: String  
Required: No

start   
The offset of the first search hit you want to return. You can specify either the `start` or `cursor` parameter in a request, they are mutually exclusive. For more information, see [Paginating Results](paginating-results.md).  
Type: Positive integer  
Default: 0 (the first hit)  
Required: No

#### Structured Search Syntax
<a name="structured-search-syntax"></a>

You use the Amazon CloudSearch structured search syntax to define search criteria when using the `structured` query parser, and to specify filter criteria with the `fq` parameter. 

When using the structured query operators, you specify the name of the operator, options for the operator, and then the terms being operated on, `(OPERATOR OPTIONS STRING|EXPRESSION)`. Any options must be specified before the string or expression. For example, `(and (not field=genres 'Sci-Fi')(or (term field=title boost=2 'star')(term field=plot 'star')))`. 

**Important**  
You must URL-encode special characters in the query string. For example, you must encode the `=` operator in a structured query as `%3D`: `(term+field%3Dtitle+'star'`). Amazon CloudSearch returns an `InvalidQueryString` error if special characters are not URL-encoded. For a complete reference of URL-encodings, see the W3C [HTML URL Encoding Reference](http://www.w3schools.com/tags/ref_urlencode.asp).

If you do not specify the field you want to search when using the structured query parser, all statically configured `text` and `text-array` fields are searched. Dynamic fields and `literal` fields are *not* searched by default. You can specify which fields you want to search by default with the `q.options` parameter. 

Parentheses control the order of evaluation of the expressions in a compound query. When an expression is enclosed in parentheses, that expression is evaluated first, and then the resulting value is used in the evaluation of the remainder of the query. The expressions can contain any of the structured query operators. 

You can also use the structured query parser to search for a simple text string—just enclose the string you want to search for in single quotes: `q='black swan'&q.parser="structured"`.

For more information about constructing compound queries with the structured query operators, see [Constructing Compound Queries](searching-compound-queries.md).

FIELD  
Syntax: `FIELD: 'STRING'|value`  
Searches the specified field for a string, numeric value, date, or range of numeric values or dates.   
Strings must be enclosed in single quotes. Any single quotation marks or backslashes in the string must be escaped with a backslash. To specify a range of values, use a comma (,) to separate the upper and lower bounds and enclose the range using brackets or braces. A square bracket, [ or ], indicates that the bound is included in the range, a curly brace, \$1 or \$1, excludes the bound. You can omit the upper or lower bound to specify an open-ended range. When omitting a bound, you must use a curly brace.   
 Dates and times are specified in UTC (Coordinated Universal Time) according to [IETF RFC3339](http://tools.ietf.org/html/rfc3339): `yyyy-mm-ddTHH:mm:ss.SSSZ`. In UTC, for example, 5:00 PM August 23, 1970 is: `1970-08-23T17:00:00Z`. Note that you can also specify fractional seconds when specifying times in UTC. For example, `1967-01-31T23:20:50.650Z.`   
Examples:   

```
title:'star'
year:2000
year:[1998,2000]
year:{,2011]
release_date:['2013-01-01T00:00:00Z',}
```

and  
Syntax: `(and boost=N EXPRESSION EXPRESSION ... EXPRESSIONn)`  
Includes a document only if it matches all of the specified expressions.(Boolean `AND` operator.) The expressions can contain any of the structured query operators, or a simple search string. Search strings must be enclosed in single quotes. Note that to match documents that contain the specified terms in any of the fields being searched, you specify each term as a separate expression: `(and 'star' 'wars')`. If you specify `(and 'star wars')`, *star* and *wars* must occur within the same field to be considered a match.   
 The boost value is a positive numeric value that increases the importance of this part of the search query relative to the other parts.   
Example:   

```
(and title:'star' actors:'Harrison Ford' year:{,2000])
```

matchall  
Syntax: `matchall`   
Matches every document in the domain. By default, returns the first 10. Use the `size` and `start` parameters to page through the results.

near  
Syntax: `(near field=FIELD distance=N boost=N 'STRING') `  
Searches a `text` or `text-array` field for the specified multi-term string and matches documents that contain the terms within the specified distance of one another. (This is sometimes called a *sloppy* phrase search.) If you omit the `field` option, Amazon CloudSearch searches all statically configured `text` and `text-array` fields by default. Dynamic fields and `literal` fields are not searched by default. You can specify which fields you want to search by default by specifying the `q.options` `fields` option.   
The distance value must be a positive integer. For example, to find all documents where *teenage* occurs within 10 words of *vampire* in the `plot` field, you specify a distance value of 10: `(near field=plot distance=10 'teenage vampire')`.   
 The boost value is a positive numeric value that increases the importance of this part of the search query relative to the other parts.   
Example:   

```
(near field=plot distance=10 'teenage vampire')
```

not   
Syntax: `(not boost=N EXPRESSION)`  
Excludes a document if it matches the specified expression. (Boolean `NOT` operator.) The expression can contain any of the structured query operators, or a simple search string. Search strings must be enclosed in single quotes.  
 The boost value is a positive numeric value that increases the importance of this part of the search query relative to the other parts.   
Example:   

```
(not (or actors:'Harrison Ford' year:{,2010]))
```

or   
Syntax: `(or boost=N EXPRESSION1 EXPRESSION2 ... EXPRESSIONn)`  
Includes a document if it matches any of the specified expressions. (Boolean `OR` operator.) The expressions can contain any of the structured query operators, or a simple search string. Search strings must be enclosed in single quotes.  
 The boost value is a positive numeric value that increases the importance of this part of the search query relative to the other parts.   
Example:   

```
(or actors:'Alec Guinness' actors:'Harrison Ford' actors:'James Earl Jones')
```

phrase   
Syntax: `(phrase field=FIELD boost=N 'STRING')`  
Searches a `text` or `text-array` field for the specified phrase. If you omit the `field` option, Amazon CloudSearch searches all statically configured `text` and `text-array` fields by default. Dynamic fields and `literal` fields are not searched by default. You can specify which fields you want to search by default by specifying the `q.options` `fields` option.   
Use the `phrase` operator to combine a phrase search with other search criteria in a structured query. For example `q=(and (term field=title 'star') (range field=year {,2000]))` matches all documents that contain *star* in the title field and have a year value less than or equal to 2000.   
 The boost value is a positive numeric value that increases the importance of this part of the search query relative to the other parts.   
Example:   

```
(phrase field=plot 'teenage girl')
```

prefix   
Syntax: `(prefix field=FIELD boost=N 'STRING')`  
Searches a `text`, `text-array`, `literal`, or `literal-array` field for the specified prefix followed by zero or more characters. If you omit the `field` option, Amazon CloudSearch searches all statically configured `text` and `text-array` fields by default. Dynamic fields and `literal` fields are not searched by default. You can specify which fields you want to search by default by specifying the `q.options` `fields` option.   
Use the `prefix` operator to combine a prefix search with other search criteria in a structured query. For example, `q=(and (prefix field=title 'sta') (range field=year {,2000]))` matches all documents that contain the prefix *sta* in the title field and have a year value of less than or equal to 2000.   
 The boost value is a positive numeric value that increases the importance of this part of the search query relative to the other parts.   
To implement search suggestions, you should configure and query a suggester, rather than performing prefix searches. For more information see [Suggestion Requests](#suggest-request).
Example:   

```
(prefix field=title 'star')
```

range  
Syntax: `(range field=FIELD boost=N RANGE)`  
Searches a numeric field (double, double-array, int, int-array) or date field (date, date-array) for values in the specified range. Matches documents that have at least one value in the field within the specified range. The `field` option must be specified.  
Use the `range` operator to combine a range search with other search criteria in a structured query. For example `q=(and (term field=title 'star') (range field=year {,2000]))` matches all documents that contain *star* in the title field and have a year value of less than or equal to 2000.   
 To specify a range of values, use a comma (,) to separate the upper and lower bounds and enclose the range using brackets or braces. A square bracket, [ or ], indicates that the bound is included in the range, a curly brace, \$1 or \$1, excludes the bound. You can omit the upper or lower bound to specify an open-ended range. When omitting a bound, you must use a curly brace.   
 Dates and times are specified in UTC (Coordinated Universal Time) according to [IETF RFC3339](http://tools.ietf.org/html/rfc3339): `yyyy-mm-ddTHH:mm:ss.SSSZ`. In UTC, for example, 5:00 PM August 23, 1970 is: `1970-08-23T17:00:00Z`. Note that you can also specify fractional seconds when specifying times in UTC. For example, `1967-01-31T23:20:50.650Z.`   
 The boost value is a positive numeric value that increases the importance of this part of the search query relative to the other parts.   
Examples:   

```
(range field=year [1990,2000])
(range field=year {,2000])
(range field=year [1990,})
```

term  
Syntax: `(term field=FIELD boost=N 'STRING'|VALUE) `  
Searches the specified field for a string, numeric value, or date. The `field` option must be specified when searching for a value. If you omit the `field` option, Amazon CloudSearch searches all statically configured `text` and `text-array` fields by default. Dynamic fields and `literal` fields are not searched by default. You can specify which fields you want to search by default by specifying the `q.options` `fields` option.   
Use the `term` operator to combine a term search with other search criteria in a structured query. For example, `q=(and (term field=title 'star') (range field=year {,2000]))` matches all documents that contain *star* in the title field and have a year value of less than or equal to 2000.   
Strings and dates must be enclosed in single quotes. Any single quotation marks or backslashes in a string must be escaped with a backslash.   
 Dates and times are specified in UTC (Coordinated Universal Time) according to [IETF RFC3339](http://tools.ietf.org/html/rfc3339): `yyyy-mm-ddTHH:mm:ss.SSSZ`. In UTC, for example, 5:00 PM August 23, 1970 is: `1970-08-23T17:00:00Z`. Note that you can also specify fractional seconds when specifying times in UTC. For example, `1967-01-31T23:20:50.650Z.`   
 The boost value is a positive numeric value that increases the importance of this part of the search query relative to the other parts.   
Examples:   

```
(term field=title 'star')
(term field=year 2000)
```

#### Simple Search Syntax
<a name="simple-search-syntax"></a>

You use the Amazon CloudSearch simple search syntax to define search criteria when using the `simple` query parser. The simple query parser is used by default if you do not specify the `q.parser` parameter. 

You use the simple query parser to search for individual terms or phrases. By default, all statically configured `text` and `text-array` fields are searched. Dynamic fields and `literal` fields are *not* searched by default. You can use the `q.options` parameter to specify which fields you want to search, change the default operator used to combine individual terms in the search string, or disable any of the simple parser operators (`and`, `escape`, `fuzzy`, `near`, `not`, `or`, `phrase`, `precedence`, `prefix`, `whitespace`).

For more information about using the simple query parser, see [Searching for Text in Amazon CloudSearch](searching-text.md).

\$1 (and)  
Syntax: `+TERM`  
Requires the specified term. To match, documents must contain the specified term.  
Example: \$1star

\$1 (escape)  
Syntax: `\CHAR`  
Escapes special characters that you want to search for. You must escape the following characters if you want them to be part of the query: \$1 - & \$1 \$1 ( ) \$1 \$1 [ ] ^ " \$1 \$1 ? : \$1 /.  
Example: `M\*A\*S\*H`

\$1 (fuzzy)  
Syntax: `TERM~N`  
Performs a fuzzy search. Append the \$1 operator and a value to a term to indicate how much terms can differ and still be considered a match.   
Example: `stor~1`

\$1 (near)  
Syntax: `"PHRASE"~N`  
Performs a sloppy phrase search. Append the \$1 operator and a value to a phrase to indicate how far apart the terms can be and still be considered a match for the phrase.   
Example: `"star wars"~4`

- (not)  
Syntax: `-TERM`  
Prohibits the specified term. To match, documents must not contain the term.   
Example: star -wars

\$1 (or)  
Syntax: `|TERM`  
Makes the specified term optional.   
Example: star \$1wars

"..." (phrase)  
Syntax: `"PHRASE"`  
Performs a search for the entire phrase. Can be combined with the `~` operator to perform a sloppy phrase search.   
Example: "star wars"

(...) (precedence)  
Syntax: `(...)`  
Controls the order in which the query constraints are evaluated. The contents of the inner-most parentheses are evaluated first.   
Example: `+(war|trek)+star`

\$1 (prefix)  
Syntax: `CHARS*`  
Matches documents that contain terms that have the specified prefix.   
Example: `sta*`

### Search Response
<a name="search-response"></a>

When a request completes successfully, the response body contains the search results. By default, search results are returned in JSON. If the `format` parameter is set to `xml`, search results are returned in XML. 

Unless you explicitly specify the `return` parameter, the document ID and all returnable fields are included for each matching document (hit). The response also shows the total number of hits found (`found`) and the index of the first document listed (`start`). By default, the response contains the first 10 hits. You specify the `size` parameter in your request to control how many hits are included in each response. To page through the hits, you can use the `start` or `cursor` parameter. For more information, see [Paginating Results](paginating-results.md).

The following example shows a typical JSON response.

```
{
    "status": {
        "rid": "rtKz7rkoeAojlvk=",
        "time-ms": 10
    },
    "hits": {
        "found": 3,
        "start": 0,
        "hit": [
            {
                "id": "tt1142977",
                "fields": {
                    "rating": "6.9",
                    "genres": [
                        "Animation",
                        "Comedy",
                        "Family",
                        "Horror",
                        "Sci-Fi"
                    ],
                    "plot": "Young Victor conducts a science experiment to  
                             bring his beloved dog Sparky back to life, only
                              to face unintended, sometimes monstrous, 
                              consequences.",
                    "release_date": "2012-09-20T00:00:00Z",
                    "title": "Frankenweenie",
                    "rank": "1462",
                    "running_time_secs": "5220",
                    "directors": [
                        "Tim Burton"
                    ],
                    "image_url": "http://ia.media-imdb.com/images/M/MV5BMjIx
                                  ODY3MjEwNV5BMl5BanBnXkFtZTcwOTMzNjc4Nw@@._
                                  V1_SX400_.jpg",
                    "year": "2012",
                    "actors": [
                        "Winona Ryder",
                        "Catherine O'Hara",
                        "Martin Short"
                    ]
                }
            },
			.
			.
			.
        ]			
    }
}
```

The following example shows the equivalent XML response.

```
<results>
    <status rid="itzL7rkoeQojlvk=" time-ms="34"/>
    <hits found="3" start="0">
        <hit id="tt1142977">
            <field name="rating">6.9</field>
            <field name="genres">Animation</field>
            <field name="genres">Comedy</field>
            <field name="genres">Family</field>
            <field name="genres">Horror</field>
            <field name="genres">Sci-Fi</field>
            <field name="plot">Young Victor conducts a science experiment to
                               bring his beloved dog Sparky back to life, only
                               to face unintended, sometimes monstrous, 
                               consequences.
            </field>
            <field name="release_date">2012-09-20T00:00:00Z</field>
            <field name="title">Frankenweenie</field>
            <field name="rank">1462</field>
            <field name="running_time_secs">5220</field>
            <field name="directors">Tim Burton</field>
            <field name="image_url">http://ia.media-imdb.com/images/M/MV5BMjI
                                    xODY3MjEwNV5BMl5BanBnXkFtZTcwOTMzNjc4Nw@@.
                                    _V1_SX400_.jpg
            </field>
            <field name="year">2012</field>
            <field name="actors">Winona Ryder</field>
            <field name="actors">Catherine O'Hara</field>
            <field name="actors">Martin Short</field>
        </hit>
        .
        .
        .
    </hits>
</results>
```

 Setting the response format only affects responses to successful requests. The format of an error response depends on the origin of the error. Errors returned by the search service are always returned in JSON. 5xx errors due to server timeouts and other request routing problems are returned in XML. When a request returns an error code, the body of the response contains information about the error that occurred. If an error occurs while the request body is parsed and validated, the error code is set to 400 and the response body includes a list of the errors and where they occurred. 

#### Search Response Headers
<a name="search-response-headers"></a>

Content-Type  
A standard MIME type describing the format of the object data. For more information, see [W3C RFC 2616 Section 14](http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.17).  
Valid values: application/json or application/xml   
Default: application/json 

Content-Length  
The length in bytes of the body in the response.

#### Search Response Properties (JSON)
<a name="search-response-elements-json"></a>

status  
Contains the resource id (rid) and the time it took to process the request (time-ms).    
rid  
The encrypted Resource ID.  
time-ms  
How long it took to process the search request in milliseconds.

hits  
Contains the number of matching documents (`found`), the index of the first document included in the response (`start`), and an array (`hit`) that lists the document IDs and data for each hit.     
found  
The total number of hits that match the search request after Amazon CloudSearch finished processing the request.   
start  
The index of the first hit returned in this response.   
hit  
An array that lists the document IDs and data for each hit.     
id  
The unique identifier for a document.   
fields  
A list of returned fields.   
facets  
Contains facet information and facet counts.   
FACETFIELD  
A field for which facets were calculated.   
buckets  
An array of the calculated facet values and counts.  
value  
The facet value being counted.  
count  
The number of hits that contain the facet value in `FACETFIELD`. 

#### Search Response Elements (XML)
<a name="search-response-elements-xml"></a>

results  
Contains the search results. Any errors that occurred while processing the request are returned as messages in the info element.    
status  
Contains the resource id (`rid`) and the time it took to process the request (`time-ms`).  
hits  
Contains hit statistics and a collection of hit elements. The found attribute is the total number of hits that match the search request after Amazon CloudSearch finished processing the results. The contained hit elements are ordered according to their relevance scores or the `sort` option specified in the search request.     
hit  
A document that matched the search request. The id attribute is the document's unique id. Contains a `d` (data) element for each returned field.    
field  
A field returned from a hit. Hit elements contain a `d` (data) element for each returned field.   
facets  
Contains a facet element for each facet requested in the search request.    
facet  
Contains a bucket element for each value of a field for which a facet count was calculated. The `facet.FIELD` size option can be used to specify how many constraints to return. By default, facet counts are returned for the top 10 constraints. The `facet.FIELD` buckets option can be used to explicitly specify which values to count.     
bucket  
A facet field value and the number of occurrences (count) of that value within the search hits.

## Submitting Suggest Requests in Amazon CloudSearch
<a name="submitting-suggest-requests"></a>

You submit suggest requests via HTTP GET to your domain's search endpoint at `2013-01-01/suggest`. For information about controlling access to the suggest service, see [Configuring Access for Amazon CloudSearch](configuring-access.md).

You must specify the API version in all suggest requests and that version must match the API version specified when the domain was created.

For example, the following request gets suggestions from the `search-movies-rr2f34ofg56xneuemujamut52i.us-east-1.cloudsearch.amazonaws.com` domain for the query string `oce` using the suggester called `title`. 

```
http://search-imdb-hd6ebyouhw2lczkueyuqksnuzu.us-west-2.cloudsearch.amazonaws.com/2013-01-01/suggest -d"q=oce&suggester=suggest_title"
```

You can use any method you want to send GET requests to your domain's search endpoint—you can enter the request URL directly in a Web browser, use cURL to submit the request, or generate an HTTP call using your favorite HTTP library. You can also use the Search Tester in the Amazon CloudSearch console to get suggestions. For more information, see [Searching with the Search Tester](getting-started-search.md#searching-console).

**Important**  
A domain's document and search endpoints remain the same for the life of the domain. You should cache the endpoints rather than retrieving them before every upload or search request. Querying the Amazon CloudSearch configuration service by calling `aws cloudsearch describe-domains` or `DescribeDomains` before every request is likely to result in your requests being throttled. 

By default, Amazon CloudSearch returns the response in JSON. You can get the results formatted in XML by specifying the `format` parameter, `format=xml`. Setting the response format only affects responses to successful requests. The format of an error response depends on the origin of the error. Errors returned by the search service are always returned in JSON. 5xx errors due to server timeouts and other request routing problems are returned in XML.

## Suggest
<a name="suggest"></a>

### Suggestion Requests
<a name="suggest-request"></a>

#### Suggest Syntax in Amazon CloudSearch
<a name="suggest-syntax"></a>

```
GET /2013-01-01/suggest
```

#### Suggest Request Headers in Amazon CloudSearch
<a name="suggest-request-headers"></a>

HOST  
The search request endpoint for the domain you're querying. You can use [DescribeDomains](API_DescribeDomains.md) to retrieve your domain's search request endpoint.   
Required: Yes

#### Suggest Request Parameters in Amazon CloudSearch
<a name="suggest-request-parameters"></a>

q  
The string to get suggestions for.  
Type: String  
Required: Yes

suggester  
The name of the suggester to use to find suggested matches.  
Type: String  
Required: Yes

size   
The maximum number of suggestions to return.   
Type: Positive integer  
Default: 10  
Required: No

format  
Specifies the content type of the response.   
Type: String  
Valid Values: json\$1xml  
Default: json  
Required: No

### Suggest Response
<a name="suggest-response"></a>

When a request completes successfully, the response body contains the suggestions. By default, suggestions are returned in JSON. Set the `format` parameter to `xml` to get the results in XML.

 Setting the response format only affects responses to successful requests. The format of an error response depends on the origin of the error. Errors returned by the search service are always returned in JSON. 5xx errors due to server timeouts and other request routing problems are returned in XML. When a request returns an error code, the body of the response contains information about the error that occurred. If an error occurs while the request body is parsed and validated, the error code is set to 400 and the response body includes a list of the errors and where they occurred. 

The following example shows a JSON response to a request for suggestions:

```
{
   "status": {
      "rid": "qOSM5s0oCwr8pVk=",
      "time-ms": 2
   },
   "suggest": {
      "query": "oce",
      "found": 3,
      "suggestions": [
         {
          "suggestion": "Ocean's Eleven",
           "score": 0,
           "id": "tt0054135"
         },
         {
          "suggestion": "Ocean's Thirteen",
          "score": 0,
          "id": "tt0496806"
         },
         {
          "suggestion": "Ocean's Twelve",
          "score": 0,
          "id": "tt0349903"
         }
      ]
   }
}
```

The following example shows the equivalent XML response:

```
<results>
   <status rid="/pSz580oDQr8pVk=" time-ms="2"/>
   <suggest query="oce" found="3">
      <suggestions>
         <item suggestion="Ocean's Eleven" score="0" id="tt0054135"/>
         <item suggestion="Ocean's Thirteen" score="0" id="tt0496806"/>
         <item suggestion="Ocean's Twelve" score="0" id="tt0349903"/>
      </suggestions>
   </suggest>
</results>
```

## Search Service Errors
<a name="search-service-errors"></a>

A search or suggestion request can return three types of status codes:
+ 5xx status codes indicate that there was an internal server error. You should catch and retry all 5xx error codes as they typically represent transient error conditions. For more information, see [Handling Errors](error-handling.md). 
+ 4xx status codes indicate that the request was malformed. Correct the error(s) before resubmitting your request.
+ 2xx status codes indicate that the request was processed successfully.

The format of an error response depends on the origin of the error. Errors returned by the search service are always returned in JSON. 5xx errors due to server timeouts and other request routing problems are returned in XML. 

Errors returned by the search service contain the following information:

error  
Contains an error message returned by the search service. The `code` and `msg` properties are included for each error.

code  
The error code.

msg  
A description of the error that was returned by the search service.