> ## Documentation Index
> Fetch the complete documentation index at: https://docs.encord.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Http.bundle

## BundlablePayload Objects

```python theme={"dark"}
class BundlablePayload(Protocol[BundlablePayloadT])
```

All payloads that work with bundles need to provide "add" method
that would allow bundler to combine multiple payloads into one or few aggregates.

## Bundle Objects

```python theme={"dark"}
class Bundle()
```

This class allows to perform operations in bundles to improve performance by reducing number of network calls.

It is not supposed to be instantiated directly by a user. Use [create\_bundle()](/sdk-documentation/sdk-references/project.md#create_bundle)
method to initiate bundled operations.

To execute batch you can either call  [execute()](/sdk-documentation/sdk-references/http.bundle.md#execute) directly, or use a Context Manager.

#### add

```python theme={"dark"}
def add(operation: Callable[..., List[R]],
        result_mapper: Optional[BundleResultMapper[R]],
        payload: BundlablePayloadT, limit: int) -> None
```

This is an internal method and normally is not supposed to be used externally.

Adds an operation to a bundle for delayed execution.

#### execute

```python theme={"dark"}
def execute() -> None
```

Executes all scheduled operations in bundles and populates results


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.