Buy BotSpot plans, the Bootcamp, credits and add-ons
purchasesBuy anything BotSpot sells without leaving the chat. action="options" lists every item with its exact live price. action="prepare" freezes the price and the saved card and charges nothing. action="confirm" asks the person to confirm (in the chat where the app supports it, otherwise a one-click link) and then charges the saved card once and returns the receipt. Without a saved card, or for items such as payment plans and first Light or Starter purchases, prepare points to create_checkout_link instead. Never confirm without the person asking to buy.
Set "action" to choose the operation. Only send the fields listed for that action.
action="options": List what you can buy
No other fields required. Lists everything BotSpot sells right now with exact prices from the live catalog: plans, the AI Bootcamp, AI credit packs and add-ons. Each entry says whether it can be bought in one click with a saved card or opens the checkout page.
action="prepare": Get an exact price and get ready to buy
Required fields: productSlug. Prepares a purchase of one item from purchases(action="options"). With a saved card it returns the exact item, price and card, and nothing is charged yet: then call purchases(action="confirm") so the person can confirm. Without a saved card, or for items that need the checkout page, it returns the checkout link instead. Show the person the exact price before they confirm.
action="confirm": Confirm and pay
Required fields: purchaseId. Asks the person to confirm a prepared purchase and, once they say yes, charges their saved card exactly once and returns the receipt. In apps that support it the confirmation appears right in the chat; otherwise this returns a one-click confirm link. Never call it without the person asking to buy.
action="status": Check a purchase
Required fields: purchaseId. Shows whether a purchase is waiting, paid, canceled or failed, with the receipt.
action="cancel": Cancel a prepared purchase
Required fields: purchaseId. Cancels a purchase that has not been paid yet. Nothing is charged.
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": "purchases"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | Which operation to run: "options", "prepare", "confirm", "status", "cancel". See the tool description for each one. | |
| planKey | No | Needed when a product has several plans. Used with action="prepare". | |
| purchaseId | No | From purchases(action="prepare"). Used with action="confirm", action="status", action="cancel". Required for action="confirm", action="status", action="cancel". | |
| productSlug | No | From purchases(action="options"). Used with action="prepare". Required for action="prepare". |