Skip to main content

Bulk Resolve Field Reviews

Resolve up to 500 held fields in one call with a shared action. Each item runs the single-field resolve path and a failed item never aborts the batch.

Resolve a batch of held fields with one action, up to 500 per call. This is how you clear an identical-value cluster: approve every member of a group of fields that all hold the same value in one request. Each item runs the same single-field resolve path, so the decision log, promotion cell, and resume behavior are identical to resolving one field at a time.

The request carries an items array of (pipeline_document_id, field_key) targets, the shared action, and an optional corrected_value and reason applied to every item. A failed item never aborts the rest: the call always returns a per-item result with ok true or an error message, plus the resolved and failed counts. This lets you submit a large batch and reconcile partial failures afterward.

Items targeting a document that does not belong to your organization are reported as failed with a "Pipeline document not found" error rather than failing the whole call. The same loop-guard and resume rules from single-field resolve apply per item: an approve or override suppresses re-blocking, a correct does not. This endpoint requires an API key with the write scope.

A bulk resolve is capped at 500 items. When action is correct, the same corrected_value is promoted across every item, so only batch a correct over fields that genuinely share the right value.
POST/v1/field-reviews/bulk-resolve

Body parameters

items*object[]Targets to resolve (1-500). Each is { pipeline_document_id, field_key }.
items[].pipeline_document_id*stringPipeline document holding the field (UUID).
items[].field_key*stringSchema field key under review (max 500 characters).
action*stringAction applied to every item: approve, correct, or override.
corrected_valuestringValue promoted across the batch. Required for correct. Max 10,000 characters.
reasonstringReason recorded against every decision. Max 2,000 characters.

curl

curl -s -X POST https://api.talonic.com/v1/field-reviews/bulk-resolve \
  -H "Authorization: Bearer tlnc_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
    "action": "approve",
    "reason": "Identical vendor value verified once for the cluster.",
    "items": [
      {"pipeline_document_id": "pd_uuid_1", "field_key": "currency"},
      {"pipeline_document_id": "pd_uuid_2", "field_key": "currency"},
      {"pipeline_document_id": "pd_uuid_3", "field_key": "currency"}
    ]
  }'

Response

Response fields

resolvedintegerNumber of items that resolved successfully.
failedintegerNumber of items that failed.
resultsarrayPer-item outcome, in request order.
results[].pipeline_document_idstringThe item's document id.
results[].field_keystringThe item's field key.
results[].okbooleanWhether the item resolved.
results[].errorstringFailure reason when ok is false.

Response

{
  "resolved": 2,
  "failed": 1,
  "results": [
    { "pipeline_document_id": "pd_uuid_1", "field_key": "currency", "ok": true },
    { "pipeline_document_id": "pd_uuid_2", "field_key": "currency", "ok": true },
    {
      "pipeline_document_id": "pd_uuid_3",
      "field_key": "currency",
      "ok": false,
      "error": "Pipeline document not found"
    }
  ]
}

Errors

Error responses

400validation_errorThe body failed validation (e.g. empty items, more than 500 items, or correct without corrected_value).
401unauthorizedMissing or invalid API key.
429rate_limitedToo many requests. Retry after the period indicated in the Retry-After header.

Frequently asked questions

What happens if some items fail?+
A failed item never aborts the rest. Every item gets a result with `ok` true or an `error` message, and the response carries `resolved` and `failed` counts. Reconcile the failures from the per-item results.
Is the same corrected_value applied to every item?+
Yes. For a `correct` or value-bearing `override`, the single `corrected_value` is promoted across every item in the batch, so only batch a `correct` over fields that share the same right value.
How large can a batch be?+
Up to 500 items per call. Split larger sets across multiple requests.