# Atlas Documentation

This is the complete Atlas documentation (chat apps, REST API, command line, and dashboard) as one Markdown file made for AI assistants to read.

Source: https://www.mind-vest.io/atlas/setup-guide

---

<!-- ==== Get started ==== -->

# Atlas docs

**Atlas** is a trading and automation platform for the stock and options market,
made by [MindVest](https://www.mind-vest.io). It plugs live market data, charts,
and real trading into your AI, so your AI can not only read the market but place
and manage trades for you. And it does not stop when you close the tab: Atlas can
watch the market around the clock and act on its own with workflows, tasks,
alerts, and triggers.

These docs show everything Atlas can do and every way to use it: in a **chat
app** like ChatGPT or Claude, from **code** (the Web API), from the **command
line**, and in the **dashboard**.

## Start here

1. **Pick how you want to use it.** Add Atlas to your [chat app](#connect-overview),
   call it from [your code](#api-overview), or run it from the [command line](#cli-overview).
2. **Sign in.** Chat apps use a sign in link. Code and the command line use a key
   from your [dashboard](#authentication).
3. **Make your first request** with the [Quickstart](#quickstart).
4. **Learn the words.** [Core ideas](#concepts-overview) explains workflows,
   tasks, strategies, alerts, and triggers in plain terms.
5. **Know what you pay.** [Plans and how you get charged](#plans-and-billing)
   explains free vs paid and how automations are counted.

## What is inside

| Area | What you get |
| --- | --- |
| [Connect Atlas](#connect-overview) | Add Atlas to ChatGPT, Claude, Discord, and Cursor |
| [Core ideas](#concepts-overview) | Workflows, tasks, strategies, alerts, triggers, and how they fit |
| [Using the dashboard](#dashboard-overview) | Every page and form, step by step |
| [Chat app tools](#mcp-overview) | Use Atlas inside your assistant |
| [Command line](#cli-overview) | Run any tool from your terminal |
| [Web API](#api-overview) | Call any tool from your code |

:::tip
Every part of this page has a **Copy for LLM** button. It copies that part as
text you can paste into any AI to ask questions about it. You can also grab the
whole thing at [/atlas/setup-guide/llms](/atlas/setup-guide/llms).
:::

---

# Quickstart

## Way 1: Add it to your AI chat app (no code)

1. Open your chat app's connector settings.
2. Add a server with this link: `https://atlasmcp.finmanagerai.com/mcp`.
3. Sign in with Email, Google, or Discord when it asks.
4. Say: *"Use Atlas to get me a quote for NVDA and the SPY gamma exposure."*

Full steps: [ChatGPT](#connect-chatgpt), [Claude](#connect-claude),
[Discord](#connect-discord), [Cursor](#connect-other).

## Way 2: Call it from the terminal (Web API)

```bash
# 1. Set the address and your key (get the key from the dashboard, see Sign in)
export ATLAS_BASE_URL="https://atlasmcp.finmanagerai.com"
export ATLAS_KEY="<your key>"

# 2. Your first request: a live quote
curl -sS -X POST "$ATLAS_BASE_URL/api/v1/tools/get_stock_quote" \
  -H "Authorization: Bearer $ATLAS_KEY" \
  -H "Content-Type: application/json" \
  -d '{"symbol":"AAPL"}'
```

## Way 3: Use the command line

```bash
# Node
npm i -g mindvest-atlas
# or Python
pip install mindvest-atlas

# Sign in once, then run any tool
atlas login
atlas stock-quote --symbol AAPL
```

See the [command line docs](#cli-overview) for install, sign in, and every command.

## What next

- See [all the tools](#mcp-tools) Atlas has.
- Learn the [core ideas](#concepts-overview) behind workflows and triggers.
- Read [how you get charged](#plans-and-billing) before you set up automations.

---

# Sign in and keys

There are two ways to sign in. Both use the **same account**, so a tool works the
same no matter which one you use.

## Sign in link (for chat apps)

When you add Atlas to a chat app, it opens a sign in page. You log in once with
**Email**, **Google**, or **Discord**, say yes, and you are done. There is no key
to copy.

## Key (for code and the command line)

The Web API and the command line use one secret key. You send it in the header:

```bash
curl -H "Authorization: Bearer $ATLAS_KEY" ...
```

### Where to find your key

1. Open the [dashboard](/atlas/dashboard).
2. Go to the **Profile** tab.
3. Find the **key** section and copy it, or make a new one.

The same key works for the Web API, the command line, and any chat app that takes
a key instead of the sign in link.

:::warning
Treat your key like a password. Anyone who has it can use tools on your account,
and for trading tools that means placing real orders with your broker. Never put
it in a web page or share it. If it leaks, make a new one from the Profile tab
right away.
:::

## Check your account

```bash
atlas get-subscription-status
# shows your plan, how much you have used, and how much is left
```

---

# Plans and how you get charged

Here is the simple idea: you pay for the paid work Atlas does, not for every
click. Two limits matter.

## 1. Your monthly requests

Every account gets a set number of paid requests each month. This is the number
you watch go down in your Profile.

| Plan | Price | Requests each month |
| --- | --- | --- |
| Free | $0 | 10 |
| Pro | $29.99 / month | 100 |
| Premium | $49.99 / month | 300 |
| Max | $99.99 / month | 1000 |

Check yours anytime:

```bash
atlas get-subscription-status
```

### What uses one request

The simple rule: **you pay for each thing Atlas does for you, not for each time
it looks.** A run that looks at the market and decides to do nothing is always
free. You use one request each time Atlas:

- **Answers a paid tool.** Ask for a paid thing, like a gamma exposure map, and
  that is one request. Free tools use none. A few paid things in the same message
  still count as **one**, not three.
- **Opens a trade or sends a note.** When a workflow or task acts, by placing a
  trade, sending you a buy or sell note, or sending an analysis note, that is one
  request.
- **Changes a live trade.** While a trade is running, Atlas can step back in and
  change it, like moving your take profit targets up or closing the rest early.
  Each real change is one request. If it looks and leaves the trade alone, it
  costs nothing.

So one trade is not always one request. A trade that Atlas opens and later
adjusts twice uses **three** requests: one to open it, and one for each change.
You pay for the work, whether it is a brand new trade or an update to one you
already have.

### What is free

Free tools never touch your count. They are capped at **60 calls a minute**. Free
tools include quotes, price history, the options chain, company numbers,
estimates, calendars, who owns a stock, search, and looking at your own workflows
and triggers. The tool tables mark each tool **Free** or **Premium**.

## 2. Trades per day

On top of your monthly requests, each workflow has a **max trades per day** limit.
This one is about pacing your account, not cost.

- It counts **new trades opened**. A run that opens no trade does not use a slot,
  and changing a trade you already have does not either.
- When it hits the limit, the workflow **pauses** until the next trading day.
- **Running it by hand does not count.** The limit is only for automatic runs.
- Each copy has its own limit. Your copy runs on its own count, not the author's.

## Putting it together

![A summary: a paid tool call is one request, opening a trade is one request plus one of your daily trades, changing a live trade is one more request, and free tools or a run that does nothing are always free](/atlas/docs/billing-summary.svg)

So an alert driven trading workflow that opens a trade uses **one request** and
**one of your daily trades**. If Atlas later moves the take profit on that same
trade, that is **one more request** (but not another daily trade). A run that
looks and decides to do nothing uses **neither**.

Manage your plan from the [Profile tab](#dashboard-profile).

---

<!-- ==== Connect Atlas ==== -->

# Add Atlas to your AI

Atlas plugs into your AI. Any chat app that can add a tool server can use Atlas
and get the full toolset: live market data, options, charts, your broker, orders,
triggers, workflows, tasks, and strategies.

## The one link you need

```text
https://atlasmcp.finmanagerai.com/mcp
```

Point any chat app at that link, sign in once (Email, Google, or Discord), and
every Atlas tool is ready.

:::note
Add the connector on the **web** first ([chatgpt.com](https://chatgpt.com) or
[claude.ai](https://claude.ai)). Once it is added on the web, it also works in the
phone and desktop apps.
:::

## What you can do once it is on

- Ask for live quotes, company numbers, earnings, and who owns a stock.
- Make price charts, gamma heatmaps, and exposure charts.
- Link a broker, check orders, and manage triggers.
- Build **workflows** and **tasks** so Atlas can trade or analyze on a schedule or on an alert.
- Save and reuse **strategies** (your trading playbooks).

Pick your app below.

---

# Add Atlas to ChatGPT

![ChatGPT](/images/Chatgpt_Logo-Picsart-BackgroundRemover.jpg)

Add Atlas to ChatGPT. It takes about 2 minutes.

### Step 1. Open Settings

Click your profile picture in the bottom left of ChatGPT, then click **Settings**.

![Open Settings](/tutorial-files/Chatgpt-Demo-1.jpg)

### Step 2. Go to Apps

In Settings, click **Apps** on the left to manage your apps.

![Go to Apps](/tutorial-files/Chatgpt-Demo-2.jpg)

### Step 3. Turn on Developer mode

Turn on **Developer mode** and click **Create app**.

![Turn on Developer mode](/tutorial-files/Chatgpt-Demo-3.jpg)

### Step 4. Fill in Atlas

Type these in, check the box, and click **Create**:

- **Name**: Atlas
- **Description**: Stocks and Options
- **Server link**: `https://atlasmcp.finmanagerai.com/mcp`
- **Sign in**: OAuth

![Fill in Atlas](/tutorial-files/Chatgpt-Demo-4.jpg)

### Step 5. Sign in to Atlas

It sends you to the Atlas sign in page. Sign in with **Email**, **Google**, or **Discord**.

![Sign in to Atlas](/tutorial-files/atlas-login-demo-1.jpg)

### Step 6. Say yes

Click **Connect to Atlas**, agree, and click **Authorize**.

![Say yes](/tutorial-files/atlas-login-demo-2.jpg)

### Step 7. Check it worked

You should see the Atlas app in the list.

![Check it worked](/tutorial-files/Chatgpt-Demo-5.jpg)

### Step 8. Use Atlas in chat

In any chat, type **@** and pick **Atlas**.

![Use Atlas in chat](/tutorial-files/Chatgpt-Demo-6.jpg)

### Step 9. Ask away

Ask Atlas anything: live quotes, company numbers, options flow, and more.

![Ask away](/tutorial-files/Chatgpt-Demo-7.jpg)

---

# Add Atlas to Claude

![Claude](/images/Claude_Logo-Picsart-BackgroundRemover.jpg)

Add Atlas to Claude. It takes about 2 minutes.

### Step 1. Open Settings

Click your profile picture in the bottom left of Claude, then click **Settings**.

![Open Settings](/tutorial-files/Claude-Demo-1.jpg)

### Step 2. Go to Connectors

In Settings, click **Connectors** on the left.

![Go to Connectors](/tutorial-files/Claude-Demo-2.jpg)

### Step 3. Add a connector

At the bottom, click **Add custom connector**.

![Add a connector](/tutorial-files/Claude-Demo-3.jpg)

### Step 4. Fill in Atlas

Type these in and click **Add**:

- **Name**: Atlas
- **Link**: `https://atlasmcp.finmanagerai.com/mcp`

![Fill in Atlas](/tutorial-files/Claude-Demo-4.jpg)

### Step 5. Sign in to Atlas

It sends you to the Atlas sign in page. Sign in with **Email**, **Google**, or **Discord**.

![Sign in to Atlas](/tutorial-files/atlas-login-demo-1.jpg)

### Step 6. Say yes

Click **Connect to Atlas**, agree, and click **Authorize**.

![Say yes](/tutorial-files/atlas-login-demo-2.jpg)

### Step 7. Connect

Atlas shows up as a connector. Click **Connect**.

![Connect](/tutorial-files/Claude-Demo-5.jpg)

### Step 8. Check it worked

When it is on, you see **Configure** instead of Connect.

![Check it worked](/tutorial-files/Claude-Demo-6.jpg)

### Step 9. Set what it can do

Click **Configure** to look at the Atlas tools and set what they can do.

![Set what it can do](/tutorial-files/Claude-Demo-7.jpg)

### Step 10. Turn it on in chat

In a new chat, click the **+** button, go to **Connectors**, and turn **Atlas** on.

![Turn it on in chat](/tutorial-files/Claude-Demo-8.jpg)

### Step 11. Ask away

Ask Claude anything with Atlas on: quotes, company numbers, charts, options, and live market data.

![Ask away](/tutorial-files/Claude-Demo-9.jpg)

---

# Use Atlas in Discord

![Discord](/images/Discord_logo-Picsart-BackgroundRemover.jpg)

Add the Atlas bot to your Discord server and tag it to get quick market help.

### Step 1. Add the Atlas bot

Use the [Add Atlas Bot to your server](https://discord.com/oauth2/authorize?client_id=1434681790974398466&permissions=826781329408&integration_type=0&scope=bot) link, or [join the Atlas Discord](https://discord.gg/xcnsbPd8rz) to try it in a shared server.

### Step 2. Tag the bot

Once the Atlas bot is in your server, type **@Atlas Bot** and then your question.

![Tag the bot](/tutorial-files/Discord-Demo-1.jpg)

### Step 3. Ask for help

The Atlas bot is a market helper. Ask for quotes, company numbers, market data, options flow, and clear takes.

![Ask for help](/tutorial-files/Discord-Demo-2.jpg)

### Step 4. Get charts

Atlas can make charts, pull company numbers, look at options, and answer follow up questions right in Discord.

![Get charts](/tutorial-files/Discord-Demo-3.jpg)

---

# Cursor and other apps

Any app that can add a tool server can use Atlas. Point it at the Atlas link and
sign in.

## Cursor

Add Atlas to your `~/.cursor/mcp.json` (or the project `.cursor/mcp.json`):

```json
{
  "mcpServers": {
    "atlas": {
      "url": "https://atlasmcp.finmanagerai.com/mcp"
    }
  }
}
```

Cursor opens the sign in the first time you use Atlas. Say yes and the Atlas tools
show up.

## Any other app

Most apps take a server as a `{ "url": "..." }` entry with sign in. Use:

- **Type**: HTTP (streamable) or SSE
- **Link**: `https://atlasmcp.finmanagerai.com/mcp`
- **Sign in**: OAuth (the app opens a window for you to sign in)

## Want to use a key instead?

If your app cannot do the sign in, you can use the [Web API](#api-overview) or the
[command line](#cli-overview) with a key. See [Sign in and keys](#authentication)
for where to find your key.

---

<!-- ==== Core ideas ==== -->

# Core ideas

Atlas is more than a data helper. It can watch the market and act for you. Five
parts work together.

| Part | In one line |
| --- | --- |
| [Workflow](#concept-workflows) | A helper that runs again and again. It looks at the market, decides, and can trade. |
| [Task](#concept-tasks) | A workflow that runs one time and then it is done. |
| [Strategy](#concept-strategies) | Your saved trading rules that you and your AI can reuse. |
| [Alert](#concept-alerts) | A market watcher. It can message you and start a workflow. |
| [Trigger](#concept-triggers) | One "if this, then buy or sell" order. The smallest trading piece. |

## How they fit together

![How a strategy, an alert, a workflow, a trigger, and your broker fit together](/atlas/docs/flow-concepts.svg)

- An **alert** or a **schedule** decides *when* a workflow runs.
- The **workflow** (or **task**) is the *brain*. It reads live data with the
  tools you picked, follows your rules (and any **strategy** you point it at), and
  makes a choice.
- If the choice is to trade, the workflow places one or more **triggers** and the
  order goes to your broker.

You can use each part on its own, like an alert that just messages you, or wire
them together into a hands off setup.

## The three jobs a workflow can do

Every workflow (and task) runs in one of three modes:

- **Trading** places real orders with your broker when it decides to act.
- **Draft** sends you the exact order to place by hand. It never trades on its own.
- **Analysis** only thinks and reports. It never trades.

---

# Workflows

A **workflow** is a helper that runs again and again. On each run, Atlas:

1. **Looks.** It calls the market tools you picked (quotes, the options chain,
   gamma, flow, charts, and more).
2. **Decides.** It reads that data, follows your written rules, and makes a choice.
3. **Acts.** If the choice is to trade, it places the order with your broker (or
   sends you the plan, in Draft mode).

## What starts a run

A workflow runs from one of two things:

- A **schedule**, like every weekday at 9:45 in the morning.
- An **alert** you attach. The workflow runs when the alert goes off.

You can also press **Run now** anytime in the dashboard.

## How it exits a trade

You set the exit: how much to risk (stop loss) and where to take profit. Atlas
also has a **scale out ladder**, where you sell in stages at more than one
target, each with its own trailing stop. See
[Exits and the scale out ladder](#workflow-exits).

## Sharing and copies

Workflows can be **shared**. When you import someone's workflow (or your own
template), you get a **linked copy**:

- The copy follows the author's setup. When the author makes it better, your copy
  updates too (if you keep auto updates on), or it shows a
  **"behind, apply updates"** note.
- Some settings are **yours** and the author never changes them: the name, the
  size, the stop loss and take profit, the broker, the alert, who can see it, the
  daily limit, and your message settings.
- Change something deeper, like the rules, the tools, or the core exit, and your
  copy becomes your own separate workflow.

## Its life

![Make it, then on, then off if it hits the daily limit, then turn it back on, then removed](/atlas/docs/workflow-lifecycle.svg)

- **On** workflows run on their schedule or alert. **Off** ones do not.
- Hitting your **daily trade limit** pauses it until the next trading day.
- If you pause a shared workflow you made, everyone's copies pause too. Turning it
  back on brings them back.

Manage them in the [Workflows tab](#dashboard-workflows).

---

# Tasks

A **task** is a workflow that runs **one time**. It uses the same builder (tools,
rules, exit, broker, messages), but instead of running forever, it runs when:

- one of its **set times** comes up, each time runs once, or
- an **alert** goes off, it runs once on the first match.

When a task has used up its runs, it moves to **Previous** (done). Runs that are
still ahead sit under **Up next**.

## Workflow vs task

| | Workflow | Task |
| --- | --- | --- |
| Runs again? | Yes, on every schedule or alert | No, each time runs once |
| Shows under | Workflows | Up next, then Previous |
| Can be shared | Yes | No, it is just yours |
| Has a performance page | Yes | No, it is a one off |
| Daily trade limit | Yes | Not needed |

Everything else is the same. Think of a task as *"do this once (or a few set
times), then stop."*

## A task waits for its trade to finish

"Runs once" means it *arms* once — not that it stops caring the moment it fires.

If a task opens a trade that takes profit in stages, the trade is not over when
the entry fills: there are still targets to hit and a stop to watch. So the task
stays **Up next** until that position actually closes, however long it takes. A
trade held over several days keeps its task open for several days.

Once nothing is left open, the task moves to **Previous** on its own. There is no
time limit on this, deliberately — a task going Previous while its position was
still live would mean nothing was minding the exit.

Make and manage tasks in the [Tasks tab](#dashboard-tasks).

---

# What an alert can watch

Every alert is one of a handful of kinds. Pick the one that matches the thing
you actually want to be told about.

## Price

- **Price** — a level crossed, or a move of a certain size.
- **Level approach** — the price coming *near* a level rather than through it,
  so you hear about it before it happens.
- **Contract price** — the premium of one specific option, rather than the stock.

## Dealer exposure

- **Greek exposure move (the king node)** — the strike carrying the most dealer
  exposure moving to a *different* strike. This is the wall shifting, and it is
  the one most people mean. It fires on **any** move, in either direction,
  against the last reading.

  It is not the same as exposure crossing zero, which is a far rarer event. If
  you set this up expecting "the wall moved" you have the right one.

## Volume and flow

- **Volume spike** — unusual volume on a contract.
- **Volume shift** — where the volume is concentrated changing.
- **Options flow** — large or unusual trades coming through.
- **Flow rank** / **top flow** — a symbol entering or moving within the day's
  most-active list.

## Technicals

- **Technicals** — indicator conditions on the chart.

## Two settings worth knowing

**Fire once when the window opens.** Most of these watch for a *change*, which
means on a quiet morning they may not fire at all — and a workflow waiting on
one never runs. Turning this on fires the alert once at the start of its window
each day even with nothing changed, so a bound workflow gets that first look.

**A narrower window.** Alerts run through the session by default. Narrowing the
window is how you say "only in the first hour", and it also stops a busy signal
from firing all afternoon.

Set alerts up in the [Alerts tab](#dashboard-alerts).

---

# Folders

A **folder** groups your workflows so a long list stays readable. That is all it
does.

It is worth being explicit about what a folder does **not** do, because the name
suggests more than it is:

- It does not change how anything runs — no schedules, no alerts, no limits.
- It does not travel. Filing your copy of someone's workflow does not file
  theirs, and an author filing theirs does not touch yours. Everyone files their
  own.
- It does not group *other people's* things. A folder holds your own rows.

## Pausing or deleting a whole folder

The Pause and Delete buttons on a folder simply do the same thing to each
workflow in it, one by one — exactly as if you had opened each one. So pausing a
folder of shared workflows pauses their followers' copies too, for the same
reason it would have if you paused them individually. The folder adds no new
behaviour of its own.

## Sharing a folder

A folder can be made public, which puts it in Discover as a set. Only the
workflows inside it that are *themselves* public are shown — making the folder
public does not publish its contents.

Someone importing from a public folder takes a copy of each workflow one at a
time, the same as importing them individually. The folder itself is not shared
or linked; they end up with the workflows, not with your folder.

Folders live in the [Workflows tab](#dashboard-workflows).

---

# Strategies

A **strategy** is your saved trading **playbook**: the plan and rules you want
Atlas to follow. You write it once and reuse it:

- Point to it in [chat](#dashboard-chat), like *"use my wheel strategy on MSFT."*
- Point a workflow at it so its choices follow your rules.
- Share it, or import someone else's.

## What is in it

- **Title**, a short name.
- **Content**, your rules in your own words, split into sections.
- **Who can see it**, just you or shared.

A **strategy** is know how, what you believe and how you like to trade. A
**workflow** is action, it runs on a schedule. A workflow can read a strategy, but
a strategy on its own never trades.

Manage strategies in the [Strategies tab](#dashboard-strategies).

---

# Alerts

An **alert** watches the market and goes off when your condition is met. On its
own it messages you on Discord. Attached to a workflow or task, it decides *when*
that helper runs.

## What alerts can watch

- **Price**, like crossing a level or a big percent move.
- **Gamma and exposure**, like the king node — the strike with the most dealer exposure — moving to a new price.
- **Options flow**, like unusual volume and big trades.

## When they run

- Alerts check the market during market hours (about 9:30 to 4:30 in the
  afternoon, Eastern time). You can make that window smaller.
- A **max runs per day** setting limits how many times it can drive a trade, so a
  busy signal cannot over trade your account.

## Alerts and shared workflows

If you use someone's shared workflow, your copy uses the **author's** alert by
default, so you trade on the same signal they do. You can also point your copy at
**your own** alert without leaving. Your alert then messages you on your own
window, while the copy keeps trading on the author's signal.

Manage alerts in the [Alerts tab](#dashboard-alerts).

---

# Triggers

A **trigger** is the smallest trading piece: one "if this, then buy or sell"
order. Like *"buy 1 SPY at the market if the price drops to 550."* When the
condition is met, Atlas places the order with your broker and then handles the
exit (stop loss and take profit) you set.

## What can start a trigger

- **Price**, the classic "if the price hits X" order.
- **A time**, fire at a set time.
- **An alert**, fire when an alert goes off.
- **Both**, keep watching the price and also let a time or alert fire it.

## Check first, then place

Trading tools always let you **check first, then place**. One tool shows you
exactly what will be set up. Another one places it. The same goes for one off
orders.

A **trigger** is a fixed rule you set up front. A **workflow** is an AI that
*decides* what to place on each run. When a workflow decides to trade, it makes
triggers. So triggers are the layer under the automation.

Manage single triggers in the [Triggers tab](#dashboard-triggers).

---

# Taking profit in stages

A trade does not have to be all-or-nothing on the way out. A **scale-out
ladder** sells part of the position at each of several targets — so you bank
something early and still leave a runner on.

## What each rung has

- **A target** — either a percentage from what you paid for the contract, or a
  dollar price on the stock. Every rung in one ladder uses the same one; you
  cannot mix them.
- **An amount** — a number of contracts, a percentage of the original position,
  or *the rest*.
- **A trailing stop** (optional) — where your stop-loss moves to once the
  *previous* rung fills. So it protects the run into the next target. Your
  general stop-loss covers the trade up to the first one.
- **A price to sell at** (optional) — the contract price that rung's sell is
  submitted at. Leave it blank and that rung sells at whatever the market is
  paying when the target hits.

## The amounts have to add up

The rungs must close exactly what you opened. End with *the rest*, or make the
fixed amounts add up to your position. Atlas refuses a ladder that would leave
part of the position with nothing to close it — "8 contracts in, 6 + 1 out" is a
mistake, not a setting.

## A price you set is a price we send

If you put a price on a rung, that is what goes to your broker. Nothing moves it
to follow the market. If the contract never reaches it, that rung simply does
not sell and keeps waiting.

That is safe by design, not by accident: **your stop-loss is always a market
order**, so the position stays protected however the take-profits are priced. A
waiting rung is also cleared by a close time if you set one, or by Atlas itself
if you have it reviewing the ladder.

## Letting Atlas manage the ladder

Turn on the review and Atlas reconsiders the remaining targets each time a rung
fills — it can move them, tighten the stop, or close the rest early if the
reason for the trade has gone. It sees what it decided last time, so its
thinking carries across the trade rather than restarting at each rung.

If you follow someone else's workflow, **their** review runs and its decision
reaches you at the same moment — you trade your own amounts on their targets.

---

# Working on a workflow together

Most workflows are one person's. Some are not: you might build one with someone
whose read on the market you trust, or share one you wrote and keep improving it
with the people running it.

## Suggesting a change instead of saving one

Anyone you invite onto a workflow can **suggest a change**. They edit it the way
they normally would — the instruction, the tools, the days it runs, the trade —
but instead of Save they choose **Request change**. Nothing happens to their own
copy: it keeps running exactly as it was.

You see the suggestion as a plain before-and-after of what they changed, with
their note explaining why. You can take the whole thing, take one part of it, or
turn it down. **Only a person can decide that.** An AI assistant can read a
suggestion, discuss it, and write one for you — it can never take one or turn
one down on your behalf.

Whoever suggested a change can also take it back while it is still waiting.

## Everyone can talk, not everyone can suggest

Anyone **running a copy** of a workflow can comment on a suggestion. They are the
people the change will actually reach, and "I'm already in a trade on this" is
exactly what the author should hear first. Suggesting a change is limited to the
people invited onto it.

## The changelog

Every real change to a workflow lands in the same place, whether it came from a
suggestion or from the author just saving. Saving asks what changed — optional,
but it is what makes the history readable later.

The list shows three things: changes **waiting**, changes that were **taken**,
and changes that were **turned down**. A change that was taken shows exactly
which parts of it were taken, since you can accept some and not others.

What is *not* recorded: your own settings. Your contract size, broker, alert,
daily limit and notification choices are yours on your own copy, so changing one
is nobody else's history.

## Whose workflow is it?

If you took a copy of someone else's workflow, one checkbox decides this:
**taking their updates**.

- **On** — you are running their strategy. They are the author, you see everyone
  working on it, and you can suggest changes to them.
- **Off** — you have taken it in your own direction. It is your workflow now,
  you are the author, and the people working on it are yours.

You can change your mind either way. Turning it back on puts you back in their
room with everyone visible again.

Invite people from the **Collab** section of the workflow.

---

<!-- ==== Using the dashboard ==== -->

# Using the dashboard

The [dashboard](/atlas/dashboard) is where you build and manage everything by
hand. Tabs on the left switch between areas. The main panel shows the tab you
picked.

## The tabs

| Tab | What it is for |
| --- | --- |
| [Chat](#dashboard-chat) | Talk to Atlas in plain words. It uses your tools and shows live charts. |
| [Workflows](#dashboard-workflows) | Build and run helpers that repeat. |
| [Tasks](#dashboard-tasks) | One time helpers (Up next and Previous). |
| [Strategies](#dashboard-strategies) | Your trading playbooks. |
| [Alerts](#dashboard-alerts) | Market watchers that message you and start workflows. |
| [Triggers](#dashboard-triggers) | Single "if this, then trade" orders. |
| [Performance](#dashboard-performance) | Profit and loss for your trading workflows. |
| [Templates](#dashboard-templates) | Ready made setups you can import. |
| [Profile](#dashboard-profile) | Plan, broker, Discord, look, and your key. |

## When it updates

To stay fast, the dashboard loads fresh info at two moments: **once when the
market opens (9:30 in the morning, Eastern)** and whenever you click **Refresh**.
There is no constant polling. So if you are looking at a card and expect it to
change, click Refresh.

---

# Workflows tab

The Workflows tab shows your helpers as cards. This is where you make and manage
them.

![The workflows list with status tags, a daily limit bar, and buttons on each card](/atlas/docs/workflows-list.png)

## Reading a card

Each card shows:

- The **name** and whether it is **On** (running) or **Off** (paused).
- What starts it: a schedule (*"Runs on Mon at 9:40 in the morning"*) or an alert (*"On alert: SPY king node"*).
- A **daily limit bar** (*"Runs today 0/3"*) when a daily trade limit is set. It turns orange at the limit.
- A **Subscribed** tag if it is a copy of someone else's workflow.

## Buttons on a card

| Button | What it does |
| --- | --- |
| **Run now** | Runs it right away. Running by hand does not count against the daily limit. |
| **Pause / Activate** | Stops or starts automatic runs. Turning it on resets today's count. |
| **Performance** | See the [profit and loss](#dashboard-performance). |
| **Delete** | Removes the workflow. |
| **Discover & Import** | Browse shared or ready made workflows and add a copy. |
| **New workflow** | Opens the [workflow form](#workflow-create). |

Open a card to see its history, why it made each choice, and a picture of its flow.

---

# Make or edit a workflow

Click **New workflow** (or open a card) to open the form. It has six steps across
the top: **Basics, Schedule, Tools, Reasoning, Trades, Notify**. The same form is
used to make and to edit. You can save from any step.

## Basics: name, job, broker

![The Basics step of the workflow form](/atlas/docs/workflow-basics.png)

| Field | What it does |
| --- | --- |
| **Workflow name** | A short name for the card and history. |
| **What should this workflow do?** | **Trading** (places real orders), **Draft** (sends you the order to place by hand), **Analysis** (only thinks), or **Create tasks** (sets up one time tasks instead of trading). |
| **Start paused or active?** | On workflows run on their own on their schedule or alert. |
| **Sharing** | **Private** (only you) or **Public** (others can find and import it). |
| **Which broker should it trade in?** | The linked account orders go to (Trading mode). |

## Schedule: when it runs

![The Schedule step: when to run, timezone, and daily limit](/atlas/docs/workflow-schedule.png)

Pick how it starts: a **Schedule** (a set time), an **Alert** (when a market alert
goes off), or **Both**. Then set the time or alert, the timezone, and a **Max runs
per day**. Hitting the limit **pauses** it until the next trading day. Running it
by hand is always allowed.

:::note
On a copy, the timing comes from the author. You can still add **your own** alert.
It messages you on your own window without changing the copy.
:::

## Tools: what Atlas looks at

![The Tools step: pick the market data tools Atlas can use](/atlas/docs/workflow-tools.png)

Pick the market data tools Atlas can use on each run: quotes, the options chain,
gamma, flow, charts, company numbers, and more. The workflow only **looks** with
these. It does not trade from this list (you set trading in the Trades step).

## Reasoning: your rules

![The Reasoning step: your rules, a strategy, and how hard it thinks](/atlas/docs/workflow-reasoning.png)

Write the **rules**, the plan in your own words that Atlas follows every run. You
can also point it at a [strategy](#dashboard-strategies) and set how hard it
thinks.

## Trades: what it trades

![The Trades step: the trade card, contract details, entry and exit](/atlas/docs/workflow-trades.png)

One card per stock Atlas might trade. Lock in what you want fixed and let Atlas
pick the rest (each field is set to **AI** by default. Tap to set a fixed value):

| Group | Fields |
| --- | --- |
| **What to trade** | Stock symbol, **Options** or **Stock**. |
| **Contract** | Call or put, strike, expiry, number of contracts. Each can be AI or fixed. |
| **Entry** | One buy or several, order type, price to enter. |
| **Exit** | How to exit, stop loss, and a single take profit or a [scale out ladder](#workflow-exits). |

:::tip
On a **copy**, the size and the stop loss and take profit are **yours**. You can
change them and stay linked. Change the rules, the tools, or the core exit and the
copy becomes your own.
:::

## Notify: how it tells you

![The Notify step: Discord message settings](/atlas/docs/workflow-notify.png)

Turn on a **Discord message after every run** and pick how it reads. Order
messages show the entry and exit prices, why it exited (stopped out, take profit,
AI exit, or time), and the profit or loss.

---

# Exits and the scale out ladder

In the **Trades** step, set **Exit type** to **Scale out (multiple targets)** to
sell in stages instead of all at once.

![The scale out ladder with three take profit levels, trailing stops, and the loop switch](/atlas/docs/workflow-exits.png)

## How a ladder works

Each level has a **target**, an **amount to sell**, and an optional **trailing
stop** that turns on after the level before it fills.

| Setting | Choices | Notes |
| --- | --- | --- |
| **Target as** | **Percent** or **Price** | Set it on the first level. Every later level uses the same one. |
| **Target** | a number, or **AI** | AI lets Atlas pick the level while it runs (loop workflows). |
| **Amount to sell** | a number, a percent, or **remaining** | The last level should sell **remaining**, so nothing is left over. |
| **Move stop to** | a level, breakeven, or **keep** | The trailing stop that guards the run into the next target. |
| **Loop** | on or off | With loop on, Atlas checks again after each fill and can move later targets or exit early. You get a message when it changes something. |

## Rules the form checks for you

- **One target type.** Every level is all percent or all price. You cannot mix.
- **Cover it all.** The amounts must add up to the whole entry. A **remaining**
  amount always covers the rest. Fixed amounts must add up to the size, and
  percents must add up to 100.
- **Fast moves.** If the price jumps past a few targets at once, they all fill
  together, so you do not miss one.

:::tip
Each time the loop **actually changes** your trade (moves a target or closes the
rest early), it uses **one request**, the same as opening a trade. A check that
leaves the trade alone is free. See [Plans and how you get charged](#plans-and-billing).
:::

---

# Tasks tab

A **task** is a one time helper. The Tasks tab splits them into **Up next** (still
to run) and **Previous** (done).

![The Tasks tab with Up next and Previous](/atlas/docs/tasks.png)

## The task form

Making a task uses the same steps as a workflow (Basics, Tools, Reasoning, Trades,
Notify). The only change is in **Schedule**: instead of a repeating time, you give
it **times that each run once**, or an **alert** that runs it once.

![The task form set to run at set times](/atlas/docs/task-form.png)

Add one or more times. Each runs once, then the task is done and moves to
**Previous**. Use **Run again** to copy a finished task. Tasks have no performance
page since they run one time.

---

# Strategies tab

A **strategy** is your saved trading playbook. The Strategies tab lists yours and
lets you make, edit, import, and share them.

![The strategy editor with a title, who can see it, and the content in sections](/atlas/docs/strategy.png)

## What is in it

| Field | What it does |
| --- | --- |
| **Title** | A short name for the playbook. |
| **Who can see it** | **Private** (only you) or **Shared** (others can import it). |
| **Content** | Your rules in your own words, split into sections. |

Point to a strategy in [Chat](#dashboard-chat) (*"use my wheel strategy on MSFT"*)
or point a workflow's [Reasoning](#workflow-create) at it so its choices follow
your rules. **Discover** shows shared strategies you can import.

---

# Alerts tab

An **alert** watches the market and goes off when your condition is met. On its
own it messages you. Attached to a workflow or trigger, it decides *when* that
helper runs.

![The alerts list with buttons on each alert](/atlas/docs/alerts-list.png)

## Making an alert

Click **New alert** to open the builder. It walks you through: **what kind of
alert**, **which stock**, **what to match**, **filters**, an optional **time
window**, and **what happens when it goes off**.

![The alert builder: kind, stock, what to match, filters, and window](/atlas/docs/alert.png)

## Kinds of alert

| Kind | Watches for |
| --- | --- |
| **Price level cross** | The stock crossing a price you set. |
| **Contract price cross** | One option's price crossing a level. |
| **Greek exposure move** | The strike with the most dealer exposure — the "wall" — moving to a new price. |
| **Spot near a key level** / **Price near greeks** | The price getting close to a key level. |
| **Options flow** | Unusual trades on a stock (you set the size). |
| **Top 20 flow** / **New top flow** | Unusual trades across the whole market. |
| **Volume spike** / **Top volume contract rotation** | A jump in volume, or the most active contract changing. |
| **Technicals** | Indicator conditions. |
| **My trigger acts** | Goes off when one of your triggers acts. |

## Common fields

- **Stock**, the symbol to watch (not needed for whole market flow alerts).
- **What happens when it goes off**: **Message me**, **Run a workflow**, or **Run a trigger**.
- **Active from / Stops watching at**, makes the watch window smaller.
- **Max runs per day**, limits how many times it can drive a trade.

---

# Triggers tab

A **trigger** is one "if this, then trade" order. The Triggers tab lists your set
up triggers. **New trigger** opens the builder, split into **Broker**, **Action**,
and **Trade** steps.

![The Trade step of the trigger builder: what to trade, contract, entry, and exit](/atlas/docs/trigger.png)

| Step | Fields |
| --- | --- |
| **Broker** | The linked account the order goes to. |
| **Action** | What starts it: **Price** (a level), **Schedule** (a time), **Alert**, or **Both**. |
| **Trade** | Stock symbol, **Options** or **Stock**, the **Contract** (call or put, strike, expiry, contracts), the **Entry** (order type, price), and the **Exit** (stop loss, take profit, order type). |

Trading always lets you **check first, then place**: the **Preview** tab shows
exactly what will be set up, and **Create trigger** places it.

---

# Templates

The Templates tab is a shelf of ready made setups you can add in a couple of
clicks. Filter by **Stocks**, **Options**, or **Both**. Each card is marked by
kind: **Workflow**, **Task**, **Alert**, **Strategy**, or **Trigger**.

![The templates shelf with cards you can filter and import](/atlas/docs/templates.png)

- **Read more** shows a template's tools, rules, and exit before you add it.
- Importing a **workflow** makes a **copy** in your Workflows tab. Link your broker
  and set your size, then turn it on.
- Templates cover the whole toolkit: repeating **workflows**, one time **tasks**,
  **alerts** that message you, reusable **strategies**, and **triggers** that set
  up an order.

See [Workflows](#concept-workflows) for how copies and forks work.

---

# Performance

Open **Performance** on any trading workflow to see how it has done.

![The performance view: total profit, a line chart, and a table of trades](/atlas/docs/performance.png)

- **Top numbers**: total profit or loss, win rate, and number of round trips.
- **Table or calendar**: one row per close with the date, stock, side, amount, entry, exit, and profit or loss.
- **Sync broker**: matches the rows to your broker in one go.

Each workflow shows **its own** money at **your** size, so a copy shows its own
results, not the author's. Every close makes a row. If a number is not ready yet
(a gap in prices or a manual close), it shows a dash instead of a blank.

---

# Atlas Chat

The Chat tab is a full chat. Ask Atlas anything and it uses your tools, shows its
thinking, and draws live charts and order previews right in the chat.

![The Chat tab with the box to type in](/atlas/docs/chat.png)

- **Type box**, ask a question and Atlas picks the tools it needs.
- **Tool folds**, each tool it uses shows as a fold you can open to see what went in and out.
- **Charts**, charts and trading views draw right in the chat.
- **Ask first**, in ask mode Atlas waits for your OK before each tool. Switch to skip in [Profile](#dashboard-profile) to let it run tools without asking.

Your chats and the ask or skip setting live in the [Profile](#dashboard-profile) tab.

---

# Profile

The Profile tab holds your account settings and, most important, your key.

![The Profile tab: plan, broker, look, and your key](/atlas/docs/profile.png)

| Section | What is there |
| --- | --- |
| **Plan** | Your plan, how much you have used, and when it renews. See [Plans and how you get charged](#plans-and-billing). |
| **Broker** | Link and manage your broker for trading. |
| **Discord** | Link Discord to get workflow and trade messages. |
| **Look** | Light or dark mode. |
| **Chats** | Your saved [chats](#dashboard-chat) and the ask or skip setting. |
| **Key** | Copy or make a new key for the [Web API](#authentication) and [command line](#cli-overview). |

:::warning
Your key can place real orders with a linked broker. Keep it secret, and make a
new one here if it ever leaks.
:::

---

<!-- ==== MCP (chat apps) ==== -->

# Atlas in your chat app (MCP)

Atlas plugs into chat apps like ChatGPT, Claude, and Cursor. You do not install
anything. You add one link, sign in once, and your assistant can use every Atlas
tool.

## The link

```text
https://atlasmcp.finmanagerai.com/mcp
```

You sign in with Email, Google, or Discord.

## Three ways to use the same tools

There is one set of tools behind three doors. Pick whichever fits you.

| Way | How you call a tool | Sign in with |
| --- | --- | --- |
| Chat app (MCP) | The assistant uses the tool by name, like `Stock-Quote` | Sign in link |
| Web API | `POST /api/v1/tools/get_stock_quote` | Your key |
| CLI | `atlas stock-quote --symbol AAPL` | Your key |

The name the assistant uses and the name in the API and CLI point to the same
thing. So anything you learn in the [Web API](#api-overview) works here too.

## Set it up

See [Connect Atlas](#connect-overview) for step by step help with
[ChatGPT](#connect-chatgpt), [Claude](#connect-claude),
[Discord](#connect-discord), and [Cursor and others](#connect-other).

---

# All tools in your chat app

Once Atlas is connected, ask your assistant to use any of these. The name on the
left is what the assistant calls the tool.

## Stocks

| Ask for | Plan | What it does |
| --- | --- | --- |
| `Multi-Timeframe-Price-Overview` | Free | Daily / weekly / monthly snapshot in one image. |
| `Price-Data-OHLCV` | Free | Historical OHLCV bars. |
| `Price-Chart` | Free | Candlestick price chart with overlays. |
| `Stock-Quote` | Free | Latest quote for a symbol. |

## Options

| Ask for | Plan | What it does |
| --- | --- | --- |
| `Option-Expiration-Dates` | Premium | Available expirations for a symbol. |
| `Options-Chain` | Premium | Full options chain for an expiration. |
| `Single-Option-Quote` | Premium | Bid/ask/IV/greeks for one contract. |
| `Historical-Contract-Greeks` | Premium | Day-by-day price history and greeks for ONE option contract, bid/ask/mid, the underlying's price, days to expiry, IV, delta, gamma, theta, vanna. Up to 90 trading days per call. |

## Greek Exposure

| Ask for | Plan | What it does |
| --- | --- | --- |
| `Greek-Exposure-Multi-Expiration` | Premium | Net Gamma / Delta / Vanna / Theta exposure DATA grid across MULTIPLE expirations for one symbol, OI-weighted per-strike numbers (no chart). Sibling of Greek-Exposure-Single-Expiration (same data, one date) and Greek-Exposure-Heatmap (same numbers rendered as PNG). |
| `Greek-Exposure-Single-Expiration` | Premium | Greek exposures for ONE expiration date only, guaranteed single-chain fetch. Use when the caller knows the date (0DTE, weekly, monthly OPEX, dated event). |
| `Greek-Exposure-Heatmap` | Premium | Heatmaps for one or more greeks in a single call. Pass greeks=["gamma","delta","vanna","theta"] (any subset). Returns one PNG per requested greek. |
| `Net-Exposure-Charts` | Premium | Net exposure bar charts for one or more greeks. metrics=["net_gex","net_dex","net_vex","net_tex"]. Returns one PNG per metric. |

## Options Flow

| Ask for | Plan | What it does |
| --- | --- | --- |
| `Top-Volume-and-OI-Contracts` | Premium | Top contracts by volume / OI as data. |
| `Volume-and-OI-Charts` | Premium | Top-volume and/or open-interest charts. types=["vol","oi","vol_oi"]. Returns one PNG per requested type. |
| `Options-Flow` | Premium | Stored option-trade tape filtered by side / type / premium / size / time window. Omit symbol for the top-N cross-universe ranking. |
| `Options-Flow-Contract` | Premium | Per-hour premium histogram for ONE contract (open / close stack). Reads strictly from the flow archive cache, never pulls fresh chain. |

## Charts

| Ask for | Plan | What it does |
| --- | --- | --- |
| `Chart-Vision-Analysis` | Premium | AI vision analysis of a chart image. |
| `Multi-Chart-View` | Free / Premium | Multi-timeframe charts side-by-side. |

## Fundamentals

| Ask for | Plan | What it does |
| --- | --- | --- |
| `Balance-Sheet` | Free | Latest balance sheet. |
| `Financial-Metrics` | Free | Headline valuation + profitability metrics. |
| `Income-Statement` | Free | Latest income statement. |

## Estimates

| Ask for | Plan | What it does |
| --- | --- | --- |
| `Analyst-Price-Targets` | Free | Consensus price targets. |
| `EPS-Estimates` | Free | Consensus EPS estimates. |
| `EPS-Trend` | Free | EPS estimate trend. |
| `Growth-Estimates` | Free | Growth estimates summary. |
| `Revenue-Estimates` | Free | Consensus revenue estimates. |

## Calendar

| Ask for | Plan | What it does |
| --- | --- | --- |
| `Earnings-Calendar` | Free | Upcoming earnings releases. |
| `Earnings-Dates` | Free | Earnings dates for a symbol. |
| `IPO-Calendar` | Free | Upcoming IPOs. |

## Ownership

| Ask for | Plan | What it does |
| --- | --- | --- |
| `Insider-Transactions` | Free | Recent insider buys / sells. |
| `Institutional-Holders` | Free | Top institutional holders. |
| `SEC-Filings` | Free | Recent SEC filings. |
| `Senate-Lobbying-Data` | Free | Congressional trading / lobbying activity. |

## Brokerage

| Ask for | Plan | What it does |
| --- | --- | --- |
| `Account-Balances` | Free | Cash, buying power, equity for an account. |
| `Account-Holdings` | Premium | Positions in one linked account. |
| `Account-Symbol-Lookup` | Premium | Resolve a ticker inside a linked account. |
| `All-Account-Holdings` | Premium | Positions across every linked account. |
| `Broker-Connections` | Premium | List linked brokerage accounts. |
| `Transaction-History` | Premium | Transaction history with optional date range. |

## Trading: Orders

| Ask for | Plan | What it does |
| --- | --- | --- |
| `Delete-Preview-Order` | Free | Discard a staged preview. |
| `List-Preview-Orders` | Free | List staged previews not yet placed. |
| `Place-Order` | Premium | Submit a previously previewed order. |
| `Preview-Multiple-Orders` | Free | Stage several orders at once. |
| `Preview-Order` | Free | Stage an order for review without sending it to the broker. |

## Trading: Triggers

| Ask for | Plan | What it does |
| --- | --- | --- |
| `Create-Trading-Trigger` | Premium | Create a price / condition-based trigger. |
| `Delete-Trading-Trigger` | Premium | Permanently delete a trigger. |
| `List-Fired-Triggers` | Free | List triggers that already fired. |
| `List-Trading-Triggers` | Free | List active and paused triggers. |
| `Preview-Trading-Trigger` | Free | Preview a trigger before creating it. |
| `Reactivate-Trigger` | Premium | Reactivate a fired trigger. |
| `Update-Trading-Trigger` | Premium | Update a trigger (pause / retarget). |

## Strategy

| Ask for | Plan | What it does |
| --- | --- | --- |
| `Autofetch-Strategy` | Premium | Auto-pick the best-matching strategy. |
| `Fetch-Strategy` | Premium | Load one strategy by id. |
| `List-Strategy` | Premium | List your strategies. |
| `Strategy-Create` | Premium | Create a new strategy. |
| `Strategy-Import` | Premium | Copy a public strategy into your account. |
| `Strategy-Open` | Premium | Open the user’s primary strategy. |
| `Strategy-Preview` | Premium | Preview proposed strategy edits. |
| `Strategy-Save-Instructions` | Premium | Save strategy-selection instructions. |
| `Strategy-Update` | Premium | Save changes to an existing strategy. |

## Workflow

| Ask for | Plan | What it does |
| --- | --- | --- |
| `List-Tool-Safety` | Free | List which tools are read-only / destructive. |
| `Trigger-Workflow-Schema` | Free | Field schema for trigger / workflow rules. |
| `Workflow-Apply-Updates` | Premium | Pull the latest revisions from the parent workflow into this subscribed copy. Use when revisions_behind > 0. |
| `Workflow-Create` | Premium | Create a new perception workflow. |
| `Workflow-Delete` | Premium | Permanently delete a workflow. |
| `Workflow-Export` | Free | Export a workflow's full node-and-edge graph plus a self-describing markdown rendering. Read-only. |
| `Workflow-Import` | Premium | Copy a public workflow into your account. |
| `Workflow-List` | Free | Lightweight programmatic discovery, list every workflow you own with id / name / status / schedule. Read-only. Use before Workflow-Export / Workflow-Logs / Workflow-Run when you need an id. |
| `Workflow-Logs` | Free | Read recent workflow runs. |
| `Workflow-Open` | Free | Open a workflow for review / editing. |
| `Workflow-Performance` | Free | Closed-trade performance for a workflow: per-trade PnL rows and aggregate Win Rate / Total PnL / win-loss-flat counts / calendar-style by_day map. |
| `Workflow-Preview` | Free | Preview proposed workflow edits. |
| `Workflow-Run` | Premium | Execute a workflow on demand. |
| `Workflow-Update` | Premium | Save changes to a workflow. |

## Account

| Ask for | Plan | What it does |
| --- | --- | --- |
| `Get-Instructions` | Free | Read your saved strategy-selection instructions. |
| `Subscription-Status` | Free | Subscription tier, usage, remaining requests. |

## Search

| Ask for | Plan | What it does |
| --- | --- | --- |
| `Fetch-URL` | Free | Fetch and summarize a URL. |
| `Search` | Free | General Atlas search. |
| `Web-Search` | Premium | Live web search for real-time news and facts, today's headlines, macro / geopolitical drivers, earnings, and current events, returned as a dated answer plus the source links it used. |
| `Ticker-Symbol-Lookup` | Free | Resolve a company name to its ticker. |

## Alerts

| Ask for | Plan | What it does |
| --- | --- | --- |
| `List-Alert-Types` | Premium | Catalog of alert types you can create, read this BEFORE Create-Alert to learn the conditions shape for each type. |
| `List-Alerts` | Premium | Your streaming alerts. Active-only by default; pass active_only=false to include disarmed / cascade-paused. |
| `Preview-Alert` | Premium | Dry-run an alert spec against the live tape, returns what would have matched without creating the alert. |
| `Create-Alert` | Premium | Create a streaming alert that DMs Discord on fire and optionally arms a trigger / runs a workflow / places an order. ⚠️ Read List-Alert-Types first. |
| `Update-Alert` | Premium | Patch an existing alert in place (rename, change conditions, retarget workflow_id, flip is_active, etc.). |
| `Delete-Alert` | Premium | Soft-delete an alert by flipping is_active=false. The row stays for audit. |
| `List-Stream-Subscriptions` | Premium | Active streaming subscriptions the worker is holding open (flow tape, option quote feeds), useful for debugging why an alert isn't firing. |

## Tasks

| Ask for | Plan | What it does |
| --- | --- | --- |
| `List-Tasks` | Free | List your TASKS (run-once automations). Each is 'upcoming' (active/paused, fires still ahead) or 'previous' (completed). |
| `Create-Task` | Premium | Create a run-once task (a workflow that does not recur). Arm it with scheduled times (each fires once), an alert (fires once on the first match), or manual. |
| `Update-Task` | Premium | Update a task you own, pass task_id plus a patch object of fields to change. patch.status 'paused' turns it off, 'active' turns it on. |
| `Run-Task` | Premium | Run a task once, right now. |
| `Delete-Task` | Premium | Delete a task you own. |

---

<!-- ==== CLI ==== -->

# Atlas CLI

The CLI lets you use Atlas from your computer's terminal. You sign in once, then
run any tool by typing its name.

You never write JSON. You just add settings as simple flags:

```bash
atlas stock-quote --symbol SPY
```

The CLI gets the tool list from the server on its own, so new tools show up
without you doing anything. It comes in two versions that work the same way, one
for Node and one for Python. Both have no extra parts to install and both give
you the `atlas` command.

## Tool names

The command is the tool name in small letters with dashes. `Stock-Quote`
becomes `stock-quote`. Type `atlas tools` to see them all, and
`atlas <tool> --help` to see one tool's settings.

---

# Install

Both versions are named **`mindvest-atlas`** and both give you the `atlas`
command.

| Version | Install | Needs |
| --- | --- | --- |
| Node | `npm i -g mindvest-atlas` | Node 18 or newer |
| Python | `pip install mindvest-atlas` | Python 3.8 or newer |

Check it worked:

```bash
atlas --version
```

---

# Sign in

Sign in the same way the chat apps do. It opens your browser, you log in, and
you are set.

```bash
atlas login       # opens your browser to sign in
atlas whoami      # shows who is signed in
atlas logout      # signs out
```

Your login is saved safely on your computer. It stays signed in and refreshes on
its own, so you rarely log in again.

## No browser (servers and scripts)

You can use a key instead of the browser. Use your dashboard **key** (see
[Sign in and keys](#authentication)):

```bash
atlas login --token <YOUR_KEY>    # save a key
export ATLAS_TOKEN=<YOUR_KEY>     # or set it for this shell
```

If `ATLAS_TOKEN` is set, it is used first.

---

# How to use it

## Find tools

```bash
atlas tools                 # list every tool
atlas tools --search flow   # find tools by word
atlas <tool> --help         # see one tool's settings
```

## Call a tool

Add each setting as a flag:

```bash
atlas stock-quote --symbol SPY
atlas options-chain --symbol SPY --expiration 2026-06-20
atlas price-chart --symbol SPY --out ./charts   # save chart pictures to a folder
```

- Flag names use dashes. `--from-date` becomes `from_date` in the request.
- For a setting inside another setting, use a dot: `--updates.is-active true`.
- For a list, repeat the flag: `--tools Stock-Quote --tools Options-Chain`.

## Build and run automations

```bash
# Workflows (repeat on a schedule)
atlas workflow-list
atlas workflow-create --name "SPY GEX signal" --schedule "30 9 * * 1-5" \
  --tools Stock-Quote --instruction "Every morning, check SPY net gamma" --status active
atlas workflow-run --workflow-id <id>

# Tasks (run one time)
atlas list-tasks
atlas create-task --name "Close SPY 3:55" \
  --instruction "Close my SPY position" --schedule-times 15:55
atlas run-task --task-id <id>

# Alerts
atlas list-alerts
atlas create-alert --name "SPY sweeps" --symbol SPY --alert-type flow \
  --conditions.min-premium 50000 --conditions.side call
```

## Watch live feeds

```bash
atlas alerts --symbol SPY --name greek_exposure
atlas flow stream --symbol NVDA
```

---

# All tools in the CLI

Every tool, grouped by area. Type the command shown and add settings as flags.

## Stocks

| Command | Plan | What it does |
| --- | --- | --- |
| `atlas multi-timeframe-price-overview` | Free | Daily / weekly / monthly snapshot in one image. |
| `atlas price-data-ohlcv` | Free | Historical OHLCV bars. |
| `atlas price-chart` | Free | Candlestick price chart with overlays. |
| `atlas stock-quote` | Free | Latest quote for a symbol. |

## Options

| Command | Plan | What it does |
| --- | --- | --- |
| `atlas option-expiration-dates` | Premium | Available expirations for a symbol. |
| `atlas options-chain` | Premium | Full options chain for an expiration. |
| `atlas single-option-quote` | Premium | Bid/ask/IV/greeks for one contract. |
| `atlas historical-contract-greeks` | Premium | Day-by-day price history and greeks for ONE option contract, bid/ask/mid, the underlying's price, days to expiry, IV, delta, gamma, theta, vanna. Up to 90 trading days per call. |

## Greek Exposure

| Command | Plan | What it does |
| --- | --- | --- |
| `atlas greek-exposure-multi-expiration` | Premium | Net Gamma / Delta / Vanna / Theta exposure DATA grid across MULTIPLE expirations for one symbol, OI-weighted per-strike numbers (no chart). Sibling of Greek-Exposure-Single-Expiration (same data, one date) and Greek-Exposure-Heatmap (same numbers rendered as PNG). |
| `atlas greek-exposure-single-expiration` | Premium | Greek exposures for ONE expiration date only, guaranteed single-chain fetch. Use when the caller knows the date (0DTE, weekly, monthly OPEX, dated event). |
| `atlas greek-exposure-heatmap` | Premium | Heatmaps for one or more greeks in a single call. Pass greeks=["gamma","delta","vanna","theta"] (any subset). Returns one PNG per requested greek. |
| `atlas net-exposure-charts` | Premium | Net exposure bar charts for one or more greeks. metrics=["net_gex","net_dex","net_vex","net_tex"]. Returns one PNG per metric. |

## Options Flow

| Command | Plan | What it does |
| --- | --- | --- |
| `atlas top-volume-and-oi-contracts` | Premium | Top contracts by volume / OI as data. |
| `atlas volume-and-oi-charts` | Premium | Top-volume and/or open-interest charts. types=["vol","oi","vol_oi"]. Returns one PNG per requested type. |
| `atlas options-flow` | Premium | Stored option-trade tape filtered by side / type / premium / size / time window. Omit symbol for the top-N cross-universe ranking. |
| `atlas options-flow-contract` | Premium | Per-hour premium histogram for ONE contract (open / close stack). Reads strictly from the flow archive cache, never pulls fresh chain. |

## Charts

| Command | Plan | What it does |
| --- | --- | --- |
| `atlas chart-vision-analysis` | Premium | AI vision analysis of a chart image. |
| `atlas multi-chart-view` | Free / Premium | Multi-timeframe charts side-by-side. |

## Fundamentals

| Command | Plan | What it does |
| --- | --- | --- |
| `atlas balance-sheet` | Free | Latest balance sheet. |
| `atlas financial-metrics` | Free | Headline valuation + profitability metrics. |
| `atlas income-statement` | Free | Latest income statement. |

## Estimates

| Command | Plan | What it does |
| --- | --- | --- |
| `atlas analyst-price-targets` | Free | Consensus price targets. |
| `atlas eps-estimates` | Free | Consensus EPS estimates. |
| `atlas eps-trend` | Free | EPS estimate trend. |
| `atlas growth-estimates` | Free | Growth estimates summary. |
| `atlas revenue-estimates` | Free | Consensus revenue estimates. |

## Calendar

| Command | Plan | What it does |
| --- | --- | --- |
| `atlas earnings-calendar` | Free | Upcoming earnings releases. |
| `atlas earnings-dates` | Free | Earnings dates for a symbol. |
| `atlas ipo-calendar` | Free | Upcoming IPOs. |

## Ownership

| Command | Plan | What it does |
| --- | --- | --- |
| `atlas insider-transactions` | Free | Recent insider buys / sells. |
| `atlas institutional-holders` | Free | Top institutional holders. |
| `atlas sec-filings` | Free | Recent SEC filings. |
| `atlas senate-lobbying-data` | Free | Congressional trading / lobbying activity. |

## Brokerage

| Command | Plan | What it does |
| --- | --- | --- |
| `atlas account-balances` | Free | Cash, buying power, equity for an account. |
| `atlas account-holdings` | Premium | Positions in one linked account. |
| `atlas account-symbol-lookup` | Premium | Resolve a ticker inside a linked account. |
| `atlas all-account-holdings` | Premium | Positions across every linked account. |
| `atlas broker-connections` | Premium | List linked brokerage accounts. |
| `atlas transaction-history` | Premium | Transaction history with optional date range. |

## Trading: Orders

| Command | Plan | What it does |
| --- | --- | --- |
| `atlas delete-preview-order` | Free | Discard a staged preview. |
| `atlas list-preview-orders` | Free | List staged previews not yet placed. |
| `atlas place-order` | Premium | Submit a previously previewed order. |
| `atlas preview-multiple-orders` | Free | Stage several orders at once. |
| `atlas preview-order` | Free | Stage an order for review without sending it to the broker. |

## Trading: Triggers

| Command | Plan | What it does |
| --- | --- | --- |
| `atlas create-trading-trigger` | Premium | Create a price / condition-based trigger. |
| `atlas delete-trading-trigger` | Premium | Permanently delete a trigger. |
| `atlas list-fired-triggers` | Free | List triggers that already fired. |
| `atlas list-trading-triggers` | Free | List active and paused triggers. |
| `atlas preview-trading-trigger` | Free | Preview a trigger before creating it. |
| `atlas reactivate-trigger` | Premium | Reactivate a fired trigger. |
| `atlas update-trading-trigger` | Premium | Update a trigger (pause / retarget). |

## Strategy

| Command | Plan | What it does |
| --- | --- | --- |
| `atlas autofetch-strategy` | Premium | Auto-pick the best-matching strategy. |
| `atlas fetch-strategy` | Premium | Load one strategy by id. |
| `atlas list-strategy` | Premium | List your strategies. |
| `atlas strategy-create` | Premium | Create a new strategy. |
| `atlas strategy-import` | Premium | Copy a public strategy into your account. |
| `atlas strategy-open` | Premium | Open the user’s primary strategy. |
| `atlas strategy-preview` | Premium | Preview proposed strategy edits. |
| `atlas strategy-save-instructions` | Premium | Save strategy-selection instructions. |
| `atlas strategy-update` | Premium | Save changes to an existing strategy. |

## Workflow

| Command | Plan | What it does |
| --- | --- | --- |
| `atlas list-tool-safety` | Free | List which tools are read-only / destructive. |
| `atlas trigger-workflow-schema` | Free | Field schema for trigger / workflow rules. |
| `atlas workflow-apply-updates` | Premium | Pull the latest revisions from the parent workflow into this subscribed copy. Use when revisions_behind > 0. |
| `atlas workflow-create` | Premium | Create a new perception workflow. |
| `atlas workflow-delete` | Premium | Permanently delete a workflow. |
| `atlas workflow-export` | Free | Export a workflow's full node-and-edge graph plus a self-describing markdown rendering. Read-only. |
| `atlas workflow-import` | Premium | Copy a public workflow into your account. |
| `atlas workflow-list` | Free | Lightweight programmatic discovery, list every workflow you own with id / name / status / schedule. Read-only. Use before Workflow-Export / Workflow-Logs / Workflow-Run when you need an id. |
| `atlas workflow-logs` | Free | Read recent workflow runs. |
| `atlas workflow-open` | Free | Open a workflow for review / editing. |
| `atlas workflow-performance` | Free | Closed-trade performance for a workflow: per-trade PnL rows and aggregate Win Rate / Total PnL / win-loss-flat counts / calendar-style by_day map. |
| `atlas workflow-preview` | Free | Preview proposed workflow edits. |
| `atlas workflow-run` | Premium | Execute a workflow on demand. |
| `atlas workflow-update` | Premium | Save changes to a workflow. |

## Account

| Command | Plan | What it does |
| --- | --- | --- |
| `atlas get-instructions` | Free | Read your saved strategy-selection instructions. |
| `atlas subscription-status` | Free | Subscription tier, usage, remaining requests. |

## Search

| Command | Plan | What it does |
| --- | --- | --- |
| `atlas fetch-url` | Free | Fetch and summarize a URL. |
| `atlas search` | Free | General Atlas search. |
| `atlas web-search` | Premium | Live web search for real-time news and facts, today's headlines, macro / geopolitical drivers, earnings, and current events, returned as a dated answer plus the source links it used. |
| `atlas ticker-symbol-lookup` | Free | Resolve a company name to its ticker. |

## Alerts

| Command | Plan | What it does |
| --- | --- | --- |
| `atlas list-alert-types` | Premium | Catalog of alert types you can create, read this BEFORE Create-Alert to learn the conditions shape for each type. |
| `atlas list-alerts` | Premium | Your streaming alerts. Active-only by default; pass active_only=false to include disarmed / cascade-paused. |
| `atlas preview-alert` | Premium | Dry-run an alert spec against the live tape, returns what would have matched without creating the alert. |
| `atlas create-alert` | Premium | Create a streaming alert that DMs Discord on fire and optionally arms a trigger / runs a workflow / places an order. ⚠️ Read List-Alert-Types first. |
| `atlas update-alert` | Premium | Patch an existing alert in place (rename, change conditions, retarget workflow_id, flip is_active, etc.). |
| `atlas delete-alert` | Premium | Soft-delete an alert by flipping is_active=false. The row stays for audit. |
| `atlas list-stream-subscriptions` | Premium | Active streaming subscriptions the worker is holding open (flow tape, option quote feeds), useful for debugging why an alert isn't firing. |

## Tasks

| Command | Plan | What it does |
| --- | --- | --- |
| `atlas list-tasks` | Free | List your TASKS (run-once automations). Each is 'upcoming' (active/paused, fires still ahead) or 'previous' (completed). |
| `atlas create-task` | Premium | Create a run-once task (a workflow that does not recur). Arm it with scheduled times (each fires once), an alert (fires once on the first match), or manual. |
| `atlas update-task` | Premium | Update a task you own, pass task_id plus a patch object of fields to change. patch.status 'paused' turns it off, 'active' turns it on. |
| `atlas run-task` | Premium | Run a task once, right now. |
| `atlas delete-task` | Premium | Delete a task you own. |

---

<!-- ==== Web API ==== -->

# Web API

You can call every Atlas tool with a normal web request. This is the way to use
Atlas from your own code or a script.

## Where to send it

```text
https://atlasmcp.finmanagerai.com
```

## How to call any tool

Send a **POST** to `/api/v1/tools/<tool-name>`. Put the tool's settings in the
body as JSON. Add your key in the header.

```bash
export ATLAS_BASE_URL="https://atlasmcp.finmanagerai.com"
export ATLAS_KEY="<your key>"

curl -sS -X POST "$ATLAS_BASE_URL/api/v1/tools/get_stock_quote" \
  -H "Authorization: Bearer $ATLAS_KEY" \
  -H "Content-Type: application/json" \
  -d '{"symbol":"AAPL"}'
```

## What comes back

You get JSON back. Data tools give you the fields for that tool plus the time.
Chart tools give you an `images` list, and each image has its picture data.
If something goes wrong you get an error message and a non-200 code.

## Get the full list in code

```bash
curl -sS -H "Authorization: Bearer $ATLAS_KEY" "$ATLAS_BASE_URL/api/v1/tools"
```

Or open [/atlas-tools.json](/atlas-tools.json).

## Plans and limits

- **Free** tools work on any plan. They are limited to **60 calls a minute**.
- **Premium** tools need a paid plan and use one of your monthly requests each.
- See [Plans and how you get charged](#plans-and-billing) for the full picture,
  including how a live trade that Atlas later changes uses one more request.

:::warning
Your key is a secret. Anyone who has it can use tools on your account and, for
trading tools, place real orders with your broker. Never put it in a web page or
share it. You can make a new one anytime from the dashboard.
:::

There are **92 tools**. The list below shows the address for each one,
whether it is free, and what it does.

---

# All tools over the web

Every tool, grouped by area. Send a **POST** to the address shown, with your key
in the header (see [how to call any tool](#api-overview)).

## Stocks

| Endpoint | Plan | What it does |
| --- | --- | --- |
| `POST /api/v1/tools/visualize_price_overview` | Free | Daily / weekly / monthly snapshot in one image. |
| `POST /api/v1/tools/get_price_data` | Free | Historical OHLCV bars. |
| `POST /api/v1/tools/visualize_price_chart` | Free | Candlestick price chart with overlays. |
| `POST /api/v1/tools/get_stock_quote` | Free | Latest quote for a symbol. |

## Options

| Endpoint | Plan | What it does |
| --- | --- | --- |
| `POST /api/v1/tools/get_option_expirations` | Premium | Available expirations for a symbol. |
| `POST /api/v1/tools/get_options_chain` | Premium | Full options chain for an expiration. |
| `POST /api/v1/tools/get_single_option_quote` | Premium | Bid/ask/IV/greeks for one contract. |
| `POST /api/v1/tools/get_historical_contract_greeks` | Premium | Day-by-day price history and greeks for ONE option contract, bid/ask/mid, the underlying's price, days to expiry, IV, delta, gamma, theta, vanna. Up to 90 trading days per call. |

## Greek Exposure

| Endpoint | Plan | What it does |
| --- | --- | --- |
| `POST /api/v1/tools/analyze_greek_exposures` | Premium | Net Gamma / Delta / Vanna / Theta exposure DATA grid across MULTIPLE expirations for one symbol, OI-weighted per-strike numbers (no chart). Sibling of Greek-Exposure-Single-Expiration (same data, one date) and Greek-Exposure-Heatmap (same numbers rendered as PNG). |
| `POST /api/v1/tools/greek_exposure_single_expiration` | Premium | Greek exposures for ONE expiration date only, guaranteed single-chain fetch. Use when the caller knows the date (0DTE, weekly, monthly OPEX, dated event). |
| `POST /api/v1/tools/greek_exposure_heatmap` | Premium | Heatmaps for one or more greeks in a single call. Pass greeks=["gamma","delta","vanna","theta"] (any subset). Returns one PNG per requested greek. |
| `POST /api/v1/tools/net_exposure_charts` | Premium | Net exposure bar charts for one or more greeks. metrics=["net_gex","net_dex","net_vex","net_tex"]. Returns one PNG per metric. |

## Options Flow

| Endpoint | Plan | What it does |
| --- | --- | --- |
| `POST /api/v1/tools/get_volume_oi_data` | Premium | Top contracts by volume / OI as data. |
| `POST /api/v1/tools/volume_and_oi_charts` | Premium | Top-volume and/or open-interest charts. types=["vol","oi","vol_oi"]. Returns one PNG per requested type. |
| `POST /api/v1/tools/get_options_flow` | Premium | Stored option-trade tape filtered by side / type / premium / size / time window. Omit symbol for the top-N cross-universe ranking. |
| `POST /api/v1/tools/get_options_flow_contract` | Premium | Per-hour premium histogram for ONE contract (open / close stack). Reads strictly from the flow archive cache, never pulls fresh chain. |

## Charts

| Endpoint | Plan | What it does |
| --- | --- | --- |
| `POST /api/v1/tools/Vision_Analysis` | Premium | AI vision analysis of a chart image. |
| `POST /api/v1/tools/visualize_multi` | Free / Premium | Multi-timeframe charts side-by-side. |

## Fundamentals

| Endpoint | Plan | What it does |
| --- | --- | --- |
| `POST /api/v1/tools/get_balance_sheet` | Free | Latest balance sheet. |
| `POST /api/v1/tools/get_basic_financials` | Free | Headline valuation + profitability metrics. |
| `POST /api/v1/tools/get_income_statement` | Free | Latest income statement. |

## Estimates

| Endpoint | Plan | What it does |
| --- | --- | --- |
| `POST /api/v1/tools/get_analyst_price_targets` | Free | Consensus price targets. |
| `POST /api/v1/tools/get_earnings_estimates` | Free | Consensus EPS estimates. |
| `POST /api/v1/tools/get_eps_trend` | Free | EPS estimate trend. |
| `POST /api/v1/tools/get_growth_estimates` | Free | Growth estimates summary. |
| `POST /api/v1/tools/get_revenue_estimates` | Free | Consensus revenue estimates. |

## Calendar

| Endpoint | Plan | What it does |
| --- | --- | --- |
| `POST /api/v1/tools/get_earnings_calendar` | Free | Upcoming earnings releases. |
| `POST /api/v1/tools/get_earnings_dates` | Free | Earnings dates for a symbol. |
| `POST /api/v1/tools/get_ipo_calendar` | Free | Upcoming IPOs. |

## Ownership

| Endpoint | Plan | What it does |
| --- | --- | --- |
| `POST /api/v1/tools/get_insider_transactions` | Free | Recent insider buys / sells. |
| `POST /api/v1/tools/get_institutional_holders` | Free | Top institutional holders. |
| `POST /api/v1/tools/get_sec_filings` | Free | Recent SEC filings. |
| `POST /api/v1/tools/get_senate_lobbying` | Free | Congressional trading / lobbying activity. |

## Brokerage

| Endpoint | Plan | What it does |
| --- | --- | --- |
| `POST /api/v1/tools/get_account_balances` | Free | Cash, buying power, equity for an account. |
| `POST /api/v1/tools/get_holdings` | Premium | Positions in one linked account. |
| `POST /api/v1/tools/get_account_symbol` | Premium | Resolve a ticker inside a linked account. |
| `POST /api/v1/tools/get_all_holdings` | Premium | Positions across every linked account. |
| `POST /api/v1/tools/list_broker_connections` | Premium | List linked brokerage accounts. |
| `POST /api/v1/tools/get_transactions` | Premium | Transaction history with optional date range. |

## Trading: Orders

| Endpoint | Plan | What it does |
| --- | --- | --- |
| `POST /api/v1/tools/delete_preview_order` | Free | Discard a staged preview. |
| `POST /api/v1/tools/list_preview_orders` | Free | List staged previews not yet placed. |
| `POST /api/v1/tools/place_order` | Premium | Submit a previously previewed order. |
| `POST /api/v1/tools/preview_multiple_orders` | Free | Stage several orders at once. |
| `POST /api/v1/tools/preview_order` | Free | Stage an order for review without sending it to the broker. |

## Trading: Triggers

| Endpoint | Plan | What it does |
| --- | --- | --- |
| `POST /api/v1/tools/create_trading_trigger` | Premium | Create a price / condition-based trigger. |
| `POST /api/v1/tools/delete_trading_trigger` | Premium | Permanently delete a trigger. |
| `POST /api/v1/tools/list_fired_triggers` | Free | List triggers that already fired. |
| `POST /api/v1/tools/list_trading_triggers` | Free | List active and paused triggers. |
| `POST /api/v1/tools/preview_trading_trigger` | Free | Preview a trigger before creating it. |
| `POST /api/v1/tools/reactivate_trigger` | Premium | Reactivate a fired trigger. |
| `POST /api/v1/tools/update_trading_trigger` | Premium | Update a trigger (pause / retarget). |

## Strategy

| Endpoint | Plan | What it does |
| --- | --- | --- |
| `POST /api/v1/tools/autofetch_strategy` | Premium | Auto-pick the best-matching strategy. |
| `POST /api/v1/tools/fetch_strategy` | Premium | Load one strategy by id. |
| `POST /api/v1/tools/list_strategy` | Premium | List your strategies. |
| `POST /api/v1/tools/create_strategy` | Premium | Create a new strategy. |
| `POST /api/v1/tools/strategy_import` | Premium | Copy a public strategy into your account. |
| `POST /api/v1/tools/open_strategy` | Premium | Open the user’s primary strategy. |
| `POST /api/v1/tools/strategy_preview` | Premium | Preview proposed strategy edits. |
| `POST /api/v1/tools/save_strategy_instructions` | Premium | Save strategy-selection instructions. |
| `POST /api/v1/tools/update_strategy` | Premium | Save changes to an existing strategy. |

## Workflow

| Endpoint | Plan | What it does |
| --- | --- | --- |
| `POST /api/v1/tools/list_tool_safety` | Free | List which tools are read-only / destructive. |
| `POST /api/v1/tools/trigger_workflow_schema` | Free | Field schema for trigger / workflow rules. |
| `POST /api/v1/tools/workflow_apply_updates` | Premium | Pull the latest revisions from the parent workflow into this subscribed copy. Use when revisions_behind > 0. |
| `POST /api/v1/tools/workflow_create` | Premium | Create a new perception workflow. |
| `POST /api/v1/tools/workflow_delete` | Premium | Permanently delete a workflow. |
| `POST /api/v1/tools/workflow_export` | Free | Export a workflow's full node-and-edge graph plus a self-describing markdown rendering. Read-only. |
| `POST /api/v1/tools/workflow_import` | Premium | Copy a public workflow into your account. |
| `POST /api/v1/tools/workflow_list` | Free | Lightweight programmatic discovery, list every workflow you own with id / name / status / schedule. Read-only. Use before Workflow-Export / Workflow-Logs / Workflow-Run when you need an id. |
| `POST /api/v1/tools/workflow_logs` | Free | Read recent workflow runs. |
| `POST /api/v1/tools/workflow_open` | Free | Open a workflow for review / editing. |
| `POST /api/v1/tools/workflow_performance` | Free | Closed-trade performance for a workflow: per-trade PnL rows and aggregate Win Rate / Total PnL / win-loss-flat counts / calendar-style by_day map. |
| `POST /api/v1/tools/workflow_preview` | Free | Preview proposed workflow edits. |
| `POST /api/v1/tools/workflow_run` | Premium | Execute a workflow on demand. |
| `POST /api/v1/tools/workflow_update` | Premium | Save changes to a workflow. |

## Account

| Endpoint | Plan | What it does |
| --- | --- | --- |
| `POST /api/v1/tools/get_instructions` | Free | Read your saved strategy-selection instructions. |
| `POST /api/v1/tools/get_subscription_status` | Free | Subscription tier, usage, remaining requests. |

## Search

| Endpoint | Plan | What it does |
| --- | --- | --- |
| `POST /api/v1/tools/fetch` | Free | Fetch and summarize a URL. |
| `POST /api/v1/tools/search` | Free | General Atlas search. |
| `POST /api/v1/tools/web_search` | Premium | Live web search for real-time news and facts, today's headlines, macro / geopolitical drivers, earnings, and current events, returned as a dated answer plus the source links it used. |
| `POST /api/v1/tools/resolve_ticker` | Free | Resolve a company name to its ticker. |

## Alerts

| Endpoint | Plan | What it does |
| --- | --- | --- |
| `POST /api/v1/tools/list_alert_types` | Premium | Catalog of alert types you can create, read this BEFORE Create-Alert to learn the conditions shape for each type. |
| `POST /api/v1/tools/list_alerts` | Premium | Your streaming alerts. Active-only by default; pass active_only=false to include disarmed / cascade-paused. |
| `POST /api/v1/tools/preview_alert` | Premium | Dry-run an alert spec against the live tape, returns what would have matched without creating the alert. |
| `POST /api/v1/tools/create_alert` | Premium | Create a streaming alert that DMs Discord on fire and optionally arms a trigger / runs a workflow / places an order. ⚠️ Read List-Alert-Types first. |
| `POST /api/v1/tools/update_alert` | Premium | Patch an existing alert in place (rename, change conditions, retarget workflow_id, flip is_active, etc.). |
| `POST /api/v1/tools/delete_alert` | Premium | Soft-delete an alert by flipping is_active=false. The row stays for audit. |
| `POST /api/v1/tools/list_stream_subscriptions` | Premium | Active streaming subscriptions the worker is holding open (flow tape, option quote feeds), useful for debugging why an alert isn't firing. |

## Tasks

| Endpoint | Plan | What it does |
| --- | --- | --- |
| `POST /api/v1/tools/list_tasks` | Free | List your TASKS (run-once automations). Each is 'upcoming' (active/paused, fires still ahead) or 'previous' (completed). |
| `POST /api/v1/tools/create_task` | Premium | Create a run-once task (a workflow that does not recur). Arm it with scheduled times (each fires once), an alert (fires once on the first match), or manual. |
| `POST /api/v1/tools/update_task` | Premium | Update a task you own, pass task_id plus a patch object of fields to change. patch.status 'paused' turns it off, 'active' turns it on. |
| `POST /api/v1/tools/run_task` | Premium | Run a task once, right now. |
| `POST /api/v1/tools/delete_task` | Premium | Delete a task you own. |

---
