Skip to main content
After completing this topic, you can retrieve existing Runs by client key or name and resume streaming data into them across restarts or separate processes.

Before you begin

How Run retrieval works

When a process restarts or a new process needs to stream into an existing Run, you can look up the Run by its client_key or other criteria instead of storing the server-assigned run_id externally. Sift provides two retrieval methods:
  • RunService.GetRun: retrieves a single Run by its exact run_id. Use this when you already have the ID.
  • RunService.ListRuns: searches for Runs using filter criteria such as client_key or name. Use this when you need to find a Run without a stored ID.

Retrieve and resume a Run

Step 1: Look up a Run by client key

Use RunService.ListRuns with a filter on client_key to find a specific Run.
curl -G \
  -H "Authorization: Bearer $API_TOKEN" \
  -d "filter=client_key=='example_client_key'" \
  $SIFT_REST_URL/api/v2/runs
Other available search parameters are documented in ListRunsRequest.

Step 2: Include the Run ID in subsequent ingestion requests

Once you have the run_id, include it in your IngestWithConfigDataStreamRequest to continue associating new data with that Run.

Step 3: Update a Run

To modify an existing Run (for example, to set its stop_time), use RunService.UpdateRun. See UpdateRunRequest for the available fields.

Verify the result

After streaming additional data into the Run, open Sift and navigate to the asset. The Run should show updated data covering the full time range across all streaming sessions.

Next steps

Reference