---
title: "List jobs, V1 and V2 together"
method: GET
path: "/v2/einvoices/jobs"
tags: ["jobs"]
---

# List jobs, V1 and V2 together

`GET /v2/einvoices/jobs`

## Request

- Base URL: `https://api.ironfang.com/finance`
- URL: `https://api.ironfang.com/finance/v2/einvoices/jobs`
- Auth: HTTP bearer

A page of the organisation's jobs, newest first, made through V1
or V2 (`api_version`). Pass `next_cursor` as `cursor` for the next
page. V1's own list shows V1 jobs only.

## Query parameters

- `cursor` string
- `limit` integer
- `status` 'queued' | 'running' | 'completed' | 'failed' | 'cancelled'
- `api_version` 'v1' | 'v2': The API a result was made through.

## Response `200`

The page. Cache-Control is no-store.

- JobList
  - `jobs` Job[], required
    - `api_version` 'v1' | 'v2', required: The API a result was made through.
    - `attempts` integer, required
    - `batch_id` string
    - `created_at` string, date-time, required
    - `engine_image_digest` string, required
    - `expires_at` string, date-time, required: When an unfinished job is failed as job_expired and its document erased.
    - `failure_code` 'validation_timeout' | 'validator_unavailable' | 'internal_error' | 'generation_failed' | 'job_cancelled' | 'job_expired'
    - `finished_at` string, date-time
    - `id` string, required
    - `operation` 'validate' | 'generate', required: V2 jobs validate; a V1 job may generate.
    - `operation_id` string, required
    - `outcome` 'valid' | 'invalid' | 'indeterminate'
    - `position` integer, required: The job's place in its batch; 0 outside one.
    - `result_available` boolean, required
    - `result_url` string
    - `ruleset_id` string, required
    - `schema` 'ironfang/finance/einvoice/job/v2', required
    - `status` 'queued' | 'running' | 'completed' | 'failed' | 'cancelled', required
    - `usage_charged` boolean, required
  - `next_cursor` string
  - `schema` 'ironfang/finance/einvoice/job-list/v2', required

## Other responses

- `400`: The request is malformed.
- `401`: The credential is missing or not accepted.
- `403`: The key lacks the scope this operation needs.
- `429`: Too many requests.
- `500`: Ironfang Finance failed. Not a verdict on anything.

---

[API](https://skmtc.dev/ironfang/apis/ironfang-finance-e-invoicing-api-2.md) · [All operations](https://skmtc.dev/ironfang/apis/ironfang-finance-e-invoicing-api-2/llms.txt) · [OpenAPI document](https://skmtc.dev/ironfang/apis/ironfang-finance-e-invoicing-api-2/revisions/8140667e556b?raw)
