---
title: "Create a new batch job"
method: POST
path: "/v2/batch"
tags: ["Batch"]
---

# Create a new batch job

`POST /v2/batch`

Creates a batch processing job from a JSONL file. Requires the Scale plan. The multipart file field must be `input` (or `file` alias), the file must be 5 MB or smaller, and it must contain 20-500 records by default. Each line must contain `request_id`, `endpoint: "/v2/generate"`, and `payload`.

## Response `200`

Validation successful (dry_run=true)

- object
  - `status` 'VALIDATED'

## Other responses

- `201` — Batch created successfully (dry_run=false)
- `400` — Bad request
- `401` — Unauthorized
- `403` — Forbidden
- `429` — Too Many Requests - batch concurrency limit reached (errorCode concurrency_limit_reached).

---

[API](https://skmtc.net/sync/apis/sync-api-v2.md) · [All operations](https://skmtc.net/sync/apis/sync-api-v2/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/sync/sync-api-v2/versions/9b2af21c2e0e/schema)
