AWS Cloud Map
API Reference (API Version 2017-03-14)

The AWS Documentation website is getting a new look!
Try it now and let us know what you think. Switch to the new look >>

You can return to the original look by selecting English in the language selector above.


Discovers registered instances for a specified namespace and service. You can use DiscoverInstances to discover instances for any type of namespace. For public and private DNS namespaces, you can also use DNS queries to discover instances.

Request Syntax

{ "HealthStatus": "string", "MaxResults": number, "NamespaceName": "string", "QueryParameters": { "string" : "string" }, "ServiceName": "string" }

Request Parameters

For information about the parameters that are common to all actions, see Common Parameters.

The request accepts the following data in JSON format.


The health status of the instances that you want to discover.

Type: String


Required: No


The maximum number of instances that you want Cloud Map to return in the response to a DiscoverInstances request. If you don't specify a value for MaxResults, Cloud Map returns up to 100 instances.

Type: Integer

Valid Range: Minimum value of 1. Maximum value of 100.

Required: No


The name of the namespace that you specified when you registered the instance.

Type: String

Length Constraints: Maximum length of 1024.

Required: Yes


A string map that contains attributes with values that you can use to filter instances by any custom attribute that you specified when you registered the instance. Only instances that match all the specified key/value pairs will be returned.

Type: String to string map

Key Length Constraints: Maximum length of 255.

Key Pattern: ^[a-zA-Z0-9!-~]+$

Value Length Constraints: Maximum length of 1024.

Value Pattern: ^([a-zA-Z0-9!-~][ \ta-zA-Z0-9!-~]*){0,1}[a-zA-Z0-9!-~]{0,1}$

Required: No


The name of the service that you specified when you registered the instance.

Type: String

Pattern: ((?=^.{1,127}$)^([a-zA-Z0-9_][a-zA-Z0-9-_]{0,61}[a-zA-Z0-9_]|[a-zA-Z0-9])(\.([a-zA-Z0-9_][a-zA-Z0-9-_]{0,61}[a-zA-Z0-9_]|[a-zA-Z0-9]))*$)|(^\.$)

Required: Yes

Response Syntax

{ "Instances": [ { "Attributes": { "string" : "string" }, "HealthStatus": "string", "InstanceId": "string", "NamespaceName": "string", "ServiceName": "string" } ] }

Response Elements

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

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


A complex type that contains one HttpInstanceSummary for each registered instance.

Type: Array of HttpInstanceSummary objects


For information about the errors that are common to all actions, see Common Errors.


One or more specified values aren't valid. For example, a required value might be missing, a numeric value might be outside the allowed range, or a string value might exceed length constraints.

HTTP Status Code: 400


No namespace exists with the specified ID.

HTTP Status Code: 400


No service exists with the specified ID.

HTTP Status Code: 400


DiscoverInstances Example

Sample Request

POST / HTTP/1.1 x-amz-date:20181118T211819Z authorization: AWS4-HMAC-SHA256 Credential=AKIAIIO2CIV3EXAMPLE/20181118/us-west-2/servicediscovery/aws4_request, SignedHeaders=content-length;content-type;host;user-agent;x-amz-date;x-amz-target, Signature=[calculated-signature] x-amz-target:Route53AutoNaming_v20170314.DiscoverInstances content-type:application/x-amz-json-1.1 content-length:number of characters in the JSON string] { "NamespaceName": "", "ServiceName": "example-dns-pub-service" }

Sample Response

HTTP/1.1 200 Content-Length: 271 Content-Type: application/x-amz-json-1.1 { "Instances": [ { "Attributes": { "AWS_INSTANCE_IPV4": "", "AWS_INSTANCE_PORT": "80", "color": "green", "region": "us-west-2", "stage": "beta" }, "HealthStatus": "HEALTHY", "InstanceId": "i-abcd1234", "NamespaceName": "", "ServiceName": "example-dns-pub-service" } ] }

See Also

For more information about using this API in one of the language-specific AWS SDKs, see the following: