Mock Accounts AI-generated

Mock Accounts are MockMotor's stateful test data - the thing that makes a mock behave like "customer 12345 has a $500 balance" instead of always returning the same canned response. Each account is a free-form set of name/value properties (any of which can be multi-valued), selected per-request by a reaction's Account Selection script and made available as the account/accounts variables (see Variables).

Managing accounts in the console

The Accounts list (per environment) has a live, type-as-you-go search - no need to press Enter - that matches any substring of a value unique to the account (a name or ID), or a property=value expression to search a specific property. Add an account via Add Account; click any value on an existing one to edit it. The UI is meant for touching up individual accounts, not bulk work - for many accounts at once, use Excel import or the API instead. Deletion is immediate and permanent, so double-check before confirming it. An individual account's page also shows a History tab recording who changed which property, and its old/new value, over time.

Importing from Excel/CSV

Accounts can be bulk-imported from a spreadsheet: the first row's headers become property names (columns that don't match an existing property automatically create a new one), and each subsequent row becomes one account. A column literally named ID sets the account's own ID instead of becoming a property. XLS, XLSX and CSV are all accepted - MockMotor sniffs the format rather than requiring you to pick it. Empty cells become null values; spreadsheet formulas are evaluated during import (though some rare functions may not be supported).

This replaces the environment's accounts, not just adds to them. After import, the account set matches the file exactly - any account not represented in the upload (by ID) is deleted. Download the current accounts first, edit that file, then re-upload, rather than uploading a partial/new file on its own.

Account properties

Properties are defined at the environment level - every account in the same environment shares the same property set, but two different environments can define entirely different ones. A property name must be alphanumeric (a valid XML node name) and is case-sensitive; beyond the name itself, a property also has a human-readable label (for the UI), optional comma-separated aliases (handy when importing from a script that uses different names), and a free-text description. A property with no value is simply omitted from the account/$account variable rather than appearing as an empty string - and since every value is stored as a string, scripts needing a number or boolean must convert it explicitly. A property can be multi-valued: one value per line in the console UI, or pipe (|)-separated in a spreadsheet cell (escape a literal pipe by doubling it, ||) - multi-valued properties surface as repeated XML elements or a JS array.

Creating accounts programmatically

For large synthetic data sets, driving account creation through the MCP/REST API from a small script scales much better than one-at-a-time UI edits or even Excel for very large volumes (tens of thousands of rows) - the same JSON-RPC endpoint the console itself uses can be called directly and concurrently.

Account Selection scripts and account creation

If a reaction's Account Selection is set to Create when no account is found, MockMotor will seed a brand-new account from whatever equality clauses it can extract out of the selection script (e.g. account.accountId==input.accountId && account.status=='ACTIVE' seeds both accountId and status) - useful for "create on first touch" test flows without pre-loading data.