Skip to main content

BatchBuilder

Executes multiple API requests in a single HTTP call.

Example​

const results = await api.batch(
api.workspaceUsers.getUserById(123, 456, { batch: true }),
api.workspaceUsers.getUserById(123, 789, { batch: true })
)

Extends​

  • BaseClient

Constructors​

Constructor​

new BatchBuilder(config: ClientConfig): BatchBuilder;

Parameters​

ParameterType
configClientConfig

Returns​

BatchBuilder

Inherited from​

BaseClient.constructor

Properties​

PropertyModifierType
apiTokenreadonlystring
baseUrl?readonlystring
customFetch?readonlyCustomFetch
defaultVersionreadonly"v3" | "v4"

Methods​

execute()​

execute<T>(requests: T): Promise<BatchResponseArray<T>>;

Executes multiple API requests with automatic chunking and parallel execution. Transparently handles the 10-request API limitation by splitting large batches into smaller chunks and executing them concurrently.

Type Parameters​

Type Parameter
T extends readonly BatchRequestDescriptor<unknown>[]

Parameters​

ParameterTypeDescription
requestsTArray of batch request descriptors

Returns​

Promise<BatchResponseArray<T>>

Array of BatchResponse objects with processed data in original order

Throws​

If any batch chunk fails completely


getBaseUri()​

protected getBaseUri(version?: "v3" | "v4"): string;

Gets the base URI for API requests with proper trailing slash handling. This method fixes the trailing slash bug that occurred when using custom baseUrl.

Parameters​

ParameterTypeDescription
version?"v3" | "v4"Optional API version override. Defaults to the configured version or 'v3'

Returns​

string

Base URI with guaranteed trailing slash for proper URL resolution

Inherited from​

BaseClient.getBaseUri

getLinkBaseUrl()​

protected getLinkBaseUrl(): string | undefined;

Base URL for entity web links, or undefined to use getFullTwistURL's default web app.

Returns​

string | undefined

Inherited from​

BaseClient.getLinkBaseUrl