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

# Class: IntegrationConnectionFlow

> One user's immutable connection scope.

[browser](/api/modules/browser).IntegrationConnectionFlow

One user's immutable connection scope. Create a new controller whenever the
authenticated user, component, provider, organization, or repair account changes.
The transport must authenticate that user; this scope never grants authority.
No operation or ambiguous credential submission is automatically replayed.
Secrets and provider codes are passed through once and never kept in state.

## Constructors

### constructor

• **new IntegrationConnectionFlow**(`request`, `scope`, `options?`)

#### Parameters

| Name | Type | Description |
| :- | :- | :- |
| `request` | [`ConnectionTransport`](/api/modules/browser#connectiontransport) | - |
| `scope` | `ConnectionScope` | - |
| `options` | `Object` | - |
| `options.callbackPath?` | `string` | - |
| `options.redirectUri?` | `string` | - |
| `options.openWindow?` | (`redirectUri`: `string`) => [`ConnectionAuthorizationWindow`](/api/modules/browser#connectionauthorizationwindow) | - |
| `options.pending?` | \{ `attempt`: `string` ; `state`: `string`  } & \{ `kind`: `"browser"`  } \| \{ `attempt`: `string` ; `state`: `string`  } & \{ `kind`: `"credential"` ; `method`: `"api_key"` \| `"client_credentials"`  } | Restore only an unsubmitted server attempt. Server expiry and single-use checks remain authoritative. Never persist credentials. |

## Methods

### begin

▸ **begin**(`input?`): `Promise`\<[`ConnectionAuthorization`](/api/modules/browser#connectionauthorization)>

#### Parameters

| Name | Type |
| :- | :- |
| `input` | `Pick`\<`Object`, `"capabilities"` \| `"setup"`> |

#### Returns

`Promise`\<[`ConnectionAuthorization`](/api/modules/browser#connectionauthorization)>

***

### authorize

▸ **authorize**(): `Promise`\<[`ConnectionOffer`](/api/modules/browser#connectionoffer)>

Call directly from a click, after begin returned a redirect offer.

#### Returns

`Promise`\<[`ConnectionOffer`](/api/modules/browser#connectionoffer)>

***

### credential

▸ **credential**(`credential`): `Promise`\<[`ConnectionOffer`](/api/modules/browser#connectionoffer)>

#### Parameters

| Name | Type |
| :- | :- |
| `credential` | [`ConnectionCredential`](/api/modules/browser#connectioncredential) |

#### Returns

`Promise`\<[`ConnectionOffer`](/api/modules/browser#connectionoffer)>

***

### browser

▸ **browser**(`command`): `Promise`\<[`ConnectionBrowserResult`](/api/modules/browser#connectionbrowserresult)>

#### Parameters

| Name | Type |
| :- | :- |
| `command` | [`ConnectionBrowserCommand`](/api/modules/browser#connectionbrowsercommand) |

#### Returns

`Promise`\<[`ConnectionBrowserResult`](/api/modules/browser#connectionbrowserresult)>

***

### select

▸ **select**(`resources`): `Promise`\<\{ `installed`: \{ `resource`: `string` ; `source`: `string`  }\[]  }>

#### Parameters

| Name | Type |
| :- | :- |
| `resources` | `string`\[] |

#### Returns

`Promise`\<\{ `installed`: \{ `resource`: `string` ; `source`: `string`  }\[]  }>

***

### cancel

▸ **cancel**(): `void`

Stops local delivery, closes the popup and releases a remote browser.
It does not undo an already submitted request or change a business outcome.

#### Returns

`void`


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