# Interface: ConnectRequest

Defined in: [packages/core/src/session/connect.ts:43](https://github.com/leifriksheim/minca/blob/main/core/src/session/connect.ts#L43)

What an app asks a home for

## Properties

| Property | Modifier | Type | Description | Defined in |
| ------ | ------ | ------ | ------ | ------ |
| <a id="property-access"></a> `access` | `readonly` | `"read"` \| `"carry"` \| `"write"` | `write` to change the spaces it is given, `read` only to look. `carry` is for a carrier — a browser extension keeping the spaces online — which gets passes and no keys (`connectCarrier`). | [packages/core/src/session/connect.ts:61](https://github.com/leifriksheim/minca/blob/main/core/src/session/connect.ts#L61) |
| <a id="property-audience"></a> `audience` | `readonly` | `string` | The app's key — the note is made out to it | [packages/core/src/session/connect.ts:46](https://github.com/leifriksheim/minca/blob/main/core/src/session/connect.ts#L46) |
| <a id="property-choosespaces"></a> `chooseSpaces?` | `readonly` | `boolean` | Whether to offer the person's existing spaces to pick from. Default true. | [packages/core/src/session/connect.ts:78](https://github.com/leifriksheim/minca/blob/main/core/src/session/connect.ts#L78) |
| <a id="property-contacts"></a> `contacts?` | `readonly` | `boolean` | The account's contacts: the contacts space, and the contact key that opens contact requests sent to the account. Asking someone, or accepting, also needs `account` scope — both make or join a space for two. | [packages/core/src/session/connect.ts:76](https://github.com/leifriksheim/minca/blob/main/core/src/session/connect.ts#L76) |
| <a id="property-create"></a> `create?` | `readonly` | readonly [`NewSpace`](https://minca.dev/api/core/interfaces/NewSpace.md)[] | Spaces the home should make for the app, and give it | [packages/core/src/session/connect.ts:70](https://github.com/leifriksheim/minca/blob/main/core/src/session/connect.ts#L70) |
| <a id="property-days"></a> `days?` | `readonly` | `number` | How many days the note should last, 1–365. The home decides; default 7. | [packages/core/src/session/connect.ts:94](https://github.com/leifriksheim/minca/blob/main/core/src/session/connect.ts#L94) |
| <a id="property-name"></a> `name?` | `readonly` | `string` | What the app calls itself. Shown, but never trusted: the home shows the origin too. | [packages/core/src/session/connect.ts:55](https://github.com/leifriksheim/minca/blob/main/core/src/session/connect.ts#L55) |
| <a id="property-proof"></a> `proof` | `readonly` | `string` | That key's signature over what it agreed to (`keyProof`): its DID, how it reached the app (`via`) and whether it asked for records only. So a request can only name a key its sender holds, for what that key asked: disconnecting revokes the key, and must never revoke someone else's. | [packages/core/src/session/connect.ts:53](https://github.com/leifriksheim/minca/blob/main/core/src/session/connect.ts#L53) |
| <a id="property-recordsonly"></a> `recordsOnly?` | `readonly` | `boolean` | A note that grants writing records and nothing more (`/record`), so every peer refuses its key changing a space's collections or who may do what, or writing in the account's own spaces. No contact key, no spaces made for it, and no carrying. | [packages/core/src/session/connect.ts:85](https://github.com/leifriksheim/minca/blob/main/core/src/session/connect.ts#L85) |
| <a id="property-scope"></a> `scope?` | `readonly` | `"spaces"` \| `"account"` | `spaces` (the default): only the spaces the person picks, and any made for the app. `account`: every space, the account's space list, and making and joining spaces itself — for an app that is a view onto the whole account. Either way the app never gets the seed. | [packages/core/src/session/connect.ts:68](https://github.com/leifriksheim/minca/blob/main/core/src/session/connect.ts#L68) |
| <a id="property-v"></a> `v` | `readonly` | `1` | - | [packages/core/src/session/connect.ts:44](https://github.com/leifriksheim/minca/blob/main/core/src/session/connect.ts#L44) |
| <a id="property-via"></a> `via?` | `readonly` | `"code"` | `code`: the key is a program's, which reached the home itself over a connect code (`connect-code.ts`); the home makes such a request, an app never sends one. The home keeps its connection by its key. Absent: an app's own key. | [packages/core/src/session/connect.ts:92](https://github.com/leifriksheim/minca/blob/main/core/src/session/connect.ts#L92) |
