Skip to content

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"
          ]
        }
      ]
    }
  ]
}

Last update: November 28, 2025

Except where otherwise noted, content on this site is licensed under the Development License Agreement.