---
title: "Recent generations"
method: GET
path: "/api/v1/jobs"
tags: ["Jobs"]
---

# Recent generations

`GET /api/v1/jobs`

## Request

- Base URL: `https://pixly.app`
- URL: `https://pixly.app/api/v1/jobs`
- Auth: one of:
  - HTTP bearer
  - OAuth 2 (authorization code, authorization URL `https://pixly.app/oauth/authorize`, token URL `https://pixly.app/api/oauth/token`, scopes: `tools`)

## Query parameters

- `limit` integer
- `type` 'images' | 'videos'

## Response `200`

Newest first

- object
  - `jobs` Job[]
    - `jobId` string, required: Job id — pass to get_job to poll
    - `type` 'image_staging' | 'video_pair' | 'video_tour', required: Job family
    - `status` 'pending' | 'processing' | 'completed' | 'failed', required: Anything not completed/failed is still running
    - `creditsCharged` number, nullable, required: Credits debited for this job
    - `createdAt` string, date-time, required: Submission time
    - `completedAt` string, date-time: Present once finished
    - `resultUrls` string[]: Presigned download URLs (present when completed; valid 7 days)
    - `resultPaths` string[]: Storage path of each result, in resultUrls order — pass one as r2Path (or beforeR2Path, a photos[] item…) to run another tool on this result
    - `error` string: Failure reason; the message says whether the credit came back immediately or is in 24h refund review
    - `note` string: Hint for agents, e.g. poll again in a few seconds

## Other responses

- `401`: Missing/invalid credential
- `429`: Rate limited — see Retry-After (120 req/min, 30/min for generations)

---

[API](https://skmtc.dev/pixly/apis/pixly-api.md) · [All operations](https://skmtc.dev/pixly/apis/pixly-api/llms.txt) · [OpenAPI document](https://skmtc.dev/pixly/apis/pixly-api/revisions/6f1aae1786ea?raw)
