Toggle Searchable¶
Note
This section is available only for Virtual Private cloud(VPC).
When metadata is defined, metadata key can be configured as searchable or nonsearchable. User can now toggle this configuration on metadata keys even after the key is in PUBLISHED state.
To facilitate these configuration adjustments across existing data, a dedicated POST endpoint (/api/datalake/v4/retrofit-jobs), is utilized. This endpoint processes a list of specified retrofit operations, subsequently initiating an asynchronous job to apply the requisite changes to relevant folders and objects. The supported operations include transitioning a metadata key's configuration from non-searchable to searchable and conversely, from searchable to non-searchable.
Create Update Metadata Definition API¶
The endpoint is used to update the searchability status of a published metadata key. It supports transitioning a key from 'Searchable' to 'Non-searchable' and vice versa. Upon request, an asynchronous background job is initiated to perform a 'retrofit', ensuring that all folders and files associated with the updated metadata key are also modified accordingly. This is an asynchronous operation and will take some time to complete. Updating metadata definition is heavy operation and should be used cautiously, especially on high data volume.
Note
- There might be some interference with existing operation when update metadata definition operation is IN_PROGRESS state
- It is recommended not to initiate multiple update metadata definition operation simultaneously.
Endpoint:
POST /metadataDefinitionUpdateJobs
Request:
{
"operations": [
{
"key": "country_of_origin",
"metadataCollectionId": "document_review",
"operationType": "SEARCHABLE_TO_NONSEARCHABLE",
"usedInSDSPolicy": false,
"additionalDetails": [
{
"fieldName": "StringType",
"fieldValues": [
"ALPHABETIC"
]
}
]
}
]
Request Parameter Description¶
The overview of the parameters, datatypes and detailing search paths are displayed in the table:
| Parameter | Datatype | Description | Recommended Usage |
|---|---|---|---|
| operationType | STRING | Type of metadata definition update operation to be performed | Supported operations are: - SEARCHABLE_TO_NONSEARCHABLE (case insensitive): The system first validates for any active SDS policies associated with the metadata key. For the operation to proceed, the request must explicitly include the usedInSDSPolicy parameter set to false. Upon successful validation, the metadata key definition is updated (for example, from 'Searchable' to 'Non-searchable'). Following this, an asynchronous background job is initiated to perform a 'retrofit' which updates all associated folders and objects. - NONSEARCHABLE_TO_SEARCHABLE (case insensitive): Update the metadata key definition from non-searchable to searchable and retrofit the associated folders and objects where the key is used. Note: Multiple operations can be performed in a single request. Ensure that these operations are performed on different metadata key. |
| usedInSDSPolicy | BOOLEAN | Any active policies defined on this metadata key as part of attribute based access control (ABAC) | Possible values are: - False: This metadata key is not used in any access control policies. System will proceed with the operation and initiate the configuration change - Null or True: This metadata key is used in any access control policies. System will give ERROR! User will have to ensure that there are no active policies in the system using this metadata key Caution: Admin user is responsible to provide this information correctly, especially for Searchable to Non-Searchable. If there are policies defined using this metadata key, it would cause metadata integrity issue if this operation is invoked. This metadata key would no longer be available for policy evaluation. System will not validate this information. |
| additionalDetails | - | Optional information related to metadata key and its associated values | This information is for future use when additional operations will be added to operationType. This filed is not required for existing operations |
Response:
{
"jobId": "0b68f101-4016-42cc-b511-05774f2f47a1",
"status": "IN_PROGRESS",
"created": "2025-07-28T14:53:26Z",
"path": "data/ten=qvstnt3/",
"operationDetailsList": [
{
"key": "country_of_origin",
"metadataCollectionId": "document_review",
"operationType": "SEARCHABLE_TO_NONSEARCHABLE",
"usedInSDSPolicy": false,
"additionalDetails": [
{
"fieldName": "StringType",
"fieldValues": [
"ALPHABETIC"
]
}
]
}
]
}
Request Parameter Details¶
The overview of the parameters, datatypes and detailing paths are displayed in the table:
| Parameter | Datatype | Description | Recommended Usage |
|---|---|---|---|
| jobId | STRING | Identifier of the asynchronous job created for this operation | User can track the status of this operation using this identifier |
| status | STRING | Status of the operation | Status of the operation |
| operationDetailsList | Details of the the submitted operation | Details of the the submitted operation |
Additional Information:
On error, the system logs the failure, updates the job status to FAILED. User can retry the operation using retry API by providing job id
Admin user can retry the FAILED jobs using retry API or can cancel the job using cancel API
Get Update Metadata Definition Jobs API¶
This endpoint is to retrieve a paginated list of retrofit jobs for a specific tenant. It supports optional filtering by job status. If no status is provided, all jobs are returned.
Endpoint:
GET (/api/datalake/v4/retrofit-jobs)
Request:
No request body
Query Parameters:
The overview of the parameters, datatypes and detailing paths are displayed in the table:
| Query Parameters | Datatype | Description |
|---|---|---|
| page | INTEGER | Page number for pagination. - Default value is 0. |
| size | INTEGER | Specifies the number of elements in a page. Example: The default value of page and size is 0 and 10 respectively. The max value of size can be 200. To access the more jobs one can call the API with incremented page number. /matadataDefinitionUpdateJobs?page=1&size=200 The above URI will display the next 200 jobs. For more jobs, page number has to be incremented. Default value : 10 |
| status | STRING | Filter jobs with status (IN_PROGRESS, COMPLETED, FAILED, CANCELLED) |
Response:
[
{
"metadataDefinitionUpdateJobs": [
{
"jobId": "2aede1a7-9378-4245-9b89-921888a8953e",
"status": "FAILED",
"created": "2025-07-28T14:53:26Z",
"updated": "2025-07-30T11:42:13Z",
"path": "data/ten=qvstnt3/",
"failureReason": "This request is not authorized to perform this operation.",
"retryCount": 0,
"operationDetailsList": [
{
"key": "country_of_origin",
"metadataCollectionId": "document_review",
"operationType": "SEARCHABLE_TO_NONSEARCHABLE",
"usedInSDSPolicy": false,
"additionalDetails": [
{
"fieldName": "StringType",
"fieldValues": [
"ALPHABETIC"
]
}
]
}
]
}
],
"page": {
"size": 0,
"totalElements": 0,
"totalPages": 0,
"number": 0
}
}
]
Get Update Metadata Definition Job by ID API¶
This endpoint is to retrieve the detail of update metadata definition job for the provided job ID.
Endpoint:
GET /metadataDefinitionUpdateJobs/{id}
Request:
No request body
Response:
{
"jobId": "2aede1a7-9378-4245-9b89-921888a8953e",
"status": "FAILED",
"created": "2025-07-28T14:53:26Z",
"updated": "2025-07-30T11:42:13Z",
"path": "data/ten=qvstnt3/",
"failureReason": "This request is not authorized to perform this operation.",
"retryCount": 0,
"operationDetailsList": [
{
"key": "country_of_origin",
"metadataCollectionId": "document_review",
"operationType": "SEARCHABLE_TO_NONSEARCHABLE",
"usedInSDSPolicy": false,
"additionalDetails": [
{
"fieldName": "StringType",
"fieldValues": [
"ALPHABETIC"
]
}
]
}
]
}
Retry Failed Update Metadata Definition Job API¶
This endpoint retry FAILED jobs by providing the job ID. If the specified job ID exists, the retry will resume the update metadata definition job from where it failed. Retry operation is only allowed for jobs with FAILED status.
Endpoint:
POST /metadataDefinitionUpdateJobs/{id}/retry
Request:
No request body
Response:
{
"jobId": "0b68f101-4016-42cc-b511-05774f2f47a1",
"status": "IN_PROGRESS",
"created": "2025-07-28T14:53:26Z",
"updated": "2025-07-30T11:42:13Z",
"path": "data/ten=qvstnt3/",
"operationDetailsList": [
{
"key": "country_of_origin",
"metadataCollectionId": "document_review",
"operationType": "SEARCHABLE_TO_NONSEARCHABLE",
"usedInSDSPolicy": false,
"additionalDetails": [
{
"fieldName": "StringType",
"fieldValues": [
"ALPHABETIC"
]
}
]
}
]
}
Cancel Failed Update Metadata Definition Job API¶
This endpoint cancel FAILED jobs by providing the job ID. Cancel operation is only allowed for jobs with FAILED status.
Note
If the job goes in FAILED state after multiple retry, cancel API can be used to move the job to CANCELLED status. It is important to move the FILED job to CANCELLED state as it will hold up the state of the job to retry
Endpoint:
POST /metadataDefinitionUpdateJobs/{id}/cancel
Request:
No request body
Response:
{
"jobId": "0b68f101-4016-42cc-b511-05774f2f47a1",
"status": "CANCELLED",
"created": "2025-07-28T14:53:26Z",
"path": "data/ten=qvstnt3/",
"operationDetailsList": [
{
"key": "country_of_origin",
"metadataCollectionId": "document_review",
"operationType": "SEARCHABLE_TO_NONSEARCHABLE",
"usedInSDSPolicy": false,
"additionalDetails": [
{
"fieldName": "StringType",
"fieldValues": [
"ALPHABETIC"
]
}
]
}
]
}