Make and manage BotSpot API keys
api_keysMake, list, replace or revoke BotSpot API keys right in the chat, and approve a lumibot connect botspot login code. For a requested LumiBot project setup, action="create" returns connection.environment: choose a recognizable name, save those values directly in the authorized project environment or secret manager, preserve unrelated settings, and verify a research request. Keep the secret out of replies, Git, logs and command-line arguments; no additional CLI login or manual permission selection is needed for a signed-in owner. The secret appears once in the tool result; the default "lumibot_agent" preset gives a LumiBot AI trading agent free data (SEC filings, economic data, news headlines), Marketplace browsing and Community reading and posting, and nothing else. Keys never expire unless expiresInDays is set. action="presets" explains every preset in plain words. A key can never make keys or spend money. Only the signed-in person can use this tool.
Set "action" to choose the operation. Only send the fields listed for that action.
action="presets": List API key permission presets
No other fields required. Shows the permission presets you can choose when making a BotSpot API key, with the exact permissions of each, in plain words. Presets: "lumibot_agent" (default; for a LumiBot AI trading agent: free data such as SEC filings, insider and 13F data, news headlines and economic data, Marketplace browsing, Community reading and posting; no deploys, backtests, trades, account, broker or billing), "research" (the same data and reads, no posting), "community" (Community only) and "custom" (pick scopes). A key can never make keys or spend money. Starting bots and real-money trades still need your separate approval click on botspot.trade even with a key.
action="create": Create a BotSpot API key
Required fields: name. Creates a BotSpot API key for the signed-in person, right here in the chat. The secret is shown once in this tool result. For a requested LumiBot setup, save it directly in the authorized project environment without printing it in your reply. BotSpot keeps only a fingerprint. Default preset is "lumibot_agent" (LumiBot agent), made for a LumiBot AI trading agent. Presets: "lumibot_agent" (default; for a LumiBot AI trading agent: free data such as SEC filings, insider and 13F data, news headlines and economic data, Marketplace browsing, Community reading and posting; no deploys, backtests, trades, account, broker or billing), "research" (the same data and reads, no posting), "community" (Community only) and "custom" (pick scopes). A key can never make keys or spend money. Starting bots and real-money trades still need your separate approval click on botspot.trade even with a key. Expiry is optional: the key never expires unless you pass expiresInDays (1 to 365). Free accounts can make keys. Up to 5 active keys per account. Choose a recognizable name yourself, use the default LumiBot preset, save connection.environment in the project environment or secret manager, and verify a research request. Preserve existing unrelated settings and keep the secret out of Git, logs, replies and command-line arguments. No extra CLI login is needed for an already signed-in owner session. If project file access is unavailable, explain the manual setup option.
action="list": List your BotSpot API keys
No other fields required. Lists the signed-in person's active API keys: name, first characters, permissions preset, expiry and last use. Never shows a secret.
action="rotate": Replace an API key with a new secret
Required fields: keyId. Makes a new secret with the same name, permissions and expiry, shows it once, and stops the old key immediately. Update every place that used the old key (for LumiBot: run lumibot connect botspot again).
action="revoke": Revoke an API key
Required fields: keyId. Stops an API key immediately. Anything using it loses access. This cannot be undone.
action="approve_device": Approve a LumiBot command-line login
Required fields: userCode.
Approves (or denies) a login code shown by lumibot connect botspot or another BotSpot command-line tool. After approval, that tool receives a "LumiBot agent" key straight into its .env file; the key never passes through this chat. Only approve a code the person just started themselves and read to you; ask them to confirm the code before calling this.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"action": "<action>"
},
"name": "api_keys"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | A name the person will recognize, e.g. "My LumiBot agent". Used with action="create". Required for action="create". | |
| keyId | No | The id from api_keys(action="list"). Used with action="rotate", action="revoke". Required for action="rotate", action="revoke". | |
| action | Yes | Which operation to run: "presets", "create", "list", "rotate", "revoke", "approve_device". See the tool description for each one. | |
| preset | No | Permission preset. Default lumibot_agent. Used with action="create". | |
| scopes | No | Only with preset "custom": the exact tool permissions. Used with action="create". | |
| decision | No | Default approve. Used with action="approve_device". | |
| userCode | No | The code shown in the terminal, e.g. BCDF-GHJK. Used with action="approve_device". Required for action="approve_device". | |
| expiresInDays | No | Optional. Leave out for a key that never expires. Used with action="create". |