Polls for unreserved items from the indexing queue and marks a set as reserved, starting with items that have the oldest timestamp from the highest priority ItemStatus. The priority order is as follows:
Reserving items ensures that polling from other threads cannot create overlapping sets.
After handling the reserved items, the client should put items back into the unreserved state, either by calling index, or by calling push with the type REQUEUE.
Items automatically become available (unreserved) after 4 hours even if no update or push method is called.
This API requires an admin or service account to execute. The service account used is the one whitelisted in the corresponding data source.
HTTP request
POST https://cloudsearch.googleapis.com/v1/indexing/{name=datasources/*}/items:poll
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-04-04 UTC."],[],[],null,["# Method: indexing.datasources.items.poll\n\n- [HTTP request](#body.HTTP_TEMPLATE)\n- [Path parameters](#body.PATH_PARAMETERS)\n- [Request body](#body.request_body)\n - [JSON representation](#body.request_body.SCHEMA_REPRESENTATION)\n- [Response body](#body.response_body)\n - [JSON representation](#body.PollItemsResponse.SCHEMA_REPRESENTATION)\n- [Authorization scopes](#body.aspect)\n- [Try it!](#try-it)\n\nPolls for unreserved items from the indexing queue and marks a set as reserved, starting with items that have the oldest timestamp from the highest priority [ItemStatus](/workspace/cloud-search/docs/reference/rest/v1/ItemStatus.Code). The priority order is as follows:\n\n[ERROR](/workspace/cloud-search/docs/reference/rest/v1/ItemStatus.Code#ENUM_VALUES.ERROR)\n\n[MODIFIED](/workspace/cloud-search/docs/reference/rest/v1/ItemStatus.Code#ENUM_VALUES.MODIFIED)\n\n[NEW_ITEM](/workspace/cloud-search/docs/reference/rest/v1/ItemStatus.Code#ENUM_VALUES.NEW_ITEM)\n\n[ACCEPTED](/workspace/cloud-search/docs/reference/rest/v1/ItemStatus.Code#ENUM_VALUES.ACCEPTED)\n\nReserving items ensures that polling from other threads cannot create overlapping sets.\n\nAfter handling the reserved items, the client should put items back into the unreserved state, either by calling [index,](/workspace/cloud-search/docs/reference/rest/v1/indexing.datasources.items/index_#google.apps.search.v1.ItemsService.IndexItem) or by calling [push](/workspace/cloud-search/docs/reference/rest/v1/indexing.datasources.items/push#google.apps.search.v1.ItemsService.PushItem) with the type [REQUEUE.](/workspace/cloud-search/docs/reference/rest/v1/indexing.datasources.items/push#PushItem.Type.ENUM_VALUES.REQUEUE)\n\nItems automatically become available (unreserved) after 4 hours even if no update or push method is called.\n\nThis API requires an admin or service account to execute. The service account used is the one whitelisted in the corresponding data source.\n\n### HTTP request\n\n`POST https://cloudsearch.googleapis.com/v1/indexing/{name=datasources/*}/items:poll`\n\nThe URL uses [gRPC Transcoding](https://google.aip.dev/127) syntax.\n\n### Path parameters\n\n| Parameters ||\n|--------|------------------------------------------------------------------------------------|\n| `name` | `string` The name of the data Source to poll items. Format: datasources/{sourceId} |\n\n### Request body\n\nThe request body contains data with the following structure:\n\n| JSON representation |\n|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| ``` { \"connectorName\": string, \"statusCodes\": [ enum (/workspace/cloud-search/docs/reference/rest/v1/ItemStatus.Code) ], \"limit\": integer, \"queue\": string, \"debugOptions\": { object (/workspace/cloud-search/docs/reference/rest/v1/DebugOptions) } } ``` |\n\n| Fields ||\n|-----------------|------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `connectorName` | `string` The name of connector making this call. Format: datasources/{sourceId}/connectors/{id} |\n| `statusCodes[]` | `enum (`[ItemStatus.Code](/workspace/cloud-search/docs/reference/rest/v1/ItemStatus.Code)`)` Limit the items polled to the ones with these statuses. |\n| `limit` | `integer` Maximum number of items to return. The maximum value is 100 and the default value is 20. |\n| `queue` | `string` Queue name to fetch items from. If unspecified, items.poll will fetch from 'default' queue. The maximum length is 100 characters. |\n| `debugOptions` | `object (`[DebugOptions](/workspace/cloud-search/docs/reference/rest/v1/DebugOptions)`)` Common debug options. |\n\n### Response body\n\nIf successful, the response body contains data with the following structure:\n\n| JSON representation |\n|----------------------------------------------------------------------------------------------------------------------|\n| ``` { \"items\": [ { object (/workspace/cloud-search/docs/reference/rest/v1/indexing.datasources.items#Item) } ] } ``` |\n\n| Fields ||\n|-----------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `items[]` | `object (`[Item](/workspace/cloud-search/docs/reference/rest/v1/indexing.datasources.items#Item)`)` Set of items from the queue available for connector to process. These items have the following subset of fields populated: [version](/workspace/cloud-search/docs/reference/rest/v1/indexing.datasources.items#Item.FIELDS.version) [metadata.hash](/workspace/cloud-search/docs/reference/rest/v1/indexing.datasources.items#ItemMetadata.FIELDS.hash) [structuredData.hash](/workspace/cloud-search/docs/reference/rest/v1/indexing.datasources.items#ItemStructuredData.FIELDS.hash) [content.hash](/workspace/cloud-search/docs/reference/rest/v1/indexing.datasources.items#ItemContent.FIELDS.hash) [payload](/workspace/cloud-search/docs/reference/rest/v1/indexing.datasources.items#Item.FIELDS.payload) [status](/workspace/cloud-search/docs/reference/rest/v1/indexing.datasources.items#Item.FIELDS.status) [queue](/workspace/cloud-search/docs/reference/rest/v1/indexing.datasources.items#Item.FIELDS.queue) |\n\n### Authorization scopes\n\nRequires one of the following OAuth scopes:\n\n- `https://www.googleapis.com/auth/cloud_search.indexing`\n- `https://www.googleapis.com/auth/cloud_search`\n\nFor more information, see the [Authorization guide](/workspace/guides/configure-oauth-consent)."]]