# REST Resource: projects.databases.collectionGroups.indexes

## Resource: Index

Cloud Firestore indexes enable simple and complex queries against documents in a database.

| JSON representation |
|---|
| ``` { "name": string, "queryScope": enum (`QueryScope`), "fields": [ { object (`IndexField`) } ], "state": enum (`State`) } ``` |

| Fields ||
|---|---|
| `name` | `string` Output only. A server defined name for this index. The form of this name for composite indexes will be: `projects/{projectId}/databases/{databaseId}/collectionGroups/{collectionId}/indexes/{composite_index_id}` For single field indexes, this field will be empty. |
| `queryScope` | ``enum (`QueryScope`)`` Indexes with a collection query scope specified allow queries against a collection that is the child of a specific document, specified at query time, and that has the same collection id. Indexes with a collection group query scope specified allow queries against all collections descended from a specific document, specified at query time, and that have the same collection id as this index. |
| `fields[]` | ``object (`IndexField`)`` The fields supported by this index. For composite indexes, this is always 2 or more fields. The last field entry is always for the field path `__name__`. If, on creation, `__name__` was not specified as the last field, it will be added automatically with the same direction as that of the last field defined. If the final field in a composite index is not directional, the `__name__` will be ordered ASCENDING (unless explicitly specified). For single field indexes, this will always be exactly one entry with a field path equal to the field path of the associated field. |
| `state` | ``enum (`State`)`` Output only. The serving state of the index. |

| ## Methods ||
|---|---|
| ### `https://firebase.google.com/docs/firestore/reference/rest/v1beta2/projects.databases.collectionGroups.indexes/create` | Creates a composite index. |
| ### `https://firebase.google.com/docs/firestore/reference/rest/v1beta2/projects.databases.collectionGroups.indexes/delete` | Deletes a composite index. |
| ### `https://firebase.google.com/docs/firestore/reference/rest/v1beta2/projects.databases.collectionGroups.indexes/get` | Gets a composite index. |
| ### `https://firebase.google.com/docs/firestore/reference/rest/v1beta2/projects.databases.collectionGroups.indexes/list` | Lists composite indexes. |