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

# List batch calls

> Lists your batches with their `progress`, newest first.



## OpenAPI

````yaml /api-reference/rest/openapi.yaml get /v1/batch-calls
openapi: 3.1.0
info:
  title: Zero Runtime REST API
  version: '1.0'
  description: >-
    Create, configure, version and deploy agents, and wire SIP telephony to
    them.
servers:
  - url: https://api.zeroruntime.ai
security:
  - token: []
tags:
  - name: Agents
  - name: Versions
  - name: Deployment
  - name: Phone numbers
  - name: Routing rules
  - name: Calls
  - name: Batch calls
  - name: Knowledge bases
  - name: Knowledge base folders
paths:
  /v1/batch-calls:
    get:
      tags:
        - Batch calls
      summary: List batch calls
      description: Lists your batches with their `progress`, newest first.
      parameters:
        - name: page
          in: query
          schema:
            type: integer
            default: 1
        - name: perPage
          in: query
          schema:
            type: integer
            default: 10
        - name: status
          in: query
          description: >-
            Only batches in this status. Batches with `parse_failed` are left
            out unless you ask for them.
          schema:
            type: string
            enum:
              - parsing
              - parse_failed
              - scheduled
              - running
              - cancelling
              - cancelled
              - completed
        - name: startDate
          in: query
          description: >-
            Created at or after this ISO 8601 datetime, e.g.
            `2026-10-01T00:00:00Z`.
          schema:
            type: string
            format: date-time
        - name: endDate
          in: query
          description: Created at or before this ISO 8601 datetime.
          schema:
            type: string
            format: date-time
        - name: minValue
          in: query
          description: At least this many numbers (`recordsUploaded`).
          schema:
            type: integer
            minimum: 0
        - name: maxValue
          in: query
          description: At most this many numbers (`recordsUploaded`).
          schema:
            type: integer
            minimum: 0
      responses:
        '200':
          description: A page of batches.
          content:
            application/json:
              schema:
                type: object
                properties:
                  pageInfo:
                    $ref: '#/components/schemas/PageInfo'
                  batchCalls:
                    type: array
                    items:
                      allOf:
                        - $ref: '#/components/schemas/BatchCall'
                        - type: object
                          properties:
                            progress:
                              type: integer
                              minimum: 0
                              maximum: 100
                              description: >-
                                Percent of numbers finished (completed, failed
                                or cancelled).
                              example: 42
              example:
                pageInfo:
                  currentPage: 1
                  perPage: 10
                  lastPage: 1
                  total: 1
                batchCalls:
                  - batchId: btcl_k3x9q2
                    batchName: October renewals
                    description: Renewal reminders for gold and silver plans
                    phoneNumberId: 6f1d2c3a-8b4e-4f7a-9c21-0d5e6b7a8c90
                    phoneNumber: '+14155550100'
                    routingRuleId: rr_2554md
                    status: running
                    timing: scheduled
                    timezone: Asia/Kolkata
                    scheduledDate: '2026-10-14'
                    scheduledTime: '10:00'
                    retry:
                      enabled: true
                      retryOn:
                        - not-answered
                        - failed
                      retryDelays:
                        - 600
                        - 3600
                      maxAttempts: 2
                    recordsUploaded: 250
                    parseError: null
                    file:
                      filename: customers.csv
                      extension: .csv
                      key: batchcall/btcl_k3x9q2/1760261400000-customers.csv
                    timestamp: 1760416200
                    createdAt: '2026-10-12T09:30:00.000Z'
                    updatedAt: '2026-10-14T04:30:02.000Z'
                    progress: 42
        '400':
          description: |
            A filter is malformed. One of:

            - `startDate must be a valid ISO 8601 datetime`
            - `endDate must be a valid ISO 8601 datetime`
            - `startDate must be before endDate`
            - `minValue must be a non-negative number`
            - `maxValue must be a non-negative number`
            - `minValue must be less than or equal to maxValue`
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Message'
              example:
                message: startDate must be before endDate
        '401':
          $ref: '#/components/responses/Unauthorized'
components:
  schemas:
    PageInfo:
      type: object
      properties:
        currentPage:
          type: integer
          example: 1
        perPage:
          type: integer
          example: 20
        lastPage:
          type: integer
          example: 1
        total:
          type: integer
          example: 2
    BatchCall:
      type: object
      properties:
        batchId:
          type: string
          example: btcl_k3x9q2
        batchName:
          type: string
          description: The `name` you sent.
          example: October renewals
        description:
          type: string
        phoneNumberId:
          type: string
          description: The number calls are made from.
        phoneNumber:
          type: string
          description: That number in E.164.
          example: '+14155550100'
        routingRuleId:
          type: string
          description: The outbound routing rule in use.
          example: rr_2554md
        status:
          type: string
          enum:
            - parsing
            - parse_failed
            - scheduled
            - running
            - cancelling
            - cancelled
            - completed
          description: >
            Without a `schedule`, a batch goes straight from `parsing` to
            `running`.


            - `parsing`: the file is being read. No calls yet.

            - `parse_failed`: the file couldn't be used, and `parseError` says
            why. Fix the file and create a new batch.

            - `scheduled`: parsed, waiting for its start time.

            - `running`: calls are being placed.

            - `cancelling`: a cancel is in progress.

            - `cancelled`: stopped before every number was called.

            - `completed`: every number has been called, retries included.
        timing:
          type: string
          enum:
            - immediate
            - scheduled
          description: '`scheduled` when you sent a `schedule`, otherwise `immediate`.'
        timezone:
          type: string
          example: Asia/Kolkata
        scheduledDate:
          type: string
          description: '`schedule.date`.'
          example: '2026-10-14'
        scheduledTime:
          type: string
          description: '`schedule.time`.'
          example: '10:00'
        retry:
          type: object
          properties:
            enabled:
              type: boolean
              description: '`true` when you sent `retry`.'
            retryOn:
              type: array
              items:
                type: string
                enum:
                  - failed
                  - not-answered
                  - rejected
                  - missed
                  - abandoned
            retryDelays:
              type: array
              items:
                type: integer
                minimum: 0
              description: Seconds before each retry.
            maxAttempts:
              type: integer
              description: Number of retries
              the length of `retryDelays`.: null
        recordsUploaded:
          type: integer
          description: Phone numbers read from the file. `0` until parsing finishes.
        parseError:
          type:
            - string
            - 'null'
          description: Why parsing failed. Set when `status` is `parse_failed`.
        file:
          type: object
          description: The uploaded file.
          properties:
            filename:
              type: string
              example: customers.csv
            extension:
              type: string
              example: .csv
            key:
              type: string
        timestamp:
          type: integer
          description: Start time as a Unix timestamp in seconds. For an immediate batch
          its creation time.: null
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
    Message:
      type: object
      properties:
        message:
          type: string
    Error:
      type: object
      properties:
        error:
          type: string
  responses:
    Unauthorized:
      description: Missing or invalid `Authorization` header.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  securitySchemes:
    token:
      type: apiKey
      in: header
      name: Authorization
      description: Your API token, sent raw (no `Bearer` prefix).
      x-default: <auth-token>

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.