---
title: "List jobs"
description: "Paginated list of your conversion jobs, optionally filtered by job type."
---

import { Tabs, TabItem } from '@astrojs/starlight/components';

List your conversion jobs, newest first.

| | |
|---|---|
| **Method** | `GET` |
| **Path**   | `/api/conversions` |

Simulation jobs are excluded by default — they are surfaced inline on each parent job's `simulations[]` array. To include them explicitly, pass `job_type=simulate_usd`.

## Query parameters

| Param      | Type   | Default | Notes                                                                 |
| ---------- | ------ | ------- | --------------------------------------------------------------------- |
| `page`     | int    | `1`     | 1-indexed page number.                                                |
| `pageSize` | int    | `25`    | Max `100`.                                                            |
| `job_type` | string | —       | Comma-separated. One or more of `glb_to_simready`, `text_to_simready`, `image_to_simready`, `multiview_to_simready`, `simulate_usd`. |

## Examples

<Tabs syncKey="lang">
  <TabItem label="curl">
  ```bash
  curl "https://api.rigyd.com/api/conversions?page=1&pageSize=25" \
    -H "Authorization: Bearer rgyd_live_..."

  # Only text and image jobs
  curl "https://api.rigyd.com/api/conversions?job_type=text_to_simready,image_to_simready" \
    -H "Authorization: Bearer rgyd_live_..."
  ```
  </TabItem>
  <TabItem label="JavaScript">
  ```js
  const res = await fetch(
    'https://api.rigyd.com/api/conversions?page=1&pageSize=25',
    { headers: { Authorization: `Bearer ${process.env.RIGYD_API_KEY}` } },
  );
  const { data, meta } = await res.json();
  console.log(`${data.length} of ${meta.total} jobs`);
  ```
  </TabItem>
  <TabItem label="Python">
  ```python
  import os, requests

  res = requests.get(
      "https://api.rigyd.com/api/conversions",
      headers={"Authorization": f"Bearer {os.environ['RIGYD_API_KEY']}"},
      params={"page": 1, "pageSize": 25},
  )
  body = res.json()
  jobs, meta = body["data"], body["meta"]
  ```
  </TabItem>
</Tabs>

## Response

```json
{
  "data": [
    {
      "id": "abc123...",
      "physiq_job_id": "phy_...",
      "status": "completed",
      "filename": "toolbox.glb",
      "file_size_bytes": 1245678,
      "stage": "export",
      "progress": 100,
      "job_type": "glb_to_simready",
      "credits_charged": 1,
      "createdAt": "2026-05-06T12:00:00.000Z",
      "updatedAt": "2026-05-06T12:01:32.000Z"
    }
  ],
  "meta": { "page": 1, "pageSize": 25, "pageCount": 4, "total": 87 }
}
```

This is the trimmed list shape — to get input/output URLs, the `preprocess` component, simulations, and the full report, fetch a single job with [`GET /api/conversions/:id`](/jobs/retrieve).