Skip to main content
Contents

Follow one run to a terminal state

Track the hosted run that was already accepted, then decide whether its output meets the task. Reading progress starts no new work and does not cancel an existing execution.

Before you read​

Keep the original account, run ID, version and invocation key. If submission supplied no run ID, resolve the key through the invocation lookup before attempting a detail read.

Follow the same execution​

  1. Read GET /hvy/v1/loops/runs/{runId} using the returned UUID and owning session. Send no body or invocation key header on this detail read.
  2. Compare the returned id, loopId and version with your retained identity.
  3. If the status is queued or running, inspect again later without invoking. Closing the tab or reaching a client deadline does not stop accepted work.
  4. For completed, examine output against the reviewed artifact's expected result. A completed wrapper with unsuitable output is not task success.
  5. For failed or expired, preserve the status and available result. A new invocation is new work, not recovery of that output.
  6. For uncertain, retain the original identity and seek reconciliation before starting another execution. Do not translate uncertainty into failure or non-execution.

Check retention​

Save required output securely while it is available. Input and output expire after the documented retention deadline from enqueue, independently of the stored status. output:null can mean pending, expired or erased data; it does not establish that nothing ran.

If the read fails​

For run_not_found, confirm the original account and UUID or resolve the retained key. For service errors, repeat the same read after recovery. Do not poll a fabricated ID or switch accounts to search for the run.

The run detail reference lists exact fields and recovery codes.

Keep operation identity without credentials​

Use this personal recovery worksheet to retain non-secret identity. Replace its descriptive values with your own observations; it is not a service configuration or API request. Keep it private when identifiers or file locations are sensitive.

service: SERVICE_NAME
operation_id: OPERATION_ID
idempotency_key: ORIGINAL_KEY
request_body_file: path/to/original-request.json
version: EXACT_VERSION_IF_APPLICABLE
last_observed_state: STATE