# IRPCIndexingDataSource.HasMoreObjectsForIX

Location: [gRPC API](https://developer.m-files.com/APIs/gRPC-API/index.md) > [Server integration API](https://developer.m-files.com/APIs/gRPC-API/integration/index.md) > [Indexing data source](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCIndexingDataSource/index.md)

HTML version: https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCIndexingDataSource/HasMoreObjectsForIX/

Badges: `Server integration API / specialized` `internal: not for applications` `write` `session`

Checks whether objects are waiting for a combined index, and optionally how many.

- **Service:** [Indexing data source](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCIndexingDataSource/index.md) `MFiles.IRPCIndexingDataSource`
- **gRPC method:** `/MFiles.IRPCIndexingDataSource/HasMoreObjectsForIX`
- **HTTP (mf-http-grpc):** `POST /grpc/v1/has-more-objects-for-ix`
- **Request:** [`HasMoreObjectsForIXRequest`](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCIndexingDataSource/HasMoreObjectsForIX/index.md#request)
- **Response:** [`HasMoreObjectsForIXResponse`](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCIndexingDataSource/HasMoreObjectsForIX/index.md#response)
- **Book and level:** Server integration API, specialized
- **Kind:** write
- **Session:** Required: the session ID from LogIn in the mfiles-session-id-bin metadata.
- **Idempotent:** no
- **Returns metadata structure version:** no
- **Streaming:** none (unary)

<a id="remarks"></a>

## Remarks

**For M-Files components only.** Search indexers call it. Applications should not call it.
- Requires a vault session with the vault rights `see_all_objects` and `see_deleted_objects`; a
  normal user is denied.
- `indexing_request.index_name` must name an index; an empty index name fails with "The
  parameter is incorrect.".

<a id="request"></a>

## Request: HasMoreObjectsForIXRequest

> Nested message fields are expanded to depth 3; follow a type link for deeper levels and for the type's own page.

| Field | Type | Description |
|---|---|---|
| `indexing_request` | [`IndexingRequest`](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/MFiles.IndexingRequest/index.md) | General information about the request. |
| `indexing_request.options_obsolete` | `uint32` | Control flags for the request. |
| `indexing_request.options` | [`INDEXINGREQUESTFLAGS`](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/MFiles.INDEXINGREQUESTFLAGS/index.md) | Control flags for the request. |
| `indexing_request.options.all` | `bool` | Specifies all flags set; Including any future flags. |
| `indexing_request.options.accept_modifications` | `bool` | The indexer accepts new and modified objects in the request. |
| `indexing_request.options.accept_destructions` | `bool` | The indexer accepts destructions of objects in the request. |
| `indexing_request.options.accept_acl_modifications` | `bool` | The indexer accepts ACL modifications of objects in the request. |
| `indexing_request.index_name` | [`IndexName`](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/MFiles.IndexName/index.md) | Identifies the index. |
| `indexing_request.index_name.configuration_name` | `string` | The name of the index configuration. |
| `indexing_request.index_name.repository_connection` | `string` | Identifies the external repository connection. |
| `indexing_request.index_name.configuration_type` | [`IndexConfigurationType`](https://developer.m-files.com/APIs/gRPC-API/Reference/Enums/MFiles.IndexConfigurationType/index.md) | The index configuration type (e.g., Shared versus Legacy). Values: `INDEX_CONFIGURATION_TYPE_UNKNOWN` (0), `INDEX_CONFIGURATION_TYPE_LEGACY` (1), `INDEX_CONFIGURATION_TYPE_SHARED` (2), `INDEX_CONFIGURATION_TYPE_ANY` (3). |
| `indexing_request.auxiliary_indexer_id` | `string` | If not null, identifies auxiliary indexer that consumes the data. |
| `indexing_request.partition` | [`IndexerPartition`](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/MFiles.IndexerPartition/index.md) | If set, specifies how to partition the candidate objects for this caller. |
| `indexing_request.partition.rule` | [`IndexerPartitioningRule`](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/MFiles.IndexerPartitioningRule/index.md) | Specifies how the indexing is partitioned. |
| `indexing_request.partition.id` | `uint32` | Zero-based identifier of the partition. |
| `indexing_request.last_indexed_timestamp` | [`LogicalTimestamp`](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/MFiles.LogicalTimestamp/index.md) | The last indexed logical timestamp. Ignored if its type is `LOGICAL_TIMESTAMP_TYPE_IGNORED`. |
| `indexing_request.last_indexed_timestamp.type` | [`LogicalTimestampType`](https://developer.m-files.com/APIs/gRPC-API/Reference/Enums/MFiles.LogicalTimestampType/index.md) | Logical timestamp type. Values: `LOGICAL_TIMESTAMP_TYPE_UNINITIALIZED` (0), `LOGICAL_TIMESTAMP_TYPE_IGNORED` (1), `LOGICAL_TIMESTAMP_TYPE_INTEGER` (2), `LOGICAL_TIMESTAMP_TYPE_STRING` (3), `LOGICAL_TIMESTAMP_TYPE_INTEGER_AND_STRING` (4). |
| `indexing_request.last_indexed_timestamp.data` | [`LogicalTimestampUnion`](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/MFiles.LogicalTimestampUnion/index.md) | The data as a union. |
| `indexing_request.last_change_tracking_timestamp` | [`LogicalTimestamp`](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/MFiles.LogicalTimestamp/index.md) | Change Tracking version from last indexed logical timestamp. |
| `indexing_request.last_change_tracking_timestamp.type` | [`LogicalTimestampType`](https://developer.m-files.com/APIs/gRPC-API/Reference/Enums/MFiles.LogicalTimestampType/index.md) | Logical timestamp type. Values: `LOGICAL_TIMESTAMP_TYPE_UNINITIALIZED` (0), `LOGICAL_TIMESTAMP_TYPE_IGNORED` (1), `LOGICAL_TIMESTAMP_TYPE_INTEGER` (2), `LOGICAL_TIMESTAMP_TYPE_STRING` (3), `LOGICAL_TIMESTAMP_TYPE_INTEGER_AND_STRING` (4). |
| `indexing_request.last_change_tracking_timestamp.data` | [`LogicalTimestampUnion`](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/MFiles.LogicalTimestampUnion/index.md) | The data as a union. |
| `indexing_request.indexer_location` | [`IndexerLocation`](https://developer.m-files.com/APIs/gRPC-API/Reference/Enums/MFiles.IndexerLocation/index.md) | Defines if indexer making the request is of type internal (legacy) or external. Values: `INDEXER_LOCATION_UNINITIALIZED` (0), `INDEXER_LOCATION_LEGACY` (1), `INDEXER_LOCATION_EXTERNAL` (2). |
| `last_for_ix` | [`ObjID`](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/MFiles.ObjID/index.md) | Last indexed object ID. If unset, ignored. |
| `last_for_ix.type` | `int32` | The object type ID, for example 0 for documents. In a lookup value, the value list ID (for a lookup to objects, the object type ID). |
| `last_for_ix.item_id` | [`ItemID`](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/MFiles.ItemID/index.md) | The ID of the object within its type, in `item_id.internal_id`. |
| `last_for_ix.item_id.internal_id` | `int32` | The ID of the object or value list item. |
| `last_for_ix.item_id.external_repository_id` | [`ExternalRepositoryID`](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/MFiles.ExternalRepositoryID/index.md) | Used only for objects in external repositories (external connectors). Leave it unset for objects stored in the vault. |
| `threshold` | `uint32` | If 0, mere existence is checked. Non-zero values trigger the threshold check for available objects. |

<a id="response"></a>

## Response: HasMoreObjectsForIXResponse

> Nested message fields are expanded to depth 3; follow a type link for deeper levels and for the type's own page.

| Field | Type | Description |
|---|---|---|
| `more_objects` | `uint32` | 0 if no objects wait. If more than `threshold` objects wait, 4294967295; otherwise the exact number. |
| `last_seen_version_for_ix` | [`LogicalTimestamp`](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/MFiles.LogicalTimestamp/index.md) | Last seen logical timestamp in case there are no objects to be indexed. Note that logical timestamp may go forward even when there are no matching objects to be indexed. |
| `last_seen_version_for_ix.type` | [`LogicalTimestampType`](https://developer.m-files.com/APIs/gRPC-API/Reference/Enums/MFiles.LogicalTimestampType/index.md) | Logical timestamp type. Values: `LOGICAL_TIMESTAMP_TYPE_UNINITIALIZED` (0), `LOGICAL_TIMESTAMP_TYPE_IGNORED` (1), `LOGICAL_TIMESTAMP_TYPE_INTEGER` (2), `LOGICAL_TIMESTAMP_TYPE_STRING` (3), `LOGICAL_TIMESTAMP_TYPE_INTEGER_AND_STRING` (4). |
| `last_seen_version_for_ix.data` | [`LogicalTimestampUnion`](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/MFiles.LogicalTimestampUnion/index.md) | The data as a union. |
| `last_seen_version_for_ix.data.integer` | [`LogicalTimestampInteger`](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/MFiles.LogicalTimestampInteger/index.md) (oneof data) | Logical timestamp as an int64 vector. |
| `last_seen_version_for_ix.data.string` | [`LogicalTimestampString`](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/MFiles.LogicalTimestampString/index.md) (oneof data) | String. |
| `last_seen_version_for_ix.data.integer_and_string` | [`LogicalTimestampIntegerAndString`](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/MFiles.LogicalTimestampIntegerAndString/index.md) (oneof data) | Integer and string. |
| `peida` | [`IndexerDataAvailability`](https://developer.m-files.com/APIs/gRPC-API/Reference/Enums/MFiles.IndexerDataAvailability/index.md) | Flags that tell which kinds of indexer data are available. Values: `INDEXER_DATA_AVAILABILITY_UNKNOWN` (0), `INDEXER_DATA_AVAILABILITY_AVAILABLE` (1), `INDEXER_DATA_AVAILABILITY_EXHAUSTED` (2), `INDEXER_DATA_AVAILABILITY_ABORTED` (3). |
