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
| Parameter | Type | Default | Description |
|---|---|---|---|
status | string | — | Filter by status: "QUEUED", "PROCESSING", "COMPLETED", "FAILED" |
model | string | — | Filter by model name (e.g. "midjourney", "kling-2.6") |
limit | number | 20 | Results per page (1–100) |
cursor | string | — | Pagination cursor from a previous response |
scope | string | "user" | "user" for your jobs only, "team" for all team jobs |
search | string | — | Search 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