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).
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.