# Interface: FlowStartOptions

Defined in: [packages/sdk/src/core/types.ts:489](https://github.com/plandalf/numi/blob/fc6f42b5ade3d63b71623934838a6509f17203e2/packages/sdk/src/core/types.ts#L489)

## Extended by

- [`FlowOpenOptions`](https://plandalf.com/docs/packages/sdk/interfaces/FlowOpenOptions)

This interface is active. Its options are also inherited by [`FlowOpenOptions`](https://plandalf.com/docs/packages/sdk/interfaces/FlowOpenOptions).

## Properties

### context?

> `optional` **context?**: `Record`\<`string`, `unknown`\>

Defined in: [packages/sdk/src/core/types.ts:499](https://github.com/plandalf/numi/blob/fc6f42b5ade3d63b71623934838a6509f17203e2/packages/sdk/src/core/types.ts#L499)

***

### environment?

> `optional` **environment?**: `"test"` \| `"live"`

Defined in: [packages/sdk/src/core/types.ts:508](https://github.com/plandalf/numi/blob/fc6f42b5ade3d63b71623934838a6509f17203e2/packages/sdk/src/core/types.ts#L508)

Force the server into a specific environment when creating the
session. `'test'` routes the checkout to the org's Stripe test
integration (super-admin only). Omit to let the server decide
based on the caller's identity + route mode.

***

### headless?

> `optional` **headless?**: `boolean`

Defined in: [packages/sdk/src/core/types.ts:500](https://github.com/plandalf/numi/blob/fc6f42b5ade3d63b71623934838a6509f17203e2/packages/sdk/src/core/types.ts#L500)

***

### promo?

> `optional` **promo?**: [`PromoContext`](https://plandalf.com/docs/packages/sdk/interfaces/PromoContext)

Defined in: [packages/sdk/src/core/types.ts:501](https://github.com/plandalf/numi/blob/fc6f42b5ade3d63b71623934838a6509f17203e2/packages/sdk/src/core/types.ts#L501)

***

### sessionId?

> `optional` **sessionId?**: `string`

Defined in: [packages/sdk/src/core/types.ts:515](https://github.com/plandalf/numi/blob/fc6f42b5ade3d63b71623934838a6509f17203e2/packages/sdk/src/core/types.ts#L515)

Reuse an existing session UUID instead of creating a fresh one.
Used by the auto-resume path to finalize against the ORIGINAL
session after a redirect-based auth bounce — creating a new
session would lose the draft upsell invoice that needs settling.

***

### templateId?

> `optional` **templateId?**: `string`

Defined in: [packages/sdk/src/core/types.ts:491](https://github.com/plandalf/numi/blob/fc6f42b5ade3d63b71623934838a6509f17203e2/packages/sdk/src/core/types.ts#L491)

***

### templateSlug?

> `optional` **templateSlug?**: `string`

Defined in: [packages/sdk/src/core/types.ts:490](https://github.com/plandalf/numi/blob/fc6f42b5ade3d63b71623934838a6509f17203e2/packages/sdk/src/core/types.ts#L490)

***

### user?

> `optional` **user?**: `string`

Defined in: [packages/sdk/src/core/types.ts:498](https://github.com/plandalf/numi/blob/fc6f42b5ade3d63b71623934838a6509f17203e2/packages/sdk/src/core/types.ts#L498)

Customer JWT for THIS call only — overrides the SDK-wide identity from
`plandalf.setUser()` or the `user` init option. Useful for "buy as customer"
admin tooling, impersonation flows, or offers that need a different identity
than the global one. The value is the raw JWT string.

Source: https://plandalf.com/docs/packages/sdk/interfaces/FlowStartOptions
