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

# Batch Inference

> Process portfolios, refresh segments, or generate large embedding sets asynchronously.

Batch inference complements the low-latency API when you need to score or enrich large portfolios.

## When to choose batch

| Use case                    | Recommended path                   |
| --------------------------- | ---------------------------------- |
| Nightly portfolio rescoring | Batch                              |
| Real-time onboarding        | REST API                           |
| Marketing list enrichment   | Batch                              |
| High-touch underwriting     | REST API with on-demand enrichment |

## Workflow

<Steps>
  <Step title="Upload data">
    Upload a file with model input data via the Batch API.
  </Step>

  <Step title="Submit job">
    Request a batch prediction via the Batch API specifying the previously uploaded file and an available model.
    Avra responds with a `batch_id` so you can track the job.
  </Step>

  <Step title="Processing">
    Jobs run in prioritized queues. Expect minutes for thousands of records and
    hours for millions.
  </Step>

  <Step title="Waiting">
    Poll `GET /v1/api/batches/{id}` checking job status or subscribe to the `batch-lifecycle` webhook to be notified on status transitions.
  </Step>

  <Step title="Download results">
    Request a download link at GET `/v1/api/batches/{id}/result` to obtain a single-use download URL to your result file.
  </Step>
</Steps>

<Callout type="info" title="API details">
  Refer to the [API Reference](/api-reference/overview) for endpoint schemas,
  payload examples, and error handling best practices when submitting batches.

  Workflow steps may vary when using [SFTP Batch Inference](/data-operations/sftp-batch-inference). Please refer to the documentation for more details.
</Callout>

## Limits

* Up to 10M entities per batch by default — reach out for higher quotas.
* Five concurrent batches per workspace.
* CSV uploads capped at 500 MB.

## Integrations

* Use [SFTP Batch Inference](/data-operations/sftp-batch-inference) for scheduled large files.
* Configure webhooks via the dashboard or per-request `webhook_url`. See [Webhooks](/data-operations/webhook-notifications).

## Monitoring

Track batch throughput and failures in the dashboard under **Data Operations → Batches**.
