ApiframeApiframe Docs
Jobs

List Jobs

Retrieve a paginated list of your generation jobs.

GET /v2/jobs

Returns a paginated list of jobs for the authenticated user. Supports filtering by status, model, and searching by job ID.

Query parameters

ParameterTypeDefaultDescription
statusstringFilter by status: "QUEUED", "PROCESSING", "COMPLETED", "FAILED"
modelstringFilter by model name (e.g. "midjourney", "kling-2.6")
limitnumber20Results per page (1–100)
cursorstringPagination cursor from a previous response
scopestring"user""user" for your jobs only, "team" for all team jobs
searchstringSearch by job ID (must be a valid UUID)

Response

{
  "jobs": [
    {
      "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
      "status": "COMPLETED",
      "model": "midjourney",
      "progress": 100,
      "result": "https://cdn.apiframe.ai/results/a1b2c3d4.png",
      "error": null,
      "creditCost": 10,
      "webhookStatus": "sent",
      "createdAt": "2026-03-15T10:00:00.000Z",
      "completedAt": "2026-03-15T10:00:32.000Z"
    }
  ],
  "nextCursor": "eyJpZCI6Ii4uLiJ9",
  "hasMore": true
}

Pagination

The API uses cursor-based pagination. To get the next page, pass the nextCursor value from the previous response as the cursor parameter:

# First page
curl -H "X-API-Key: afk_..." "https://api.apiframe.ai/v2/jobs?limit=10"

# Next page
curl -H "X-API-Key: afk_..." "https://api.apiframe.ai/v2/jobs?limit=10&cursor=eyJpZCI6Ii4uLiJ9"

When hasMore is false, there are no more results.

Code examples

curl -H "X-API-Key: afk_your_api_key_here" \
  "https://api.apiframe.ai/v2/jobs?status=COMPLETED&limit=10"
import requests

response = requests.get(
    "https://api.apiframe.ai/v2/jobs",
    headers={"X-API-Key": "afk_your_api_key_here"},
    params={"status": "COMPLETED", "limit": 10},
)
data = response.json()
for job in data["jobs"]:
    print(f"{job['id']}{job['status']}{job['model']}")
const params = new URLSearchParams({ status: "COMPLETED", limit: "10" });
const response = await fetch(
  `https://api.apiframe.ai/v2/jobs?${params}`,
  { headers: { "X-API-Key": "afk_your_api_key_here" } }
);
const { jobs, nextCursor, hasMore } = await response.json();
req, _ := http.NewRequest("GET",
    "https://api.apiframe.ai/v2/jobs?status=COMPLETED&limit=10", nil)
req.Header.Set("X-API-Key", "afk_your_api_key_here")

resp, err := http.DefaultClient.Do(req)

Try it

GET/v2/jobs?limit=5Try it

On this page