Skip to main content
The server lists 31 tools for an OAuth connection and 30 for an API key (an API key has no list_businesses). You do not call them yourself: the assistant picks the right one from your request. This page tells you what each one can do, so you know what to allow. A tool appears only if your connection holds the access it needs. With OAuth that is the access level you chose. With several businesses, the list is the union over the businesses: a tool appears if at least one business allows it. With an API key it is the key’s scopes. Type shows whether a tool only reads (Read), changes data (Write), or reaches a customer and needs a confirmation (Confirm).
You choose the businesses on the VEXiON consent page when you connect. The tool list_businesses shows which ones the connection can use. select_organization is only a fallback for old connections that have no stored choice. It asks which business to use and remembers the answer for that app. It is not counted in the 31.

Several businesses

One OAuth connection can cover several businesses, each with its own access level. An API key stays one key for one business.
  • organization_id: every tool takes this argument. It is the public organization id of the business, as returned by list_businesses and get_account_overview. It is required when the connection has 2 or more businesses. It is optional with 1. The assistant normally fills it in itself. You only name the business, for example “visits at Brew Haven last week”.
  • Answers: with several businesses, each answer starts with “Business: Name (org_id).”
  • Checked per business: a tool works in a business only if the access of that business allows it. A call for a business without that access is refused with a message that names the business.
  • Unavailable businesses: a business that becomes unavailable (admin role lost, left VEXiON PRO) is shown as unavailable by list_businesses. The other businesses keep working. A paused business stays listed, but calls for it are refused with the account-state message.
  • Confirmations: a confirmation for a customer message belongs to one business. It never works for another business.

Start here

Cards

Customers

Transactions

Notifications

Products and locations

Settings

Tools that ask for confirmation

Three tools reach real people or cannot be undone. They always work in two steps, so nothing happens on the first message.
1

Preview

The assistant calls the tool without confirming. VEXiON checks the request and returns a preview: what would be sent or changed. For a notification that is the text and the audience filters. The number of recipients is not known before sending. Nothing has happened yet.
2

You decide

The assistant shows you the preview. Read it. If it is not what you want, say so and nothing is sent.
3

Confirm

When you agree, the assistant calls the tool again with the confirmation it received. VEXiON then carries out exactly the previewed action.
A confirmation works only once, only for the same business and exactly the same details, and only for 10 minutes. If the assistant changes the message or the audience after the preview, the old confirmation is refused and a new preview is needed. If a confirmed action fails in a way that leaves its result unknown, the assistant is told it may already have been done and is not allowed to repeat it. It checks first.
Turn on your AI app’s tool-approval setting, if it has one, so you also see each tool call before it runs. This is a second check on top of the VEXiON preview.
Two other tools also change what customers see, and they do not need a confirmation, so read what the assistant proposes before you agree:
  • create_card makes a card live at once. Customers can sign up straight away.
  • update_card and update_location change every installed pass for the cards involved.
Writing a transaction or changing a card also updates customers’ wallet passes and can trigger your business’s own automatic messages, for example when a reward is reached.

Notification rules

A push notification appears on customers’ lock screens and cannot be recalled.
The message goes out in your business’s name. It reaches the members of your own card. You are responsible for the content and for the direct marketing rules that apply to you. Promote only your own goods and services, never offers of third parties. Members who turned off marketing messages for that card do not receive it.

Sending in more than one language

A notification has one language. For customers who speak different languages, the assistant sends one notification per language, using each customer’s saved language:
1

Group your customers by language

The assistant reads each customer’s language from the customer list. A customer with no saved language counts as English.
2

Write one message per language

It writes the title and body in each language and puts only that language’s customers in the audience, up to 1,000 customers per send.
3

Preview and confirm each one

You see a preview for each language and confirm each separately.
Because sends are limited to 1 per minute and 50 per day, plan the order. For more than about 1,000 customers per language, use the VEXiON dashboard or a single language.

Date filters on lists

list_customers and list_transactions filter by date with these arguments. Each takes Unix seconds or an ISO 8601 date-time. The names use underscores because AI apps such as Claude accept only letters, digits, _, . and - in argument names. The REST API keeps its own names (created[gte] and so on) and is unchanged. The MCP server still accepts the old bracket names created[gte], created[lte], updated[gte] and updated[lte] for existing scripts; they are no longer listed in the tool definitions. If you send both spellings, the underscore name wins.

Reports and large lists

Reports count rows instead of reading them one by one, but they still take time. When a report is partial, the assistant calls it again from where it stopped (with continue_after set to next_cursor) and adds the new counts to the earlier ones. If you ask for a very large range, ask for it month by month. Partial totals are labelled, never presented as complete. Totals follow the VEXiON dashboard rules. A reversed entry still counts as a transaction, and its reversal subtracts from the sums on the day the reversal was recorded. Very large results are trimmed to a safe size. When that happens the result says so, and the assistant narrows the question.

What the tools refuse

Some tools also refuse specific cases:
  • create_transaction refuses gift card, membership and custom cards. It also refuses a bill above the largest bill of the currency (amount_too_large), a value above the limit (value_too_large), amount_minor on a redeem (amount_not_valid_for_action) and a currency that is not the business currency (currency_mismatch).
  • reverse_transaction refuses cashback and other money transactions, and transactions that came from the till, scanner or online shop. Only transactions recorded through the API can be reversed.
  • send_card_to_customer is email only. Texting is not available.
  • update_customer cannot change email addresses.
See also what the assistant can never do and Rate limits.