# Create One Atlas Search Index **POST /api/atlas/v2/groups/{groupId}/clusters/{clusterName}/search/indexes** Creates one Atlas Search index on the specified collection. Atlas Search indexes define the fields on which to create the index and the analyzers to use when creating the index. Only clusters running MongoDB v4.2 or later can use Atlas Search. To use this resource, the requesting Service Account or API Key must have the Project Data Access Admin role. [Atlas Search Indexes](https://dochub.mongodb.org/core/index-definitions-fts) ## 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) Name of the cluster that contains the collection on which to create an Atlas Search index. ### 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.2024-05-30+json (object) Creates one Atlas Search index on the specified collection. - **collectionName** (string) Label that identifies the collection to create an Atlas Search index in. - **database** (string) Label that identifies the database that contains the collection to create an Atlas Search index in. - **name** (string) Label that identifies this index. Within each namespace, names of all indexes in the namespace must be unique. - **type** (string) Type of the index. The default type is search. - **definition** (object) The text search index definition set by the user. ## Responses ### 201 Created #### Body: application/vnd.atlas.2024-05-30+json (object) - **collectionName** (string) Label that identifies the collection that contains one or more Atlas Search indexes. - **database** (string) Label that identifies the database that contains the collection with one or more Atlas Search indexes. - **indexID** (string) Unique 24-hexadecimal digit string that identifies this Atlas Search index. - **latestDefinition** (object) The text search index definition set by the user. - **latestDefinitionVersion** (object) Object which includes the version number of the index definition and the time that the index definition was created. - **name** (string) Label that identifies this index. Within each namespace, the names of all indexes must be unique. - **queryable** (boolean) Flag that indicates whether the index is queryable on all hosts. - **status** (string) Condition of the search index when you made this request. - `DELETING`: The index is being deleted. - `FAILED` The index build failed. Indexes can enter the FAILED state due to an invalid index definition. - `STALE`: The index is queryable but has stopped replicating data from the indexed collection. Searches on the index may return out-of-date data. - `PENDING`: Atlas has not yet started building the index. - `BUILDING`: Atlas is building or re-building the index after an edit. - `READY`: The index is ready and can support queries. - **statusDetail** (array[object]) List of documents detailing index status on each host. - **type** (string) Type of the index. The default type is search. - **synonymMappingStatus** (string) Status that describes this index's synonym mappings. This status appears only if the index has synonyms defined. - **synonymMappingStatusDetail** (array[object]) A list of documents describing the status of the index's synonym mappings on each search host. Only appears if the index has synonyms defined. ### 400 Bad Request. #### Body: application/json (object) - **badRequestDetail** (object) Bad request detail. - **detail** (string) 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) Application error message returned with this error. ### 401 Unauthorized. #### Body: application/json (object) - **badRequestDetail** (object) Bad request detail. - **detail** (string) 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) Application error message returned with this error. ### 403 Forbidden. #### Body: application/json (object) - **badRequestDetail** (object) Bad request detail. - **detail** (string) 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) Application error message returned with this error. ### 404 Not Found. #### Body: application/json (object) - **badRequestDetail** (object) Bad request detail. - **detail** (string) 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) Application error message returned with this error. ### 409 Conflict. #### Body: application/json (object) - **badRequestDetail** (object) Bad request detail. - **detail** (string) 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) Application error message returned with this error. ### 500 Internal Server Error. #### Body: application/json (object) - **badRequestDetail** (object) Bad request detail. - **detail** (string) 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) Application error message returned with this error. [Powered by Bump.sh](https://bump.sh)