---
title: "Start an async routine run-batch over an uploaded JSONL file"
method: POST
path: "/routines/{routine_id}/run-batch/start"
tags: ["routines"]
---

# Start an async routine run-batch over an uploaded JSONL file

`POST /routines/{routine_id}/run-batch/start`

## Request

- Base URL: `https://api.clay.com/public/v0`
- URL: `https://api.clay.com/public/v0/routines/{routine_id}/run-batch/start`
- Auth: API key in header `clay-api-key`

Starts an asynchronous batch routine run over a previously uploaded JSONL file.

## Path parameters

- `routine_id` string, required

## Request body

- StartBatchRequest
  - `file_id` string, required
  - `webhook_id` string: ID of a registered Clay webhook to notify when the run finishes.

## Response `202`

202

- StartBatchResponse
  - `routine_run_id` string, required
  - `status` 'in_progress', required

## Other responses

- `400`: 400
- `401`: 401
- `403`: 403
- `404`: 404
- `429`: 429

## Changes

- **2026-07-31** `881a05e984ea`: 1 breaking, 1 warning
  - for the `path` request parameter `routine_id`, the minLength was increased from `0` to `1`
  - for the `path` request parameter `routine_id`, the maxLength was set to `64`

[Operation history](https://skmtc.dev/clay/apis/clay-public-api/changes/routines/:routine_id/run-batch/start/post.md)

---

[API](https://skmtc.dev/clay/apis/clay-public-api.md) - [All operations](https://skmtc.dev/clay/apis/clay-public-api/llms.txt) - [OpenAPI document](https://skmtc.dev/clay/apis/clay-public-api/revisions/583f58ced7f1?raw)
