# Create Query Sampling for One Namespace

**POST /api/atlas/v2/groups/{groupId}/clusters/{clusterName}/querySampling**

Starts query sampling on one namespace of the specified cluster. Sampled queries feed the shard key analysis for the namespace. The response reports the observed sampling state, in which `active` may still be false: the cluster applies the sampling configuration asynchronously.

## Role requirements
  - Project Data Access Admin
  - Project Data Access Read Only
  - Project Data Access Read Write
  - Project Stream Processing Owner


## Servers
- https://cloud.mongodb.com: https://cloud.mongodb.com ()


## Authentication methods
- Service accounts
- Digest auth


## Parameters

### Path parameters

- **groupId** (string)
  Unique 24-hexadecimal digit string that identifies your project. Use the [/groups](#tag/Projects/operation/listProjects) endpoint to retrieve all projects to which the authenticated user has access.

  **NOTE**: Groups and projects are synonymous terms. Your group id is the same as your project id. For existing groups, your group/project id remains the same. The resource and corresponding endpoints use the term groups.

- **clusterName** (string)
  Human-readable label that identifies the cluster.


### Query parameters

- **envelope** (boolean)
  Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body.

- **pretty** (boolean)
  Flag that indicates whether the response body should be in the prettyprint format.


### Body: application/vnd.atlas.2025-03-12+json (object)
Namespace on which to start query sampling.
- **namespace** (string)
  Human-readable label that identifies the namespace (`<database>.<collection>`) on which to sample queries.



## Responses
### 201
Created
#### Headers

- **RateLimit-Limit** ()
  The maximum number of requests that a user can make within a specific time window.

- **RateLimit-Remaining** ()
  The number of requests remaining in the current rate limit window before the limit is reached.


#### Body: application/vnd.atlas.2025-03-12+json (object)
- **active** (boolean)
  Flag that indicates whether query sampling is observably running on the namespace. May still be `false` in the response to a successful create request; it becomes `true` asynchronously once the cluster applies the sampling configuration.

- **namespace** (string)
  Human-readable label that identifies the namespace (`<database>.<collection>`) on which queries are sampled.

- **sampledReadsBytes** (integer(int64) | null)
  Total size in bytes of the read operations sampled on the namespace.

- **sampledReadsCount** (integer(int64) | null)
  Number of read operations sampled on the namespace.

- **sampledWritesBytes** (integer(int64) | null)
  Total size in bytes of the write operations sampled on the namespace.

- **sampledWritesCount** (integer(int64) | null)
  Number of write operations sampled on the namespace.

- **samplesPerSecond** (number(double) | null)
  Maximum number of queries sampled per second on the namespace. MongoDB Cloud sets this rate.

- **startTime** (string(date-time) | null)
  Date and time when query sampling started on the namespace. This parameter expresses its value in the ISO 8601 timestamp format in UTC.


### 400
Bad Request.

#### Body: application/json (object)
- **badRequestDetail** (object)
  Bad request detail.

- **detail** (string | null)
  Describes the specific conditions or reasons that cause each type of error.

- **error** (integer(int32))
  HTTP status code returned with this error.

- **errorCode** (string)
  Application error code returned with this error.

- **parameters** (array[object])
  Parameters used to give more information about the error.

- **reason** (string | null)
  Application error message returned with this error.


### 401
Unauthorized.

#### Body: application/json (object)
- **badRequestDetail** (object)
  Bad request detail.

- **detail** (string | null)
  Describes the specific conditions or reasons that cause each type of error.

- **error** (integer(int32))
  HTTP status code returned with this error.

- **errorCode** (string)
  Application error code returned with this error.

- **parameters** (array[object])
  Parameters used to give more information about the error.

- **reason** (string | null)
  Application error message returned with this error.


### 403
Forbidden.

#### Body: application/json (object)
- **badRequestDetail** (object)
  Bad request detail.

- **detail** (string | null)
  Describes the specific conditions or reasons that cause each type of error.

- **error** (integer(int32))
  HTTP status code returned with this error.

- **errorCode** (string)
  Application error code returned with this error.

- **parameters** (array[object])
  Parameters used to give more information about the error.

- **reason** (string | null)
  Application error message returned with this error.


### 404
Not Found.

#### Body: application/json (object)
- **badRequestDetail** (object)
  Bad request detail.

- **detail** (string | null)
  Describes the specific conditions or reasons that cause each type of error.

- **error** (integer(int32))
  HTTP status code returned with this error.

- **errorCode** (string)
  Application error code returned with this error.

- **parameters** (array[object])
  Parameters used to give more information about the error.

- **reason** (string | null)
  Application error message returned with this error.


### 409
Conflict.

#### Body: application/json (object)
- **badRequestDetail** (object)
  Bad request detail.

- **detail** (string | null)
  Describes the specific conditions or reasons that cause each type of error.

- **error** (integer(int32))
  HTTP status code returned with this error.

- **errorCode** (string)
  Application error code returned with this error.

- **parameters** (array[object])
  Parameters used to give more information about the error.

- **reason** (string | null)
  Application error message returned with this error.


### 429
Too Many Requests.
#### Headers

- **RateLimit-Limit** ()
  The maximum number of requests that a user can make within a specific time window.

- **RateLimit-Remaining** ()
  The number of requests remaining in the current rate limit window before the limit is reached.

- **Retry-After** ()
  The minimum time you should wait, in seconds, before retrying the API request. This header might be returned for 429 or 503 error responses.


#### Body: application/json (object)
- **badRequestDetail** (object)
  Bad request detail.

- **detail** (string | null)
  Describes the specific conditions or reasons that cause each type of error.

- **error** (integer(int32))
  HTTP status code returned with this error.

- **errorCode** (string)
  Application error code returned with this error.

- **parameters** (array[object])
  Parameters used to give more information about the error.

- **reason** (string | null)
  Application error message returned with this error.


### 500
Internal Server Error.

#### Body: application/json (object)
- **badRequestDetail** (object)
  Bad request detail.

- **detail** (string | null)
  Describes the specific conditions or reasons that cause each type of error.

- **error** (integer(int32))
  HTTP status code returned with this error.

- **errorCode** (string)
  Application error code returned with this error.

- **parameters** (array[object])
  Parameters used to give more information about the error.

- **reason** (string | null)
  Application error message returned with this error.



[Powered by Bump.sh](https://bump.sh)
