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

# Create a Batch Job

> Process large volumes of requests asynchronously with [50% lower costs](/getting-started/bigdata_api_pricing).

Batch Search provides a simple set of endpoints to initiate batch processing jobs, monitor progress as requests are executed, and collect results once processing completes.

Each batch begins with a `.jsonl` file where every line represents an individual Search request.

Once your input file is ready, call the following endpoint to obtain a `batch_id` and `presigned_url`.

Copy the `presigned_url` from the response. You will need this URL to [upload your input file](/api-reference/batch-search/upload-your-input-file).

For a step-by-step walkthrough, see the [Batch Search how-to guide](/how-to-guides/search/batch_search).



## OpenAPI

````yaml /api-rest/openapi/openapi_search_service.json post /v1/search/batches
openapi: 3.0.3
info:
  title: Bigdata Search API
  version: 1.0.0
  description: >-
    Easily find the most relevant information from trusted sources and your own
    data. Use it to power agents that give accurate, real-time answers.
servers:
  - url: https://api.bigdata.com/
security:
  - ApiKeyAuth: []
paths:
  /v1/search/batches:
    post:
      tags:
        - Batch Search
      summary: Create a Batch Job
      description: >-
        Process large volumes of requests asynchronously with [50% lower
        costs](/getting-started/bigdata_api_pricing).


        Batch Search provides a simple set of endpoints to initiate batch
        processing jobs, monitor progress as requests are executed, and collect
        results once processing completes.


        Each batch begins with a `.jsonl` file where every line represents an
        individual Search request.


        Once your input file is ready, call the following endpoint to obtain a
        `batch_id` and `presigned_url`.


        Copy the `presigned_url` from the response. You will need this URL to
        [upload your input
        file](/api-reference/batch-search/upload-your-input-file).


        For a step-by-step walkthrough, see the [Batch Search how-to
        guide](/how-to-guides/search/batch_search).
      operationId: create_batch_job_v1_search_batches_post
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BatchJobUploadResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
components:
  schemas:
    BatchJobUploadResponse:
      properties:
        batch_id:
          type: string
          title: Batchid
          description: >-
            A unique identifier for your batch job. Use this ID to [check the
            status of your
            batch](/api-reference/batch-search/get-batch-job-info).
        presigned_url:
          type: string
          maxLength: 2083
          minLength: 1
          format: uri
          title: Presignedurl
          description: >-
            A temporary, secure URL for uploading your input file. Upload your
            .jsonl file to this URL [using a PUT
            request](/api-reference/batch-search/upload-your-input-file). Once
            uploaded, your batch job will begin processing automatically.
      type: object
      required:
        - batch_id
        - presigned_url
      title: BatchJobUploadResponse
      example:
        batch_id: 2211478e-45a8-4d2e-ac51-77e25f6f7c79
        presigned_url: https://s3.amazonaws.com/bucket/file?X-Amz-Algorithm=...
    ErrorResponse:
      properties:
        statusCode:
          type: integer
          title: Statuscode
        message:
          type: string
          title: Message
      type: object
      required:
        - statusCode
        - message
      title: ErrorResponse
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-API-KEY

````