---
title: "Retrieve Batch Job errors"
method: GET
path: "/batch-jobs/{batch-job-id}/errors"
tags: ["importers"]
---

# Retrieve Batch Job errors

`GET /batch-jobs/{batch-job-id}/errors`

## Request

- Base URL: `https://api.withpersona.com/api/v1`
- URL: `https://api.withpersona.com/api/v1/batch-jobs/{batch-job-id}/errors`
- Auth: HTTP bearer

Retrieve global and per-row errors for an existing Batch Job.

## Path parameters

- `batch-job-id` string, required

## Query parameters

- `page` BatchJobsBatchJobIdErrorsGetParametersPage
  - `after` integer: Row number cursor. Omit for the first page; pass the `row-number` of the last row returned to fetch the next page. Cannot be combined with `before`.
  - `before` integer: Row number cursor. Pass the `row-number` of the first row of a page to fetch the page immediately preceding it. Cannot be combined with `after`.
  - `size` integer: Number of row errors to return, 1-100 (default 50).

## Headers

- `Key-Inflection` 'camel' | 'kebab' | 'snake'
- `Persona-Version` '2026-09-29' | '2025-12-08' | '2025-10-27' | '2023-01-05' | '2022-09-01' | '2021-08-18' | '2021-07-05' | '2021-02-21' | '2020-05-18': Server API version. More info on versioning can be found [here](https://docs.withpersona.com/versioning).

## Response `200`

This endpoint returns the errors for a Batch Job.

- ImportersRetrieveBatchJobErrorsResponse200
  - `data` BatchJobRowError[], required: A page of row-level failures, ordered by `row-number`.
    - `type` 'batch-job-row-error'
    - `id` string: Composite of the Batch Job's ID and the row's `row-number`, since row numbers are only unique within a run.
    - `attributes` BatchJobRowErrorAttributes
      - `row` object: The original row contents, as submitted.
      - `error-message` string, nullable
      - `row-number` integer: The 1-indexed position of this row within the submitted `rows` array.
  - `meta` BatchJobErrorsMeta, required: Error counts for a Batch Job, independent of which page of row errors was requested.
    - `error-count` integer: Total number of rows that failed to process, across the whole run (not just this page).
    - `global-errors` BatchJobErrorsMetaGlobalErrorsItems[]: Errors that affected the whole run rather than a single row.
      - `error-type` string
      - `message` string, nullable
      - `retryable` boolean
  - `links` BatchJobsBatchJobIdErrorsGetResponsesContentApplicationJsonSchemaLinks, required
    - `prev` string, nullable, required: URL pointing to the previous page of row errors, or null if this is the first page.
    - `next` string, nullable, required: URL pointing to the next page of row errors, or null if there are no more.

## Other responses

- `400`: The request was unacceptable, often due to invalid parameters.
- `401`: An invalid API key was provided.
- `403`: The given API key doesn’t have permissions to perform the request or a quota has been exceeded.
- `404`: The requested resource doesn’t exist.
- `429`: Your organization’s rate limit has been exceeded. We recommend an exponential backoff on requests.

---

[API](https://skmtc.dev/withpersona/apis/withpersona-4.md) - [All operations](https://skmtc.dev/withpersona/apis/withpersona-4/llms.txt) - [OpenAPI document](https://skmtc.dev/withpersona/apis/withpersona-4/revisions/2eddd7dae374?raw)
