# Split

## Create Split Job

`client.Split.New(ctx, params) (*SplitNewResponse, error)`

**post** `/api/v1/split/jobs`

Create a document split job.

### Parameters

- `params SplitNewParams`

  - `FileInput param.Field[string]`

    Body param: File ID or parse job ID

  - `OrganizationID param.Field[string]`

    Query param

  - `ProjectID param.Field[string]`

    Query param

  - `Configuration param.Field[SplitNewParamsConfiguration]`

    Body param: Split configuration with categories and splitting strategy.

    - `Categories []SplitCategory`

      Categories to split documents into.

      - `Name string`

        Name of the category.

      - `Description string`

        Optional description of what content belongs in this category.

    - `SplittingStrategy SplitNewParamsConfigurationSplittingStrategy`

      Strategy for splitting documents.

      - `AllowUncategorized string`

        Controls handling of pages that don't match any category. 'include': pages can be grouped as 'uncategorized' and included in results. 'forbid': all pages must be assigned to a defined category. 'omit': pages can be classified as 'uncategorized' but are excluded from results.

        - `const SplitNewParamsConfigurationSplittingStrategyAllowUncategorizedForbid SplitNewParamsConfigurationSplittingStrategyAllowUncategorized = "forbid"`

        - `const SplitNewParamsConfigurationSplittingStrategyAllowUncategorizedInclude SplitNewParamsConfigurationSplittingStrategyAllowUncategorized = "include"`

        - `const SplitNewParamsConfigurationSplittingStrategyAllowUncategorizedOmit SplitNewParamsConfigurationSplittingStrategyAllowUncategorized = "omit"`

      - `CustomInstructions string`

        Free-form guidance for where segment boundaries are placed.

      - `MinPagesPerSplit int64`

        Minimum pages per segment. Shorter segments are merged into an adjacent segment; 1 disables merging.

  - `ConfigurationID param.Field[string]`

    Body param: Saved configuration ID

  - `TransactionID param.Field[string]`

    Body param: Idempotency key scoped to the project. Reusing a key returns the original job; the new request body is ignored.

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

    Body param: IDs of saved webhook configurations to notify for this job.

  - `WebhookConfigurations param.Field[[]SplitNewParamsWebhookConfiguration]`

    Body param: Outbound webhook endpoints to notify on job status changes

    - `WebhookEvents []string`

      Events to subscribe to (e.g. 'parse.success', 'extract.error'). If null, all events are delivered.

      - `const SplitNewParamsWebhookConfigurationWebhookEventBatchCancelled SplitNewParamsWebhookConfigurationWebhookEvent = "batch.cancelled"`

      - `const SplitNewParamsWebhookConfigurationWebhookEventBatchError SplitNewParamsWebhookConfigurationWebhookEvent = "batch.error"`

      - `const SplitNewParamsWebhookConfigurationWebhookEventBatchPending SplitNewParamsWebhookConfigurationWebhookEvent = "batch.pending"`

      - `const SplitNewParamsWebhookConfigurationWebhookEventBatchRunning SplitNewParamsWebhookConfigurationWebhookEvent = "batch.running"`

      - `const SplitNewParamsWebhookConfigurationWebhookEventBatchSuccess SplitNewParamsWebhookConfigurationWebhookEvent = "batch.success"`

      - `const SplitNewParamsWebhookConfigurationWebhookEventClassifyCancelled SplitNewParamsWebhookConfigurationWebhookEvent = "classify.cancelled"`

      - `const SplitNewParamsWebhookConfigurationWebhookEventClassifyError SplitNewParamsWebhookConfigurationWebhookEvent = "classify.error"`

      - `const SplitNewParamsWebhookConfigurationWebhookEventClassifyPartialSuccess SplitNewParamsWebhookConfigurationWebhookEvent = "classify.partial_success"`

      - `const SplitNewParamsWebhookConfigurationWebhookEventClassifyPending SplitNewParamsWebhookConfigurationWebhookEvent = "classify.pending"`

      - `const SplitNewParamsWebhookConfigurationWebhookEventClassifyRunning SplitNewParamsWebhookConfigurationWebhookEvent = "classify.running"`

      - `const SplitNewParamsWebhookConfigurationWebhookEventClassifySuccess SplitNewParamsWebhookConfigurationWebhookEvent = "classify.success"`

      - `const SplitNewParamsWebhookConfigurationWebhookEventExtractCancelled SplitNewParamsWebhookConfigurationWebhookEvent = "extract.cancelled"`

      - `const SplitNewParamsWebhookConfigurationWebhookEventExtractError SplitNewParamsWebhookConfigurationWebhookEvent = "extract.error"`

      - `const SplitNewParamsWebhookConfigurationWebhookEventExtractPartialSuccess SplitNewParamsWebhookConfigurationWebhookEvent = "extract.partial_success"`

      - `const SplitNewParamsWebhookConfigurationWebhookEventExtractPending SplitNewParamsWebhookConfigurationWebhookEvent = "extract.pending"`

      - `const SplitNewParamsWebhookConfigurationWebhookEventExtractSuccess SplitNewParamsWebhookConfigurationWebhookEvent = "extract.success"`

      - `const SplitNewParamsWebhookConfigurationWebhookEventParseCancelled SplitNewParamsWebhookConfigurationWebhookEvent = "parse.cancelled"`

      - `const SplitNewParamsWebhookConfigurationWebhookEventParseError SplitNewParamsWebhookConfigurationWebhookEvent = "parse.error"`

      - `const SplitNewParamsWebhookConfigurationWebhookEventParsePartialSuccess SplitNewParamsWebhookConfigurationWebhookEvent = "parse.partial_success"`

      - `const SplitNewParamsWebhookConfigurationWebhookEventParsePending SplitNewParamsWebhookConfigurationWebhookEvent = "parse.pending"`

      - `const SplitNewParamsWebhookConfigurationWebhookEventParseRunning SplitNewParamsWebhookConfigurationWebhookEvent = "parse.running"`

      - `const SplitNewParamsWebhookConfigurationWebhookEventParseSuccess SplitNewParamsWebhookConfigurationWebhookEvent = "parse.success"`

      - `const SplitNewParamsWebhookConfigurationWebhookEventSheetsCancelled SplitNewParamsWebhookConfigurationWebhookEvent = "sheets.cancelled"`

      - `const SplitNewParamsWebhookConfigurationWebhookEventSheetsError SplitNewParamsWebhookConfigurationWebhookEvent = "sheets.error"`

      - `const SplitNewParamsWebhookConfigurationWebhookEventSheetsPartialSuccess SplitNewParamsWebhookConfigurationWebhookEvent = "sheets.partial_success"`

      - `const SplitNewParamsWebhookConfigurationWebhookEventSheetsPending SplitNewParamsWebhookConfigurationWebhookEvent = "sheets.pending"`

      - `const SplitNewParamsWebhookConfigurationWebhookEventSheetsSuccess SplitNewParamsWebhookConfigurationWebhookEvent = "sheets.success"`

      - `const SplitNewParamsWebhookConfigurationWebhookEventSplitCancelled SplitNewParamsWebhookConfigurationWebhookEvent = "split.cancelled"`

      - `const SplitNewParamsWebhookConfigurationWebhookEventSplitError SplitNewParamsWebhookConfigurationWebhookEvent = "split.error"`

      - `const SplitNewParamsWebhookConfigurationWebhookEventSplitPending SplitNewParamsWebhookConfigurationWebhookEvent = "split.pending"`

      - `const SplitNewParamsWebhookConfigurationWebhookEventSplitProcessing SplitNewParamsWebhookConfigurationWebhookEvent = "split.processing"`

      - `const SplitNewParamsWebhookConfigurationWebhookEventSplitSuccess SplitNewParamsWebhookConfigurationWebhookEvent = "split.success"`

      - `const SplitNewParamsWebhookConfigurationWebhookEventUnmappedEvent SplitNewParamsWebhookConfigurationWebhookEvent = "unmapped_event"`

    - `WebhookHeaders map[string, string]`

      Custom HTTP headers sent with each webhook request (e.g. auth tokens)

    - `WebhookOutputFormat string`

      Response format sent to the webhook: 'string' (default) or 'json'

    - `WebhookSigningSecret string`

      Shared signing secret used to sign webhook deliveries. When set, each request includes an HMAC-SHA256 signature of the request body in the 'LC-Signature' header (value 'sha256=<hex>'). Recompute the HMAC over the raw request body with this secret to verify the delivery is authentic.

    - `WebhookURL string`

      URL to receive webhook POST notifications

### Returns

- `type SplitNewResponse struct{…}`

  A split job.

  - `ID string`

    Unique identifier for the split job.

  - `Categories []SplitCategory`

    Categories used for splitting.

    - `Name string`

      Name of the category.

    - `Description string`

      Optional description of what content belongs in this category.

  - `DocumentInputType SplitNewResponseDocumentInputType`

    Whether the input was a file or parse job

    - `const SplitNewResponseDocumentInputTypeFileID SplitNewResponseDocumentInputType = "file_id"`

    - `const SplitNewResponseDocumentInputTypeParseJobID SplitNewResponseDocumentInputType = "parse_job_id"`

    - `const SplitNewResponseDocumentInputTypeURL SplitNewResponseDocumentInputType = "url"`

  - `FileInput string`

    File ID or parse job ID

  - `ProjectID string`

    Project this job belongs to.

  - `Status string`

    Current job status. Valid values are: pending, processing, completed, failed, cancelled.

  - `UserID string`

    User who created this job.

  - `ConfigurationID string`

    Split configuration ID used for this job.

  - `CreatedAt Time`

    Creation datetime

  - `ErrorMessage string`

    Error message if the job failed.

  - `Result SplitResultResponse`

    Result of a completed split job.

    - `Segments []SplitSegmentResponse`

      List of document segments.

      - `Category string`

        Category name this split belongs to.

      - `ConfidenceCategory string`

        Categorical confidence level. Valid values are: high, medium, low.

      - `Pages []int64`

        1-indexed page numbers in this split.

  - `SplittingStrategy SplitNewResponseSplittingStrategy`

    Strategy used for splitting.

    - `AllowUncategorized string`

      Controls handling of pages that don't match any category. 'include': pages can be grouped as 'uncategorized' and included in results. 'forbid': all pages must be assigned to a defined category. 'omit': pages can be classified as 'uncategorized' but are excluded from results.

      - `const SplitNewResponseSplittingStrategyAllowUncategorizedForbid SplitNewResponseSplittingStrategyAllowUncategorized = "forbid"`

      - `const SplitNewResponseSplittingStrategyAllowUncategorizedInclude SplitNewResponseSplittingStrategyAllowUncategorized = "include"`

      - `const SplitNewResponseSplittingStrategyAllowUncategorizedOmit SplitNewResponseSplittingStrategyAllowUncategorized = "omit"`

    - `CustomInstructions string`

      Free-form guidance for where segment boundaries are placed.

    - `MinPagesPerSplit int64`

      Minimum pages per segment. Shorter segments are merged into an adjacent segment; 1 disables merging.

  - `TransactionID string`

    Idempotency key scoped to the project, if one was provided.

  - `UpdatedAt Time`

    Update datetime

### Example

```go
package main

import (
  "context"
  "fmt"

  "github.com/run-llama/llama-parse-go"
  "github.com/run-llama/llama-parse-go/option"
)

func main() {
  client := llamacloud.NewClient(
    option.WithAPIKey("My API Key"),
  )
  split, err := client.Split.New(context.TODO(), llamacloud.SplitNewParams{
    FileInput: "dfl-aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
  })
  if err != nil {
    panic(err.Error())
  }
  fmt.Printf("%+v\n", split.ID)
}
```

#### Response

```json
{
  "id": "id",
  "categories": [
    {
      "name": "x",
      "description": "x"
    }
  ],
  "document_input_type": "file_id",
  "file_input": "dfl-aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
  "project_id": "project_id",
  "status": "status",
  "user_id": "user_id",
  "configuration_id": "configuration_id",
  "created_at": "2019-12-27T18:11:19.117Z",
  "error_message": "error_message",
  "result": {
    "segments": [
      {
        "category": "category",
        "confidence_category": "confidence_category",
        "pages": [
          0
        ]
      }
    ]
  },
  "splitting_strategy": {
    "allow_uncategorized": "forbid",
    "custom_instructions": "Start a new segment at every signature page.",
    "min_pages_per_split": 1
  },
  "transaction_id": "transaction_id",
  "updated_at": "2019-12-27T18:11:19.117Z"
}
```

## List Split Jobs

`client.Split.List(ctx, query) (*PaginatedCursor[SplitListResponse], error)`

**get** `/api/v1/split/jobs`

List document split jobs.

### Parameters

- `query SplitListParams`

  - `CreatedAtOnOrAfter param.Field[Time]`

    Include items created at or after this timestamp (inclusive)

  - `CreatedAtOnOrBefore param.Field[Time]`

    Include items created at or before this timestamp (inclusive)

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

    Filter by specific job IDs

  - `OrganizationID param.Field[string]`

  - `PageSize param.Field[int64]`

  - `PageToken param.Field[string]`

  - `ProjectID param.Field[string]`

  - `Status param.Field[SplitListParamsStatus]`

    Filter by job status (pending, processing, completed, failed, cancelled)

    - `const SplitListParamsStatusCancelled SplitListParamsStatus = "cancelled"`

    - `const SplitListParamsStatusCompleted SplitListParamsStatus = "completed"`

    - `const SplitListParamsStatusFailed SplitListParamsStatus = "failed"`

    - `const SplitListParamsStatusPending SplitListParamsStatus = "pending"`

    - `const SplitListParamsStatusProcessing SplitListParamsStatus = "processing"`

### Returns

- `type SplitListResponse struct{…}`

  A split job.

  - `ID string`

    Unique identifier for the split job.

  - `Categories []SplitCategory`

    Categories used for splitting.

    - `Name string`

      Name of the category.

    - `Description string`

      Optional description of what content belongs in this category.

  - `DocumentInputType SplitListResponseDocumentInputType`

    Whether the input was a file or parse job

    - `const SplitListResponseDocumentInputTypeFileID SplitListResponseDocumentInputType = "file_id"`

    - `const SplitListResponseDocumentInputTypeParseJobID SplitListResponseDocumentInputType = "parse_job_id"`

    - `const SplitListResponseDocumentInputTypeURL SplitListResponseDocumentInputType = "url"`

  - `FileInput string`

    File ID or parse job ID

  - `ProjectID string`

    Project this job belongs to.

  - `Status string`

    Current job status. Valid values are: pending, processing, completed, failed, cancelled.

  - `UserID string`

    User who created this job.

  - `ConfigurationID string`

    Split configuration ID used for this job.

  - `CreatedAt Time`

    Creation datetime

  - `ErrorMessage string`

    Error message if the job failed.

  - `Result SplitResultResponse`

    Result of a completed split job.

    - `Segments []SplitSegmentResponse`

      List of document segments.

      - `Category string`

        Category name this split belongs to.

      - `ConfidenceCategory string`

        Categorical confidence level. Valid values are: high, medium, low.

      - `Pages []int64`

        1-indexed page numbers in this split.

  - `SplittingStrategy SplitListResponseSplittingStrategy`

    Strategy used for splitting.

    - `AllowUncategorized string`

      Controls handling of pages that don't match any category. 'include': pages can be grouped as 'uncategorized' and included in results. 'forbid': all pages must be assigned to a defined category. 'omit': pages can be classified as 'uncategorized' but are excluded from results.

      - `const SplitListResponseSplittingStrategyAllowUncategorizedForbid SplitListResponseSplittingStrategyAllowUncategorized = "forbid"`

      - `const SplitListResponseSplittingStrategyAllowUncategorizedInclude SplitListResponseSplittingStrategyAllowUncategorized = "include"`

      - `const SplitListResponseSplittingStrategyAllowUncategorizedOmit SplitListResponseSplittingStrategyAllowUncategorized = "omit"`

    - `CustomInstructions string`

      Free-form guidance for where segment boundaries are placed.

    - `MinPagesPerSplit int64`

      Minimum pages per segment. Shorter segments are merged into an adjacent segment; 1 disables merging.

  - `TransactionID string`

    Idempotency key scoped to the project, if one was provided.

  - `UpdatedAt Time`

    Update datetime

### Example

```go
package main

import (
  "context"
  "fmt"

  "github.com/run-llama/llama-parse-go"
  "github.com/run-llama/llama-parse-go/option"
)

func main() {
  client := llamacloud.NewClient(
    option.WithAPIKey("My API Key"),
  )
  page, err := client.Split.List(context.TODO(), llamacloud.SplitListParams{

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

#### Response

```json
{
  "items": [
    {
      "id": "id",
      "categories": [
        {
          "name": "x",
          "description": "x"
        }
      ],
      "document_input_type": "file_id",
      "file_input": "dfl-aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
      "project_id": "project_id",
      "status": "status",
      "user_id": "user_id",
      "configuration_id": "configuration_id",
      "created_at": "2019-12-27T18:11:19.117Z",
      "error_message": "error_message",
      "result": {
        "segments": [
          {
            "category": "category",
            "confidence_category": "confidence_category",
            "pages": [
              0
            ]
          }
        ]
      },
      "splitting_strategy": {
        "allow_uncategorized": "forbid",
        "custom_instructions": "Start a new segment at every signature page.",
        "min_pages_per_split": 1
      },
      "transaction_id": "transaction_id",
      "updated_at": "2019-12-27T18:11:19.117Z"
    }
  ],
  "next_page_token": "next_page_token",
  "total_size": 0
}
```

## Get Split Job

`client.Split.Get(ctx, splitJobID, query) (*SplitGetResponse, error)`

**get** `/api/v1/split/jobs/{split_job_id}`

Get a document split job.

### Parameters

- `splitJobID string`

- `query SplitGetParams`

  - `OrganizationID param.Field[string]`

  - `ProjectID param.Field[string]`

### Returns

- `type SplitGetResponse struct{…}`

  A split job.

  - `ID string`

    Unique identifier for the split job.

  - `Categories []SplitCategory`

    Categories used for splitting.

    - `Name string`

      Name of the category.

    - `Description string`

      Optional description of what content belongs in this category.

  - `DocumentInputType SplitGetResponseDocumentInputType`

    Whether the input was a file or parse job

    - `const SplitGetResponseDocumentInputTypeFileID SplitGetResponseDocumentInputType = "file_id"`

    - `const SplitGetResponseDocumentInputTypeParseJobID SplitGetResponseDocumentInputType = "parse_job_id"`

    - `const SplitGetResponseDocumentInputTypeURL SplitGetResponseDocumentInputType = "url"`

  - `FileInput string`

    File ID or parse job ID

  - `ProjectID string`

    Project this job belongs to.

  - `Status string`

    Current job status. Valid values are: pending, processing, completed, failed, cancelled.

  - `UserID string`

    User who created this job.

  - `ConfigurationID string`

    Split configuration ID used for this job.

  - `CreatedAt Time`

    Creation datetime

  - `ErrorMessage string`

    Error message if the job failed.

  - `Result SplitResultResponse`

    Result of a completed split job.

    - `Segments []SplitSegmentResponse`

      List of document segments.

      - `Category string`

        Category name this split belongs to.

      - `ConfidenceCategory string`

        Categorical confidence level. Valid values are: high, medium, low.

      - `Pages []int64`

        1-indexed page numbers in this split.

  - `SplittingStrategy SplitGetResponseSplittingStrategy`

    Strategy used for splitting.

    - `AllowUncategorized string`

      Controls handling of pages that don't match any category. 'include': pages can be grouped as 'uncategorized' and included in results. 'forbid': all pages must be assigned to a defined category. 'omit': pages can be classified as 'uncategorized' but are excluded from results.

      - `const SplitGetResponseSplittingStrategyAllowUncategorizedForbid SplitGetResponseSplittingStrategyAllowUncategorized = "forbid"`

      - `const SplitGetResponseSplittingStrategyAllowUncategorizedInclude SplitGetResponseSplittingStrategyAllowUncategorized = "include"`

      - `const SplitGetResponseSplittingStrategyAllowUncategorizedOmit SplitGetResponseSplittingStrategyAllowUncategorized = "omit"`

    - `CustomInstructions string`

      Free-form guidance for where segment boundaries are placed.

    - `MinPagesPerSplit int64`

      Minimum pages per segment. Shorter segments are merged into an adjacent segment; 1 disables merging.

  - `TransactionID string`

    Idempotency key scoped to the project, if one was provided.

  - `UpdatedAt Time`

    Update datetime

### Example

```go
package main

import (
  "context"
  "fmt"

  "github.com/run-llama/llama-parse-go"
  "github.com/run-llama/llama-parse-go/option"
)

func main() {
  client := llamacloud.NewClient(
    option.WithAPIKey("My API Key"),
  )
  split, err := client.Split.Get(
    context.TODO(),
    "split_job_id",
    llamacloud.SplitGetParams{

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

#### Response

```json
{
  "id": "id",
  "categories": [
    {
      "name": "x",
      "description": "x"
    }
  ],
  "document_input_type": "file_id",
  "file_input": "dfl-aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
  "project_id": "project_id",
  "status": "status",
  "user_id": "user_id",
  "configuration_id": "configuration_id",
  "created_at": "2019-12-27T18:11:19.117Z",
  "error_message": "error_message",
  "result": {
    "segments": [
      {
        "category": "category",
        "confidence_category": "confidence_category",
        "pages": [
          0
        ]
      }
    ]
  },
  "splitting_strategy": {
    "allow_uncategorized": "forbid",
    "custom_instructions": "Start a new segment at every signature page.",
    "min_pages_per_split": 1
  },
  "transaction_id": "transaction_id",
  "updated_at": "2019-12-27T18:11:19.117Z"
}
```

## Delete Split Job

`client.Split.Delete(ctx, splitJobID, body) (*SplitDeleteResponse, error)`

**delete** `/api/v1/split/jobs/{split_job_id}`

Delete a split job and its results.

### Parameters

- `splitJobID string`

- `body SplitDeleteParams`

  - `OrganizationID param.Field[string]`

  - `ProjectID param.Field[string]`

### Returns

- `type SplitDeleteResponse interface{…}`

### Example

```go
package main

import (
  "context"
  "fmt"

  "github.com/run-llama/llama-parse-go"
  "github.com/run-llama/llama-parse-go/option"
)

func main() {
  client := llamacloud.NewClient(
    option.WithAPIKey("My API Key"),
  )
  split, err := client.Split.Delete(
    context.TODO(),
    "split_job_id",
    llamacloud.SplitDeleteParams{

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

#### Response

```json
{}
```

## Cancel Split Job

`client.Split.Cancel(ctx, splitJobID, body) (*SplitCancelResponse, error)`

**post** `/api/v1/split/jobs/{split_job_id}/cancel`

Cancel a running split job.

Requests cancellation; the job transitions to CANCELLED asynchronously once processing stops. Returns the job, which may still be in its current non-terminal state. Jobs already in a terminal state (COMPLETED, FAILED, CANCELLED) cannot be cancelled.

### Parameters

- `splitJobID string`

- `body SplitCancelParams`

  - `OrganizationID param.Field[string]`

  - `ProjectID param.Field[string]`

### Returns

- `type SplitCancelResponse struct{…}`

  A split job.

  - `ID string`

    Unique identifier for the split job.

  - `Categories []SplitCategory`

    Categories used for splitting.

    - `Name string`

      Name of the category.

    - `Description string`

      Optional description of what content belongs in this category.

  - `DocumentInputType SplitCancelResponseDocumentInputType`

    Whether the input was a file or parse job

    - `const SplitCancelResponseDocumentInputTypeFileID SplitCancelResponseDocumentInputType = "file_id"`

    - `const SplitCancelResponseDocumentInputTypeParseJobID SplitCancelResponseDocumentInputType = "parse_job_id"`

    - `const SplitCancelResponseDocumentInputTypeURL SplitCancelResponseDocumentInputType = "url"`

  - `FileInput string`

    File ID or parse job ID

  - `ProjectID string`

    Project this job belongs to.

  - `Status string`

    Current job status. Valid values are: pending, processing, completed, failed, cancelled.

  - `UserID string`

    User who created this job.

  - `ConfigurationID string`

    Split configuration ID used for this job.

  - `CreatedAt Time`

    Creation datetime

  - `ErrorMessage string`

    Error message if the job failed.

  - `Result SplitResultResponse`

    Result of a completed split job.

    - `Segments []SplitSegmentResponse`

      List of document segments.

      - `Category string`

        Category name this split belongs to.

      - `ConfidenceCategory string`

        Categorical confidence level. Valid values are: high, medium, low.

      - `Pages []int64`

        1-indexed page numbers in this split.

  - `SplittingStrategy SplitCancelResponseSplittingStrategy`

    Strategy used for splitting.

    - `AllowUncategorized string`

      Controls handling of pages that don't match any category. 'include': pages can be grouped as 'uncategorized' and included in results. 'forbid': all pages must be assigned to a defined category. 'omit': pages can be classified as 'uncategorized' but are excluded from results.

      - `const SplitCancelResponseSplittingStrategyAllowUncategorizedForbid SplitCancelResponseSplittingStrategyAllowUncategorized = "forbid"`

      - `const SplitCancelResponseSplittingStrategyAllowUncategorizedInclude SplitCancelResponseSplittingStrategyAllowUncategorized = "include"`

      - `const SplitCancelResponseSplittingStrategyAllowUncategorizedOmit SplitCancelResponseSplittingStrategyAllowUncategorized = "omit"`

    - `CustomInstructions string`

      Free-form guidance for where segment boundaries are placed.

    - `MinPagesPerSplit int64`

      Minimum pages per segment. Shorter segments are merged into an adjacent segment; 1 disables merging.

  - `TransactionID string`

    Idempotency key scoped to the project, if one was provided.

  - `UpdatedAt Time`

    Update datetime

### Example

```go
package main

import (
  "context"
  "fmt"

  "github.com/run-llama/llama-parse-go"
  "github.com/run-llama/llama-parse-go/option"
)

func main() {
  client := llamacloud.NewClient(
    option.WithAPIKey("My API Key"),
  )
  response, err := client.Split.Cancel(
    context.TODO(),
    "split_job_id",
    llamacloud.SplitCancelParams{

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

#### Response

```json
{
  "id": "id",
  "categories": [
    {
      "name": "x",
      "description": "x"
    }
  ],
  "document_input_type": "file_id",
  "file_input": "dfl-aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
  "project_id": "project_id",
  "status": "status",
  "user_id": "user_id",
  "configuration_id": "configuration_id",
  "created_at": "2019-12-27T18:11:19.117Z",
  "error_message": "error_message",
  "result": {
    "segments": [
      {
        "category": "category",
        "confidence_category": "confidence_category",
        "pages": [
          0
        ]
      }
    ]
  },
  "splitting_strategy": {
    "allow_uncategorized": "forbid",
    "custom_instructions": "Start a new segment at every signature page.",
    "min_pages_per_split": 1
  },
  "transaction_id": "transaction_id",
  "updated_at": "2019-12-27T18:11:19.117Z"
}
```
