TaskRuns

Replay a task run's event

Run the task again on the exact event an earlier run received (its trigger_event), not on whatever is newest now. Use it when an event-triggered run failed, was skipped, or did the wrong thing. Starts a new run with replay_of set to this run; it skips the task's condition, as Run now does. A real replay does everything the task normally does, sends included, so check what the original run already did first. Pass test_run: true to replay it as a test run: writes refused, deliveries captured. 422 no_trigger_event if no event started this run, 402 insufficient_credits if the account is out of AI credits, 409 if the task already has a run in flight or the account is at its run limit.

post/task_runs/{id}/replay

Request

  • Base URL: https://api.crevio.co/v1
  • URL: https://api.crevio.co/v1/task_runs/{id}/replay
  • Auth: API key in header Authorization

Path parameters

idstring required

Task run id (trun_...) whose event to replay

Headers

Idempotency-Keystring

Makes this write safe to retry: a repeat with the same key replays the first response instead of creating a second resource. Scoped to the account, remembered for 24 hours; reusing a key with a different payload is an error.

Request body

test_runboolean

Replay as a test run: real research, but writes are refused and deliveries are captured on the run. Defaults to false.

Response

Accepted — the replay runs in the background on a new run; poll GET /task_runs/{id}.

idstring required
objectstring required
task_idstring required
task_namestring required
chat_idstring nullable required

The run's own conversation (aichat_...): what it read, called and said. Read it with search_chats.

status'pending' | 'running' | 'completed' | 'failed' | 'needs_input' | 'timed_out' | 'unknown' | 'skipped' required
summarystring nullable required
error_messagestring nullable required
test_runboolean required
input_tokensinteger required
output_tokensinteger required
credits_consumedinteger required
tool_calls_countinteger required
duration_msinteger nullable required
started_atstring date-time nullable required
completed_atstring date-time nullable required
created_atstring date-time required
updated_atstring date-time required
skip_reason'condition' | 'no_paid_plan_or_credits' | 'no_recent_activity' | 'no_task_activity' | 'no_personal_sources' | 'wake_gate' | 'wake_limit' | 'rate_limited' | 'misfire' | 'task_busy' | 'account_at_capacity' | 'null' nullable required
skip_countinteger required
delivery_status'delivered' | 'not_delivered' | 'not_requested' | 'unknown' required
completion'verified' | 'recorded' | 'recovered' | 'null' nullable required

How the agent closed a completed run: verified (it re-checked the result), recorded (it reported without re-checking), or recovered (it never reported; summary is its last message). Null unless an agent turn completed the run.

trigger_source'scheduled' | 'event' | 'manual' required
trigger_eventobject nullable required

The event that started this run, {type, data}, exactly as the run received it; data matches the event's webhook payload. Null for a run no event started. POST /task_runs/{id}/replay runs the task again on it.

replay_ofstring nullable required

The run (trun_...) whose event this run replays. Null unless started by POST /task_runs/{id}/replay.

Changes

No recorded changes to this operation across all 2 revisions of this API.