Skip to content

Create Batch

client.Batches.New(ctx, params) (*BatchNewResponse, error)
POST/api/v2/batches

Create a batch over a source directory and start processing asynchronously.

ParametersExpand Collapse
params BatchNewParams
Config param.Field[BatchNewParamsConfig]

Body param: Batch configuration snapshot to apply to this source directory.

Job BatchNewParamsConfigJob

Job to create for each file in the source directory.

ConfigurationID string

Saved product configuration ID matching the job type.

Type BatchNewParamsConfigJobType

Product job type to run for each source directory file.

One of the following:
const BatchNewParamsConfigJobTypeParseV2 BatchNewParamsConfigJobType = "parse_v2"
const BatchNewParamsConfigJobTypeExtractV2 BatchNewParamsConfigJobType = "extract_v2"
SourceDirectoryID param.Field[string]

Body param: Directory whose files should be processed.

OrganizationID param.Field[string]optional

Query param

formatuuid
ProjectID param.Field[string]optional

Query param

formatuuid
ReturnsExpand Collapse
type BatchNewResponse struct{…}

A top-level batch.

Example: { “id”: “bat-aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee”, “project_id”: “prj-aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee”, “source_directory_id”: “dir-aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee”, “config”: { “job”: { “type”: “parse_v2”, “configuration_id”: “cfg-aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee” } }, “status”: “COMPLETED”, “results”: [ { “source_directory_file_id”: “dfl-aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee”, “job_reference”: { “type”: “parse_v2”, “id”: “pjb-aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee” }, “error_message”: null } ] }

Batch-level FAILED means the orchestration failed and cannot provide a reliable per-file result set. results is only populated when explicitly requested with expand=results and may be null while a batch is still running or before result mappings are available.

ID string

Unique identifier

Config BatchNewResponseConfig

Batch configuration snapshot.

Job BatchNewResponseConfigJob

Job to create for each file in the source directory.

ConfigurationID string

Saved product configuration ID matching the job type.

Type BatchNewResponseConfigJobType

Product job type to run for each source directory file.

One of the following:
const BatchNewResponseConfigJobTypeParseV2 BatchNewResponseConfigJobType = "parse_v2"
const BatchNewResponseConfigJobTypeExtractV2 BatchNewResponseConfigJobType = "extract_v2"
ProjectID string

Project this batch belongs to.

SourceDirectoryID string

Directory being processed.

Status BatchNewResponseStatus

Current batch status.

One of the following:
const BatchNewResponseStatusPending BatchNewResponseStatus = "PENDING"
const BatchNewResponseStatusThrottled BatchNewResponseStatus = "THROTTLED"
const BatchNewResponseStatusRunning BatchNewResponseStatus = "RUNNING"
const BatchNewResponseStatusCompleted BatchNewResponseStatus = "COMPLETED"
const BatchNewResponseStatusFailed BatchNewResponseStatus = "FAILED"
const BatchNewResponseStatusCancelled BatchNewResponseStatus = "CANCELLED"
CreatedAt Timeoptional

Creation datetime

formatdate-time
Results []BatchNewResponseResultoptional

Expanded per-file result mappings. Null unless requested with expand=results, or until result mappings are available.

SourceDirectoryFileID string

Source directory file processed by this batch.

ErrorMessage stringoptional

Batch-level mapping error if the system could not create or associate a job for this source file.

JobReference BatchNewResponseResultJobReferenceoptional

Reference to a job produced by a batch.

Example: { “type”: “parse_v2”, “id”: “pjb-aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee” }

ID string

Job ID, such as a parse job ID.

Type BatchNewResponseResultJobReferenceType

Type of job produced for the file.

One of the following:
const BatchNewResponseResultJobReferenceTypeParseV2 BatchNewResponseResultJobReferenceType = "parse_v2"
const BatchNewResponseResultJobReferenceTypeExtractV2 BatchNewResponseResultJobReferenceType = "extract_v2"
UpdatedAt Timeoptional

Update datetime

formatdate-time

Create Batch

package main

import (
  "context"
  "fmt"

  "github.com/stainless-sdks/llamacloud-prod-go"
  "github.com/stainless-sdks/llamacloud-prod-go/option"
)

func main() {
  client := llamacloudprod.NewClient(
    option.WithAPIKey("My API Key"),
  )
  batch, err := client.Batches.New(context.TODO(), llamacloudprod.BatchNewParams{
    Config: llamacloudprod.BatchNewParamsConfig{
      Job: llamacloudprod.BatchNewParamsConfigJob{
        ConfigurationID: "cfg-aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
        Type: llamacloudprod.BatchNewParamsConfigJobTypeParseV2,
      },
    },
    SourceDirectoryID: "dir-aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
  })
  if err != nil {
    panic(err.Error())
  }
  fmt.Printf("%+v\n", batch.ID)
}
{
  "id": "id",
  "config": {
    "job": {
      "configuration_id": "cfg-aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
      "type": "parse_v2"
    }
  },
  "project_id": "project_id",
  "source_directory_id": "source_directory_id",
  "status": "PENDING",
  "created_at": "2019-12-27T18:11:19.117Z",
  "results": [
    {
      "source_directory_file_id": "dfl-aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
      "error_message": "error_message",
      "job_reference": {
        "id": "pjb-aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
        "type": "parse_v2"
      }
    }
  ],
  "updated_at": "2019-12-27T18:11:19.117Z"
}
Returns Examples
{
  "id": "id",
  "config": {
    "job": {
      "configuration_id": "cfg-aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
      "type": "parse_v2"
    }
  },
  "project_id": "project_id",
  "source_directory_id": "source_directory_id",
  "status": "PENDING",
  "created_at": "2019-12-27T18:11:19.117Z",
  "results": [
    {
      "source_directory_file_id": "dfl-aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
      "error_message": "error_message",
      "job_reference": {
        "id": "pjb-aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
        "type": "parse_v2"
      }
    }
  ],
  "updated_at": "2019-12-27T18:11:19.117Z"
}