---
title: "Issue a presigned PUT URL for uploading a batch input JSONL"
method: POST
path: "/routines/{routine_id}/run-batch/upload-url"
tags: ["routines"]
---

# Issue a presigned PUT URL for uploading a batch input JSONL

`POST /routines/{routine_id}/run-batch/upload-url`

Creates a presigned URL for uploading a JSONL file used by a batch routine run.

## Path parameters

- `routine_id` string, required

## Response `200`

200

- BatchUploadUrlResponse
  - `file_id` string, required
  - `upload_url` string, uri, required

## Other responses

- `400` — 400
- `401` — 401
- `403` — 403
- `404` — 404
- `429` — 429

---

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