List running jobs

October 7, 2026

Table of contents

  1. Request Headers
  2. Responses
  3. Model
  4. Examples
  5. Try It

List the jobs running right now and, for every connected account, how many of its maxJobs slots they take.

A job is listed from the moment POST /videos, POST /videos/extend, POST /videos/upscale, POST /videos/edit or POST /images accepts it until it completes or fails. Each listed job takes one of its account’s slots. When all slots of an account are taken, a new job on it is refused with 429, and a job without email goes to another account that has a free slot. Uploads and avatars take no slot. Poll a single job with GET /jobs/jobid.

This endpoint reads our own records only and never calls Google, so it is cheap to poll.

https://api.useapi.net/v1/google-vids/jobs

Request Headers
Authorization: Bearer {API token}
Responses
  • 200 OK

    {
      "running": [
        {
          "jobid": "user:[email protected]:4aa24347-8099-4624-80ec-fb758db74419",
          "email": "[email protected]",
          "created": "2026-10-07T06:29:01.204Z",
          "type": "video",
          "mode": "text"
        }
      ],
      "accounts": {
        "[email protected]": {
          "running": 1,
          "maxJobs": 3
        },
        "[email protected]": {
          "running": 0,
          "maxJobs": 3
        }
      }
    }
    
  • 400 Bad Request — no account is connected yet.

    {
      "error": "Please configure at least one account at https://useapi.net/docs/api-google-vids-v1/post-google-vids-accounts",
      "code": 400
    }
    
  • 401 Unauthorized

    Invalid API token.

    {
      "error": "useapi.net ⁝ Unauthorized",
      "code": 401
    }
    
Model
{ // TypeScript, all fields are optional
  running: {
    jobid: string
    email: string                 // the account the job runs on
    created: string               // ISO 8601, when the job was accepted
    type: 'video' | 'image'
    mode?: 'text' | 'image' | 'ingredients' | 'extend' | 'upscale' | 'edit'   // video jobs only
  }[]
  accounts: {
    [email: string]: {
      running: number             // jobs running on this account now
      maxJobs: number             // its limit, set with POST /accounts
    }
  }
}
Examples
  • curl "https://api.useapi.net/v1/google-vids/jobs" \
       -H "Authorization: Bearer …"
    
  • const token = "API token";
    const apiUrl = "https://api.useapi.net/v1/google-vids/jobs";
    const response = await fetch(apiUrl, {
      headers: {
        "Authorization": `Bearer ${token}`,
      },
    });
    const result = await response.json();
    console.log("response", {response, result});
    
  • import requests
    token = "API token"
    apiUrl = "https://api.useapi.net/v1/google-vids/jobs"
    headers = {
        "Authorization" : f"Bearer {token}"
    }
    response = requests.get(apiUrl, headers=headers)
    print(response, response.json())
    
Try It