> ## 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.

# Execute a routine against 1-100 items

> Starts an asynchronous routine run for up to 100 input items.



## OpenAPI

````yaml /openapi.json post /routines/{routine_id}/run
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:
    post:
      tags:
        - routines
      summary: Execute a routine against 1-100 items
      description: Starts an asynchronous routine run for up to 100 input items.
      operationId: runRoutine
      parameters:
        - in: path
          name: routine_id
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RunRoutineRequest'
        description: Body
      responses:
        '202':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RunRoutineResponse'
          description: '202'
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: '400'
        '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:
    RunRoutineRequest:
      additionalProperties: false
      properties:
        items:
          items:
            additionalProperties: false
            properties:
              id:
                maxLength: 64
                minLength: 1
                type: string
              inputs:
                additionalProperties: {}
                type: object
            required:
              - id
              - inputs
            type: object
          maxItems: 100
          minItems: 1
          type: array
        webhook_id:
          description: ID of a registered Clay webhook to notify when the run finishes.
          maxLength: 64
          minLength: 1
          type: string
      required:
        - items
      type: object
    RunRoutineResponse:
      additionalProperties: false
      properties:
        routine_run_id:
          type: string
        status:
          const: in_progress
          type: string
      required:
        - routine_run_id
        - status
      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

````