Read Task
Get one workflow run (task): status, failure reason, product and store ids.
task_id is the id a workflow.completed or workflow.failed webhook carries.
HTTPBearerAuthorizationBearer <token>task_id*Task IdSuccessful Response
application/json- response
One workflow run (task): its status, why it failed, and what it worked on.
id*Idbatch_id*Batch Idstatus*Status"pending""running""completed""failed""cancelled"failure_reason?|Set when status is failed, as in workflow.failed.
failed_job_type?string|nullblueprint_id?integer|nullstore_id?integer|nullinternal_product_id?|nullcreated_at*Created Atdate-timeupdated_at*Updated Atdate-timecurl -X GET 'https://app.copyhero.app/api/v1/tasks/0'{ "id": 0, "batch_id": 0, "status": "pending", "failure_reason": "string", "failed_job_type": "string", "blueprint_id": 0, "store_id": 0, "internal_product_id": "17d65d0a-2bba-46da-af25-e6db2fc23598", "created_at": "2019-08-24T14:15:22Z", "updated_at": "2019-08-24T14:15:22Z"}Preflight Task For Agent POST
Preflight one statically bounded external-agent workflow batch.
Retry Batch Jobs POST
Retry all failed jobs in a batch. This endpoint resets all jobs with state='error' back to state='pending', clears their output data, increments their retry count, and re-dispatches the first pending job of each affected task to the SQS queue. Failed jobs whose input payload the retention sweep already cleared are skipped and counted in `jobs_skipped_expired` — retrying them would re-dispatch an empty payload. Retention is irreversible, so those jobs stay in `error`. No quota is consumed for retries - the retry_count field distinguishes retry attempts from new job executions. Args: batch_id: The batch ID of the batch to retry Returns: Response with retry statistics including jobs reset and tasks affected Raises: 404: If batch not found 403: If user lacks permissions to retry this batch