# IRPCIndexingDataSource.GetNextFilesForFIX

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/GetNextFilesForFIX/

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

Gets next object files for file data indexing.

- **Service:** [Indexing data source](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCIndexingDataSource/index.md) `MFiles.IRPCIndexingDataSource`
- **gRPC method:** `/MFiles.IRPCIndexingDataSource/GetNextFilesForFIX`
- **HTTP (mf-http-grpc):** `POST /grpc/v1/get-next-files-for-fix`
- **Request:** [`GetNextFilesForFIXRequest`](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCIndexingDataSource/GetNextFilesForFIX/index.md#request)
- **Response:** [`GetNextFilesForFIXResponse`](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCIndexingDataSource/GetNextFilesForFIX/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 to fetch the next batch of files for a
file data index. Applications should not call it.
- Requires a vault session with the vault rights `see_all_objects` and `see_deleted_objects`.

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

## Request: GetNextFilesForFIXRequest

> 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). |
| `count` | `uint32` | The number of files requested. Ignored when `file_ver_array` is set. |
| `include_full_set_of_file_ids` | `bool` | If true, the received FileInfoForFIX data will include the full set of file IDs that co-exist (on a particular object version) with the file to be indexed. |
| `file_ver_array` | [`FileVerArray`](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/MFiles.FileVerArray/index.md) | If set, explicitly specifies the file versions to be retrieved. |
| `file_ver_array.value[]` | repeated [`FileVer`](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/MFiles.FileVer/index.md) | Items. |
| `file_ver_array.value[].file_id` | [`FileID`](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/MFiles.FileID/index.md) | The file. |
| `file_ver_array.value[].type` | [`FileVerType`](https://developer.m-files.com/APIs/gRPC-API/Reference/Enums/MFiles.FileVerType/index.md) | `FILE_VER_TYPE_SPECIFIC` for a file version number. Values: `FILE_VER_TYPE_UNINITIALIZED` (0), `FILE_VER_TYPE_LATEST` (1), `FILE_VER_TYPE_ANY` (2), `FILE_VER_TYPE_SPECIFIC` (3). |
| `file_ver_array.value[].internal_version` | `int32` | The file version number. |
| `file_ver_array.value[].external_repository_version` | `string` | Used only for files in external repositories. Leave empty. |
| `file_ver_array.value[].external_repository_sort_key` | `int64` | Used only for files in external repositories. Leave 0. |

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

## Response: GetNextFilesForFIXResponse

> 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 |
|---|---|---|
| `files[]` | repeated [`FileInfoForFIX`](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/MFiles.FileInfoForFIX/index.md) | Object files. |
| `files[].obj_file_ver` | [`ObjFileVer`](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/MFiles.ObjFileVer/index.md) | File version. |
| `files[].obj_file_ver.obj_id` | [`ObjID`](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/MFiles.ObjID/index.md) | The object that owns the file. |
| `files[].obj_file_ver.file_ver` | [`FileVer`](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/MFiles.FileVer/index.md) | The specific file version, as in `File.file_ver`. |
| `files[].is_destroyed` | `bool` | True if the file has been destroyed and is no longer available. If true then only the objfilever member is valid. |
| `files[].data_file_version` | `int32` | Data file version if the file is an internal file. |
| `files[].size` | `int64` | The logical size of the file in bytes. |
| `files[].extension` | `string` | The file extension, not including the dot (e.g. "doc"). This unencoded extension may contain characters that are not allowed in file extensions in file systems. |
| `files[].relevance_score` | `float` | Relevance score of the object. |
| `files[].file_ids[]` | repeated [`FileID`](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/MFiles.FileID/index.md) | All file IDs of the object's LCI version. |
| `files[].file_ids[].type` | [`FileIDType`](https://developer.m-files.com/APIs/gRPC-API/Reference/Enums/MFiles.FileIDType/index.md) | `FILE_IDTYPE_SPECIFIC` for one file. Values: `FILE_IDTYPE_UNINITIALIZED` (0), `FILE_IDTYPE_ALL` (1), `FILE_IDTYPE_ANY` (2), `FILE_IDTYPE_SPECIFIC` (3). |
| `files[].file_ids[].internal_id` | `int32` | The file ID. |
| `files[].file_ids[].external_repository_id` | `string` | Used only for files in external repositories. Leave empty. |
| `files[].timestamp` | [`LogicalTimestamp`](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/MFiles.LogicalTimestamp/index.md) | Logical timestamp for indexing. |
| `files[].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). |
| `files[].timestamp.data` | [`LogicalTimestampUnion`](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/MFiles.LogicalTimestampUnion/index.md) | The data as a union. |
| `files[].object_data` | [`ObjectVersionExWP`](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/MFiles.ObjectVersionExWP/index.md) | If not null contains the basic object version information. The search results are returned from the server using this information with external content repositories. |
| `files[].object_data.object_version` | [`ObjectVersionEx`](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/MFiles.ObjectVersionEx/index.md) | Object info. |
| `files[].object_data.properties[]` | repeated [`PropertyValue`](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/MFiles.PropertyValue/index.md) | Property values, or an empty array. |
| `files[].object_data.acl` | [`AccessControlList`](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/MFiles.AccessControlList/index.md) | If set, ACL. |
| `files[].object_data.current_user_permissions` | [`ObjectPermissionsForClient`](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/MFiles.ObjectPermissionsForClient/index.md) | If set, permissions of the object version. |
| `files[].last_modified_for_indexing` | [`google.protobuf.Timestamp`](https://protobuf.dev/reference/protobuf/google.protobuf/#timestamp) | The last modified timestamp for indexing. |
| `files[].repository_path` | [`FolderArray`](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/MFiles.FolderArray/index.md) | If not null contains the array of folders describing the repository path to the object version location. The search results are returned from the server using this information with external content repositories. |
| `files[].repository_path.value[]` | repeated [`Folder`](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/MFiles.Folder/index.md) | Array of Folder structures. |
| `last_seen_version_for_fix` | [`LogicalTimestamp`](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/MFiles.LogicalTimestamp/index.md) | Last seen logical timestamp within the returned files or the timestamp after trying to fetch the batch even if no files were returned (relevant for indexing external repositories). |
| `last_seen_version_for_fix.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_fix.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_fix.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_fix.data.string` | [`LogicalTimestampString`](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/MFiles.LogicalTimestampString/index.md) (oneof data) | String. |
| `last_seen_version_for_fix.data.integer_and_string` | [`LogicalTimestampIntegerAndString`](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/MFiles.LogicalTimestampIntegerAndString/index.md) (oneof data) | Integer and string. |
