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

# List Ingest Jobs

> Bulk ingest jobs of your organization, newest first

[← Create Wastes (v2)](/api-reference/wastes/create-v2)

The jobs created by bulk endpoints such as [`POST /v2/wastes`](/api-reference/wastes/create-v2) for the organization
in `x-organization-id` and its group, newest first. Use it to find a job whose id you no longer have, or to list the
ones that failed.

<Warning>
  **Beta.** Part of the bulk ingest API, currently in beta. The contract may still change before general
  availability.
</Warning>

<RequestExample>
  ```bash cURL theme={"theme":{"light":"github-light","dark":"github-dark"}}
  curl "https://api.dcycle.io/v2/ingest-jobs?status=completed_with_errors&created_from=2026-10-01T00:00:00Z" \
    -H "x-api-key: ${DCYCLE_API_KEY}" \
    -H "x-organization-id: ${DCYCLE_ORG_ID}"
  ```

  ```python Python theme={"theme":{"light":"github-light","dark":"github-dark"}}
  import os

  import requests

  response = requests.get(
      "https://api.dcycle.io/v2/ingest-jobs",
      headers={
          "x-api-key": os.environ["DCYCLE_API_KEY"],
          "x-organization-id": os.environ["DCYCLE_ORG_ID"],
      },
      params={"status": "completed_with_errors", "created_from": "2026-10-01T00:00:00Z"},
      timeout=30,
  )
  response.raise_for_status()
  for job in response.json()["items"]:
      print(job["id"], job["status"], job["counts"])
  ```

  ```javascript JavaScript theme={"theme":{"light":"github-light","dark":"github-dark"}}
  const axios = require('axios');

  const { data } = await axios.get('https://api.dcycle.io/v2/ingest-jobs', {
    headers: {
      'x-api-key': process.env.DCYCLE_API_KEY,
      'x-organization-id': process.env.DCYCLE_ORG_ID,
    },
    params: { status: 'completed_with_errors', created_from: '2026-10-01T00:00:00Z' },
  });
  data.items.forEach((job) => console.log(job.id, job.status, job.counts));
  ```
</RequestExample>

<ResponseExample>
  ```json 200 theme={"theme":{"light":"github-light","dark":"github-dark"}}
  {
    "items": [
      {
        "id": "2d4b90c1-7c1e-4b6f-9a55-3f2b8e61d0aa",
        "status": "completed_with_errors",
        "entity_type": "wastes",
        "operation": "create",
        "source": "api_bulk",
        "counts": { "submitted": 250, "succeeded": 247, "failed": 3 },
        "chunks_total": 3,
        "chunks_done": 3,
        "created_at": "2026-10-01T10:15:02.184Z",
        "finished_at": "2026-10-01T10:16:41.902Z",
        "links": {
          "self": "/v2/ingest-jobs/2d4b90c1-7c1e-4b6f-9a55-3f2b8e61d0aa",
          "items": "/v2/ingest-jobs/2d4b90c1-7c1e-4b6f-9a55-3f2b8e61d0aa/items"
        }
      }
    ],
    "total": 1,
    "page": 1,
    "size": 10
  }
  ```
</ResponseExample>

## Request

### Headers

<ParamField header="x-api-key" type="string" required>
  Your API key for authentication

  **Example:** `sk_live_1234567890abcdef`
</ParamField>

<ParamField header="x-organization-id" type="string" required>
  Your organization UUID. Jobs of its accepted subsidiaries are included.

  **Example:** `a8315ef3-dd50-43f8-b7ce-d839e68d51fa`
</ParamField>

### Query Parameters

<ParamField query="status" type="string">
  **Available values:** `processing`, `completed`, `completed_with_errors`, `failed`.
</ParamField>

<ParamField query="entity_type" type="string">
  What the job creates, e.g. `wastes`.
</ParamField>

<ParamField query="created_from" type="datetime">
  Jobs created at or after this instant (ISO 8601; without an offset it is read as UTC).
</ParamField>

<ParamField query="created_to" type="datetime">
  Jobs created before this instant.
</ParamField>

<ParamField query="page" type="integer" default="1">Page number.</ParamField>
<ParamField query="size" type="integer" default="10">Page size, 1 to 500.</ParamField>

## Response

A page of jobs (`200 OK`): `items`, `total`, `page`, `size`. Each item is the job resource described in
[Get Ingest Job](/api-reference/ingest-jobs/get). Timestamps are UTC (`…Z`).

## Common Errors

### 401 Unauthorized

Missing or invalid API key.

### 422 REQUEST\_VALIDATION\_FAILED

An unknown `status` or a malformed date. See [Errors](/api-reference/errors).

## Related Endpoints

<CardGroup cols={2}>
  <Card title="Get Ingest Job" icon="magnifying-glass" href="/api-reference/ingest-jobs/get">
    Status and progress of one job
  </Card>

  <Card title="List Ingest Job Items" icon="list" href="/api-reference/ingest-jobs/list-items">
    Per-record outcomes of a job
  </Card>
</CardGroup>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.