jobs_wait

Management

Wait For Jobs

Wait for Scenario jobs to finish — blocks server-side until every job completes or the server wait budget (~180s) expires, streaming progress notifications throughout. Use after model_run / asset_analyze / workflow_run returns status='in_progress', or after launching a batch with wait=false. Args: - job_ids: required — 1-32 job ids to wait on - team_id, project_id: required for OAuth callers Returns: status='completed' with one compact row per job (jobId, status, progress, assetIds, cuCost, error/hint when set), or status='in_progress' with rows so far plus pending_job_ids — call jobs_wait again with job_ids set to those pending_job_ids to continue waiting. Timeout is never an error. Example: "Wait for my 3 generations" -> job_ids=["job_a","job_b","job_c"] Don't use when: you only want the current status right now — use job_get.
read-onlyidempotentopen-world

Parameters

NameTypeRequiredDescription
job_idsarrayJob IDs to wait on (1-32).
team_idstringTeam ID. Required if user belongs to multiple teams.
project_idstringProject ID to scope the operation to.
response_formatenum(json | markdown)jsonOutput format: 'json' for structured data, 'markdown' for human-readable text.

Example Request

JSON
{
  "job_ids": [
    "job_gen_123",
    "job_gen_124"
  ],
  "team_id": "team_abc123",
  "project_id": "proj_xyz789"
}

Example Response

JSON
{
  "status": "completed",
  "jobs": [
    {
      "jobId": "job_gen_123",
      "status": "success",
      "progress": 1,
      "assetIds": [
        "asset_img001"
      ]
    },
    {
      "jobId": "job_gen_124",
      "status": "success",
      "progress": 1,
      "assetIds": [
        "asset_img002"
      ]
    }
  ]
}

Common Use Cases

  • Block until a batch of generation jobs finishes instead of polling one by one
  • Continue waiting on pending_job_ids when a previous jobs_wait timed out