> For the complete documentation index, see [llms.txt](https://docs.resifactory.net/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.resifactory.net/imap/scopes.md).

# Scopes: unified and batch

Every app password has a **scope** — the set of mailboxes it can read. You choose it when you create the credential, and it cannot be changed afterwards. To change scope, make a new credential and revoke the old one.

<figure><img src="/files/KDd0UhVNF9gDqNUeSzLN" alt="Unified scope sees every mailbox; batch scope sees one batch"><figcaption></figcaption></figure>

## Unified

**Every mailbox you own, merged into one `INBOX`.**

This is the default and the right answer most of the time.

* One connection covers your entire order.
* Mailboxes you buy later join it **automatically** — you never reconfigure a client because you topped up.
* Tools that limit how many mail accounts you can add see exactly one account.

## Batch

**One** [**batch**](/the-console/batches.md) **of mailboxes, and nothing else.**

Choosing `Batch` in the create dialog reveals a dropdown of your batches, each with its mailbox count.

Use it when you want a hard boundary:

* **Separating projects.** A credential for `aug-drop-100` cannot see `bby-restock` mail at all — not by search, not by any command.
* **Handing access to someone else.** A contractor working one campaign gets a credential that only reaches that campaign's mail.
* **Keeping a tool focused.** A tool that only needs one batch's mail gets a smaller, faster view — similar in spirit to an [inbox window](/imap/inbox-window.md), but sliced by mailbox rather than by time.

{% hint style="info" %}
A batch-scoped credential shows only the mailboxes in that batch **that you own**. The boundary is enforced on the server, on every command — not in the client.
{% endhint %}

## Choosing

| If you want…                                        | Scope       |
| --------------------------------------------------- | ----------- |
| One connection for everything                       | **Unified** |
| New purchases to appear without reconfiguring       | **Unified** |
| A tool restricted to one project                    | **Batch**   |
| To hand someone access to part of your mail         | **Batch**   |
| To keep two campaigns' mail from mixing in one tool | **Batch**   |

## Running both at once

Scopes are per credential, so you can have several live at the same time over the same mailboxes:

| Label               | Scope                | Window     | What it is for             |
| ------------------- | -------------------- | ---------- | -------------------------- |
| `shikari-main`      | unified              | 15 minutes | Codes across everything.   |
| `aug-drop-100 only` | batch → aug-drop-100 | 7 days     | One campaign's order mail. |
| `laptop`            | unified              | 1 month    | Reading by hand.           |

They do not interfere with each other. Revoking one leaves the others untouched.

## Usernames and scopes

Two credentials can share the same **IMAP username** and still have different scopes — the **password** is what selects which one you are using. So you can keep one username everywhere and vary scope and window per tool.

If you would rather each tool connect under its own name, set a distinct **IMAP username** on each app password. See [App passwords](/imap/app-passwords.md).

## When the visible set changes

If the set of mailboxes a credential can see changes — you buy more mailboxes on a unified credential, or a batch's membership changes — IMAP clients may perform a **full resync** of the folder the next time they connect.

This is normal and expected. It is how IMAP tells a client "the numbering you remember is no longer valid, start again." Nothing is lost; the client just re-reads the folder.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.resifactory.net/imap/scopes.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
