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

# scopes

> Read / chat with scopes.

Call path: `client.scopes` after `new Modus(...)`.

## Methods

### chat()

```typescript
chat(scopeId: string | number, message: string, options: { model: "claude-sonnet-5" | "claude-sonnet-4.6" | "claude-opus-4.8" | "gpt-5.2" | "gpt-5.5" | "gpt-5-mini" | "gpt-oss-120b" | "gpt-oss-20b" | "qwen3-235b-a22b-2507" | "qwen3-coder" | "qwen3-32b" | "deepseek-chat-v3.1" | "minimax-m2.7" | "llama-4-maverick" | "llama-4-scout" | "llama-3.3-70b-instruct" | "gemini-3.1-pro-preview" | "gemini-3-flash-preview" | "grok-4.3-fast" | "grok-4.3"; threadId: string }): Promise<ChatResult>
```

Send a message to a scope and get the complete reply.

```ts
const result = await client.scopes.chat(scopeId, 'Hello', { model: 'claude-sonnet-5' })
console.log(result.content, result.threadId)
```

#### Parameters

<ResponseField name={"scopeId"} type={"string | number"} required>
  Scope numeric id or slug.
</ResponseField>

<ResponseField name={"message"} type={"string"} required>
  Message to send.
</ResponseField>

<ResponseField name={"options"} type={"{ model: \"claude-sonnet-5\" | \"claude-sonnet-4.6\" | \"claude-opus-4.8\" | \"gpt-5.2…"} required />

#### Returns

`Promise<ChatResult>`

Chat result with content and threadId.

### chatStream()

```typescript
chatStream(scopeId: string | number, message: string, options: { model: "claude-sonnet-5" | "claude-sonnet-4.6" | "claude-opus-4.8" | "gpt-5.2" | "gpt-5.5" | "gpt-5-mini" | "gpt-oss-120b" | "gpt-oss-20b" | "qwen3-235b-a22b-2507" | "qwen3-coder" | "qwen3-32b" | "deepseek-chat-v3.1" | "minimax-m2.7" | "llama-4-maverick" | "llama-4-scout" | "llama-3.3-70b-instruct" | "gemini-3.1-pro-preview" | "gemini-3-flash-preview" | "grok-4.3-fast" | "grok-4.3"; threadId: string; version: string }): ChatStream
```

Stream a scope reply token by token.

#### Parameters

<ResponseField name={"scopeId"} type={"string | number"} required>
  Scope numeric id or slug.
</ResponseField>

<ResponseField name={"message"} type={"string"} required>
  Message to send.
</ResponseField>

<ResponseField name={"options"} type={"{ model: \"claude-sonnet-5\" | \"claude-sonnet-4.6\" | \"claude-opus-4.8\" | \"gpt-5.2…"} required />

#### Returns

`ChatStream`

Chat stream.

### conversations()

```typescript
conversations(scopeId: string | number): ScopeConversationsResource
```

Return the conversations sub-resource scoped to `scopeId`.

#### Parameters

<ResponseField name={"scopeId"} type={"string | number"} required>
  Scope numeric id or slug.
</ResponseField>

#### Returns

`ScopeConversationsResource`

Conversations resource for the scope.

### get()

```typescript
get(scopeId: string | number, options?: { view: VariationView }): Promise<object>
```

Retrieve a scope by ID or slug.

#### Parameters

<ResponseField name={"scopeId"} type={"string | number"} required>
  Scope numeric id or slug.
</ResponseField>

<ResponseField name={"options"} type={"{ view: VariationView }"} />

#### Returns

`Promise<object>`

Scope.

### getContext()

```typescript
getContext(scopeId: string | number, message: string, options?: { limit: number }): Promise<object>
```

Return composed context Modus would use for a scope query, without running chat.

#### Parameters

<ResponseField name={"scopeId"} type={"string | number"} required>
  Scope numeric id or slug.
</ResponseField>

<ResponseField name={"message"} type={"string"} required>
  User intent or question to compose context for.
</ResponseField>

<ResponseField name={"options"} type={"{ limit: number }"} />

#### Returns

`Promise<object>`

Composed scope context.

### list()

```typescript
list(options?: { pageSize: number; pageToken: string; search: string; view: VariationView; managerId: number }): Promise<Page<object>>
```

List scopes in the organisation.

#### Parameters

<ResponseField name={"options"} type={"{ pageSize: number; pageToken: string; search: string; view: VariationView; man…"} />

#### Returns

`Promise<Page<object>>`

Page of scopes.
