## Get Batch

`client.Batches.Get(ctx, batchID, query) (*BatchGetResponse, error)`

**get** `/api/v2/batches/{batch_id}`

Get a batch by ID.

### Parameters

- `batchID string`

- `query BatchGetParams`

  - `Expand param.Field[[]string]`

    Fields to expand. Supported value: results.

  - `OrganizationID param.Field[string]`

  - `ProjectID param.Field[string]`

### Returns

- `type BatchGetResponse 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 BatchGetResponseConfig`

    Batch configuration snapshot.

    - `Job BatchGetResponseConfigJob`

      Job to create for each file in the source directory.

      - `ConfigurationID string`

        Saved product configuration ID matching the job type.

      - `Type BatchGetResponseConfigJobType`

        Product job type to run for each source directory file.

        - `const BatchGetResponseConfigJobTypeParseV2 BatchGetResponseConfigJobType = "parse_v2"`

        - `const BatchGetResponseConfigJobTypeExtractV2 BatchGetResponseConfigJobType = "extract_v2"`

  - `ProjectID string`

    Project this batch belongs to.

  - `SourceDirectoryID string`

    Directory being processed.

  - `Status BatchGetResponseStatus`

    Current batch status.

    - `const BatchGetResponseStatusPending BatchGetResponseStatus = "PENDING"`

    - `const BatchGetResponseStatusThrottled BatchGetResponseStatus = "THROTTLED"`

    - `const BatchGetResponseStatusRunning BatchGetResponseStatus = "RUNNING"`

    - `const BatchGetResponseStatusCompleted BatchGetResponseStatus = "COMPLETED"`

    - `const BatchGetResponseStatusFailed BatchGetResponseStatus = "FAILED"`

    - `const BatchGetResponseStatusCancelled BatchGetResponseStatus = "CANCELLED"`

  - `CreatedAt Time`

    Creation datetime

  - `Results []BatchGetResponseResult`

    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 string`

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

    - `JobReference BatchGetResponseResultJobReference`

      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 BatchGetResponseResultJobReferenceType`

        Type of job produced for the file.

        - `const BatchGetResponseResultJobReferenceTypeParseV2 BatchGetResponseResultJobReferenceType = "parse_v2"`

        - `const BatchGetResponseResultJobReferenceTypeExtractV2 BatchGetResponseResultJobReferenceType = "extract_v2"`

  - `UpdatedAt Time`

    Update datetime

### Example

```go
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.Get(
    context.TODO(),
    "batch_id",
    llamacloudprod.BatchGetParams{

    },
  )
  if err != nil {
    panic(err.Error())
  }
  fmt.Printf("%+v\n", batch.ID)
}
```

#### Response

```json
{
  "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"
}
```
