Implementation guide

How to batch the Decisions API over CSV rows

The reliable pattern is not one giant request. It is a resumable queue of small, independently identifiable decisions.

A safe batch pipeline

  1. Parse the CSV locally and keep the original row index.
  2. Validate the selected column and skip empty cells explicitly.
  3. Build one stable question configuration for the entire job.
  4. Process a small number of rows concurrently.
  5. Write each answer to durable local progress as it succeeds.
  6. Retry 429, timeout, and 5xx responses with bounded backoff.
  7. Export original rows plus normalized decision columns.

Why not send the whole CSV in one prompt?

A single prompt makes row-to-result mapping fragile, raises context usage, and forces the entire job to fail or retry together. Per-row calls preserve structured output, isolate failures, and make pause/resume straightforward.

Minimal orchestration shape

for each chunk of five rows:
  send one decision request per row
  wait for the chunk to settle
  save successful answers by stable row id
  classify retryable and permanent failures
  update visible progress

retry transient failures at most twice
export the original rows plus decision fields

Errors that should not be retried blindly

ErrorAction
Authentication or endpoint access deniedStop the batch and verify the server-side project configuration.
Invalid question configurationFix the shared configuration before resuming.
Rate limit or timeoutBack off, then retry the affected row with the same idempotency record.
Server errorRetry a limited number of times and keep all completed rows.

Use a script or a browser tool?

Write a script when the job is repeatable, belongs in a production pipeline, or needs custom storage. Use a browser runner when the file is small, the rule is one-off, and the value is avoiding setup, retry, and export code.

Sources and verification

Product facts on this page were checked against the following primary sources on October 11, 2026.

Use your data

Run the same batch without writing the queue

DecideCSV processes five rows at a time, preserves progress locally, and exports the joined result.

Preview a CSV batch