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

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

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



## OpenAPI

````yaml /openapi.json post /routines/{routine_id}/run-batch/upload-url
openapi: 3.1.0
info:
  contact:
    name: Clay
    url: https://www.clay.com
  description: Programmatic access to Clay.
  title: Clay Public API
  version: '0'
servers:
  - description: production
    url: https://api.clay.com/public/v0
security:
  - ClayApiKey: []
tags:
  - description: Authenticated user and workspace endpoints.
    name: me
  - description: Search creation and pagination endpoints.
    name: searches
  - description: Structured table query endpoints.
    name: tables
  - description: Routine discovery and execution endpoints.
    name: routines
paths:
  /routines/{routine_id}/run-batch/upload-url:
    post:
      tags:
        - routines
      summary: Issue a presigned PUT URL for uploading a batch input JSONL
      description: >-
        Creates a presigned URL for uploading a JSONL file used by a batch
        routine run.
      operationId: runRoutineBatchUploadUrl
      parameters:
        - in: path
          name: routine_id
          required: true
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BatchUploadUrlResponse'
          description: '200'
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: '401'
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: '403'
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: '404'
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: '429'
components:
  schemas:
    BatchUploadUrlResponse:
      additionalProperties: false
      properties:
        file_id:
          type: string
        upload_url:
          format: uri
          type: string
      required:
        - upload_url
        - file_id
      type: object
    ErrorResponse:
      additionalProperties: false
      properties:
        message:
          type: string
      required:
        - message
      type: object
  securitySchemes:
    ClayApiKey:
      description: >-
        Personal API key tied to your Clay user. Create one under Settings →
        Account in the Clay app.
      in: header
      name: clay-api-key
      type: apiKey

````