Trigger and manage enrichment, extraction, map extraction, and AI generation tasks on your datasets. Process new rows, bulk operations, and monitor task progress.
All operations require authentication using Bearer tokens. Make sure you have
your API credentials ready.
Datasets enter locked mode during task execution and cannot be modified until
completion.
{ "error": "Dataset is locked", "code": "DATASET_LOCKED", "details": { "message": "Dataset is currently being processed by another task", "activeTaskId": "task_123e4567-e89b-12d3-a456-426614174000" }}
Process cells in your dataset with flexible targeting options. Process all empty cells, specific cells, entire columns/rows, or intersections of rows and columns.
# Process all empty cells in the datasetcurl -X POST "https://secure-api.getclaro.ai/api/v2/datasets/$DATASET_ID/tasks/bulk" \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "processOnlyEmpty": true, "webhookId": "$WEBHOOK_ID" }'# Process specific cellscurl -X POST "https://secure-api.getclaro.ai/api/v2/datasets/$DATASET_ID/tasks/bulk" \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{"cellIds": ["cell_1", "cell_2"],"webhookId": "$WEBHOOK_ID"}'# Process intersection of specific rows and columnscurl -X POST "https://secure-api.getclaro.ai/api/v2/datasets/$DATASET_ID/tasks/bulk" \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{"rowIds": ["row_1", "row_2"],"columnIds": ["col_product_name", "col_category"],"processOnlyEmpty": true,"webhookId": "$WEBHOOK_ID"}'
import requestsheaders = { "Authorization": "Bearer YOUR_API_KEY", "Content-Type": "application/json"}# Example 1: Process all empty cells in the datasetdata = { "processOnlyEmpty": True, # Process all empty cells (default: true) "webhookId": "your-webhook-id" # Optional webhook for completion notification}# Example 2: Process specific cellsdata = { "cellIds": ["cell_1", "cell_2"], # Specific cell IDs to process "webhookId": "your-webhook-id"}# Example 3: Process intersection of rows and columnsdata = { "rowIds": ["row_1", "row_2"], # Specific rows "columnIds": ["col_product_name", "col_category"], # Specific columns "processOnlyEmpty": True, # Only process empty cells in the intersection "webhookId": "your-webhook-id"}dataset_id = "your-dataset-id" # Replace with your dataset IDresponse = requests.post( f"https://secure-api.getclaro.ai/api/v2/datasets/{dataset_id}/tasks/bulk", headers=headers, json=data)
const datasetId = "your-dataset-id"; // Replace with your dataset ID// Example 1: Process all empty cells in the datasetconst processAllEmpty = { processOnlyEmpty: true, // Process all empty cells (default: true) webhookId: "your-webhook-id", // Optional webhook for completion notification};// Example 2: Process specific cellsconst processSpecificCells = { cellIds: ["cell_1", "cell_2"], // Specific cell IDs to process webhookId: "your-webhook-id",};// Example 3: Process intersection of rows and columnsconst processIntersection = { rowIds: ["row_1", "row_2"], // Specific rows columnIds: ["col_product_name", "col_category"], // Specific columns processOnlyEmpty: true, // Only process empty cells in the intersection webhookId: "your-webhook-id",};const response = await fetch( `https://secure-api.getclaro.ai/api/v2/datasets/${datasetId}/tasks/bulk`, { method: "POST", headers: { Authorization: "Bearer YOUR_API_KEY", "Content-Type": "application/json", }, body: JSON.stringify(processAllEmpty), // Use any of the examples above });
{ "error": "Invalid cell selection", "code": "INVALID_SELECTION", "details": { "message": "Cannot combine cellIds with rowIds or columnIds. Use either cellIds alone, or rowIds/columnIds, or no IDs to process all empty cells" }}
// Process all empty cells in dataset{}// Process specific cells only{"cellIds": ["cell_1", "cell_2"]}// Process entire columns{"columnIds": ["col_name", "col_category"]}// Process entire rows{"rowIds": ["row_1", "row_2"]}// Process intersection: only cells where specified rows and columns meet{"rowIds": ["row_1", "row_2"], "columnIds": ["col_name", "col_category"]}