<!-- Public documentation export; not library implementation source. -->
# OpenChartAutomationOptions

[Integration guide](https://docs.lumencharts.com/charting-library/reference/compatibility) · [Reference index](https://docs.lumencharts.com/charting-library/api/)

Public contract reference. This declaration describes types and callback shapes; availability is constrained by the linked integration guide and the runtime capability. Legacy product-specific fields are not a promise of implementation.

Options for `IChartWidgetApi.openAutomation()`. SDK types come from the
`@lumencharts/chart-automation/sdk` and `@lumencharts/chart-automation/contracts`.

## commands {#commands}

```ts
commands?: readonly ChartAutomationFamily[];
```

Native families to install. Defaults to every chart-level family; host-disabled families stay `unsupported`.
A family listed in `owners` must also be listed here when this is given, or opening rejects with `invalid_input`.

## owners {#owners}

```ts
owners?: ChartAutomationOwners;
```

Adopt existing owners instead of building new ones, so SDK changes share
their leases, Undo and persistence. Keep one mutating owner per chart per
family: a second session on the same chart should pass the same owners.

## policy {#policy}

```ts
policy?: AutomationPolicy;
```

Use the type signature above and the integration guide for the owning capability.

## chartId {#chartid}

```ts
chartId?: string;
```

Stable ID used as the request target. Defaults to the runtime's chart ID.

## binding {#binding}

```ts
binding?: ChartBinding;
```

Persistence identity for native document owners. Defaults to a session-local identity.

## capturePng {#capturepng}

```ts
capturePng?: (() => Promise<string | Blob>) | null;
```

Replaces the built-in exact-chart capture; `null` turns capture off.

## requestHistory {#requesthistory}

```ts
requestHistory?: NativeChartAutomationOptions['requestHistory'];
```

Use the type signature above and the integration guide for the owning capability.

## additionalData {#additionaldata}

```ts
additionalData?: NativeChartAutomationOptions['additionalData'];
```

Use the type signature above and the integration guide for the owning capability.

## subscribeAdditionalData {#subscribeadditionaldata}

```ts
subscribeAdditionalData?: NativeChartAutomationOptions['subscribeAdditionalData'];
```

Use the type signature above and the integration guide for the owning capability.

## workspace {#workspace}

```ts
workspace?: ChartWorkspaceApi;
```

A widget-level workspace owner (`widget.createWorkspaceCommands`); the caller keeps ownership.

## persist {#persist}

```ts
persist?: NativeCommandOwners['persist'];
```

Durable save between native preparation and commit for drawing and study changes.

## Related types

- [ChartAutomationFamily](https://docs.lumencharts.com/charting-library/api/ChartAutomationFamily)
- [ChartAutomationOwners](https://docs.lumencharts.com/charting-library/api/ChartAutomationOwners)

---
Documentation page: https://docs.lumencharts.com/charting-library/api/OpenChartAutomationOptions
