---
title: experimental_cancelBatch
description: API Reference for experimental_cancelBatch.
---

# `experimental_cancelBatch()`

<Note type="warning">
  Batch support is experimental and the API may change in patch releases.
</Note>

Requests cancellation of an asynchronous batch. A successful call means that
the provider accepted the cancellation request, not that cancellation has
finished. For a complete guide to the batch lifecycle, see
[Batch](/docs/ai-sdk-core/batch).

```ts
import { experimental_cancelBatch as cancelBatch } from 'ai';

const result = await cancelBatch({
  provider,
  batch,
});

console.log(result.providerMetadata);
```

## Import

<Snippet
  text={`import { experimental_cancelBatch } from "ai"`}
  prompt={false}
/>

## API Signature

### Parameters

<PropertiesTable
  content={[
    {
      name: 'provider',
      type: 'Experimental_BatchProvider',
      isOptional: true,
      description:
        'The provider used to access the batch. Defaults to the global provider, or the AI Gateway when no global provider is configured.',
    },
    {
      name: 'batch',
      type: 'Experimental_BatchReference',
      description:
        'The serializable reference returned by experimental_startBatch.',
    },
    {
      name: 'providerOptions',
      type: 'ProviderOptions',
      isOptional: true,
      description:
        'Additional provider-specific options for the cancellation request.',
    },
    {
      name: 'abortSignal',
      type: 'AbortSignal',
      isOptional: true,
      description: 'An optional abort signal to cancel the API request.',
    },
    {
      name: 'timeout',
      type: 'number | { totalMs?: number }',
      isOptional: true,
      description: 'Maximum time allowed for the cancellation request.',
    },
    {
      name: 'headers',
      type: 'Record<string, string | undefined>',
      isOptional: true,
      description: 'Additional HTTP headers for the request.',
    },
  ]}
/>

### Returns

<PropertiesTable
  content={[
    {
      name: 'providerMetadata',
      type: 'ProviderMetadata',
      isOptional: true,
      description: 'Provider-specific metadata from the cancellation response.',
    },
  ]}
/>

Calling this function with a provider that does not support batch cancellation
throws an `UnsupportedFunctionalityError`.
