jobs/get until status is succeeded or failed. Poll every 2 to 5 seconds; faster polling counts against the rate limit and doesn’t make jobs finish sooner.
When a job fails,
error.message explains why. Refines never change the source pattern.
A succeeded job can still have result: null: a fixDeformity job that found nothing to repair, or a job whose pattern has since been deleted. Handle a null result on success.