> ## Documentation Index
> Fetch the complete documentation index at: https://futureai-d8c0eb94.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# SDK Events

> Learn how to interact and intercept events using our Javascript SDK

# SDK Events

Use the following events to customise your application's behaviour

```typescript
enum Event {
  SessionStarted,
  SessionEnded,
  SessionAuthenticated,
  ViewMembershipInfo,
  PlaidEvent ,
  LinkedAccountCreated,
  UserGenerativeResults,
}
```

# Base Event

```typescript
interface BaseEvent {
  id: string
  version: string
  ended: boolean
  developerId: string
  lastEventName: string
  type: string
}
```

# SessionStarted

```typescript
interface SessionStartedEvent extends BaseEvent {
    ended: false
    type: "SessionStarted"
}
```

# SessionEnded

```typescript
interface SessionStartedEvent extends BaseEvent {
    ended: true
    type: "SessionEnded"
}
```

# SessionAuthenticated

```typescript
interface SessionAuthenticatedEvent extends BaseEvent {
    ended: false
    type: "SessionAuthenticated"
    userId: string
}
```

# LinkedAccountCreated

```typescript
interface LinkedAccountCreatedEvent extends BaseEvent {
    ended: false
    type: "LinkedAccountCreated"
    userId: string
}
```

# ViewMembershipInfo

```typescript
interface ViewMembershipInfoEvent extends BaseEvent {
    ended: false
    type: "ViewMembershipInfo"
    userId: string
}
```

# PlaidEvent

```typescript
interface PlaidEvent extends BaseEvent {
    ended: false
    type: "PlaidEvent"
    userId: string
    eventName: string
    metadata: any
}
```

# UserGenerativeResults

```typescript
interface UserGenerativeResults extends BaseEvent {
    ended: false
    type: "PlaidEvent"
    userId: string
    eventName: string
    categories: string[]
    context: string
}
```
