> ## Documentation Index
> Fetch the complete documentation index at: https://docs.aigenstudio.app/llms.txt
> Use this file to discover all available pages before exploring further.

# List Product Photo jobs

> Returns recent Product Photo jobs created by the current API key.



## OpenAPI

````yaml /openapi.yaml get /product-photo-jobs
openapi: 3.1.0
info:
  title: AI Gen Studio Product Photo API
  version: 1.0.0
  summary: Product Photo workflow API for commerce catalogs.
  description: >-
    The Product Photo API turns raw product photos into cleaner ecommerce
    visuals while preserving the real product, packaging, labels, logos,
    proportions, and color identity. Use sandbox keys for integration tests and
    live keys for paid catalog processing.
servers:
  - url: https://aigenstudio.app/api/v1
    description: Production
security:
  - bearerApiKey: []
tags:
  - name: Product Photo Jobs
    description: Create, list, and inspect asynchronous Product Photo jobs.
  - name: Product Photo Metadata
    description: Discover supported Product Photo operations and presets.
paths:
  /product-photo-jobs:
    get:
      tags:
        - Product Photo Jobs
      summary: List Product Photo jobs
      description: Returns recent Product Photo jobs created by the current API key.
      operationId: listProductPhotoJobs
      parameters:
        - name: limit
          in: query
          required: false
          schema:
            type: integer
            minimum: 1
            maximum: 100
            default: 20
        - name: cursor
          in: query
          required: false
          schema:
            type: string
            format: date-time
          description: Cursor returned as `next_cursor` from the previous page.
        - name: status
          in: query
          required: false
          schema:
            $ref: '#/components/schemas/ProductPhotoJobStatus'
        - $ref: '#/components/parameters/RequestIdHeader'
      responses:
        '200':
          description: Product Photo jobs returned.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProductPhotoJobListResponse'
        '400':
          $ref: '#/components/responses/InvalidPayload'
        '401':
          $ref: '#/components/responses/InvalidApiKey'
        '429':
          $ref: '#/components/responses/RateLimitExceeded'
components:
  schemas:
    ProductPhotoJobStatus:
      type: string
      enum:
        - queued
        - processing
        - completed
        - partially_completed
        - failed
        - cancelled
    ProductPhotoJobListResponse:
      type: object
      required:
        - jobs
        - request_id
      properties:
        jobs:
          type: array
          items:
            $ref: '#/components/schemas/ProductPhotoJobSummary'
        next_cursor:
          type:
            - string
            - 'null'
          format: date-time
        request_id:
          type: string
    ProductPhotoJobSummary:
      type: object
      required:
        - credits_reserved
        - id
        - sandbox
        - status
        - total_items
      properties:
        id:
          type: string
          format: uuid
        status:
          $ref: '#/components/schemas/ProductPhotoJobStatus'
        total_items:
          type: integer
          minimum: 1
        credits_reserved:
          type: integer
          minimum: 0
        sandbox:
          type: boolean
    ErrorResponse:
      type: object
      required:
        - error
      properties:
        error:
          type: object
          required:
            - code
            - message
            - request_id
          properties:
            code:
              type: string
            message:
              type: string
            request_id:
              type: string
  parameters:
    RequestIdHeader:
      name: X-Request-Id
      in: header
      required: false
      schema:
        type: string
        maxLength: 160
      description: Optional client correlation id. AI Gen Studio also returns `request_id`.
  responses:
    InvalidPayload:
      description: Payload, query parameter, or idempotency header is invalid.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    InvalidApiKey:
      description: API key is missing, invalid, expired, inactive, or revoked.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    RateLimitExceeded:
      description: The request exceeded an API rate or concurrency limit.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
  securitySchemes:
    bearerApiKey:
      type: http
      scheme: bearer
      bearerFormat: AI Gen Studio API key

````