# Bulk

Fan out many URLs in parallel and get one webhook when the job completes. Accessed via `client.bulk`.

## create

```ts
client.bulk.create(opts: BulkCreateRequest, requestOptions?: RequestOptions): Promise<BulkCreateResponse>
```

POST /v1/bulk — create a bulk screenshots job.

`requestOptions` carries the CLIENT-side abort budget (`requestTimeoutMs`) and an
optional caller `signal`; both override the constructor's `timeoutMs` default.

## get

```ts
client.bulk.get(id: BulkId, requestOptions?: RequestOptions): Promise<BulkGetResponse>
```

GET /v1/bulk/\{id\} — get a bulk job status

## cancel

```ts
client.bulk.cancel(id: BulkId, requestOptions?: RequestOptions): Promise<BulkCancelResponse>
```

DELETE /v1/bulk/\{id\} — cancel an in-flight bulk job

## screenshots

### list

```ts
client.bulk.screenshots.list(id: BulkId, requestOptions?: RequestOptions): Promise<ListBulkScreenshotsResponse>
```

GET /v1/bulk/\{id\}/screenshots — list items in a mixed bulk job

### list

```ts
client.bulk.screenshots.list(id: BulkId, pageParams: BulkPageParams, requestOptions?: RequestOptions): Promise<ListBulkScreenshotsResponse>
```

### list

```ts
client.bulk.screenshots.list(id: BulkId, pageParamsOrRequestOptions: BulkPageParams | RequestOptions = {}, requestOptions?: RequestOptions): Promise<ListBulkScreenshotsResponse>
```