Skip to content

Poll until ready

Reuse this loop for import, transcript, dub, or download jobs.

Terminal window
JOB_ID=import_uv_123
for i in $(seq 1 90); do
BODY=$(curl -sS "$BRAIV_API_BASE/jobs/$JOB_ID" -H "Authorization: Bearer $BRAIV_API_KEY")
STATUS=$(echo "$BODY" | jq -r .status)
echo "$i $STATUS"
if [ "$STATUS" = "ready" ] || [ "$STATUS" = "failed" ]; then
echo "$BODY"
exit 0
fi
sleep 10
done
echo "timed out" >&2
exit 1

For production, prefer webhooks so you are not polling.