Mercury
listTransactions
Retrieve a paginated list of all transactions across all accounts. Supports advanced filtering by date ranges, status, categories, and cursor-based pagination. CRITICAL TRUNCATION RULE - READ THIS FIRST: ================================================================================ IF YOU SEE "Result too long" IN THE RESPONSE: 1. IMMEDIATELY STOP - Do not analyze or use the truncated data 2. The data is INCOMPLETE and any analysis will be WRONG 3. Start over with a smaller limit (reduce by 50%) 4. Paginate through ALL pages until you have complete data 5. NEVER provide answers based on truncated results ================================================================================ MANDATORY PAGINATION FOR COMPLETE RESULTS: When a user asks ANY question requiring complete data (totals, balances, aggregates, "most/least", "all transactions", comparisons, or any calculation across transactions): CRITICAL: Incomplete pagination will produce WRONG ANSWERS for questions about totals, spending categories, balances, minimums, maximums, or "most/least". You must fetch everything before calculating or answering. 1. Start with a limit of 300 transactions. 2. You MUST automatically paginate through ALL pages WITHOUT asking the user 3. Continue calling listTransactions using the page.nextPage value from each response 4. Keep fetching until page.nextPage is not present 5. If pagination would take more than 3 tool calls, ask the user to narrow down to a smaller time period 6. It is a CRITICAL ERROR to answer before having fetched ALL pages FILTERING: - IMPORTANT: WHEN FILTERING BY DATE, ALWAYS CHECK THE CURRENT DATE FIRST and ensure you're using the current year for current year queries - Unless specified otherwise or queried for "all transactions", ONLY include transactions with "status: sent" - To get transactions for a specific account, use the accountId parameter to filter by accountId PAGINATION MECHANICS: - Use the limit parameter to control page size - If page.nextPage is returned, use it as the start_after parameter in your next call - Keep fetching until page.nextPage is null/undefined - The page.nextPage value is a transaction ID to start after (exclusive) COMPUTATIONAL REQUIREMENTS: - For any query requiring: - Sums, totals, averages, medians, modes, ranges, most/least, or other aggregations across accounts/transactions - Calculations involving currency amounts - Comparisons of financial metrics - You MUST: - Create an artifact that processes the data programmatically - Parse the JSON response and use JavaScript/Python to calculate - Display intermediate steps for verification - Never rely on mental arithmetic for financial calculations - Example: "What's my total balance?" - CORRECT: Create artifact that parses accounts, maps to balances, uses reduce() to sum - INCORRECT: Manually adding up balance values For queries about 'last two months' or 'this year', calculate dates based on the actual current date Use the getCurrentDate tool to get the current date. Use the getTransaction tool to get more details about a specific transaction.
Remote (network-hosted)
Other tools also called listTransactions?
See providers with this name
Input Schema
{
"type": "object",
"properties": {
"end": {
"type": "string",
"description": "Latest createdAt date to filter for. If it’s not provided, it defaults to current day. Format: YYYY-MM-DD or an ISO 8601 string. Please note that your Mercury transactions on your Dashboard might have their postedAt date displayed, as opposed to createdAt"
},
"limit": {
"type": "integer",
"default": 1000,
"maximum": 1000,
"minimum": 1,
"description": "Maximum number of results to return. Allowed range: 1 to 1000. Defaults to 1000"
},
"order": {
"enum": [
"asc",
"desc"
],
"type": "string",
"default": "asc",
"description": "Sort order. Can be 'asc' or 'desc'. Defaults to 'asc'"
},
"start": {
"type": "string",
"description": "Earliest createdAt date to filter for. If not provided, it defaults to the date of your first transaction. Format: YYYY-MM-DD or an ISO 8601 string. Please note that your Mercury transactions on your Dashboard might have their postedAt date displayed, as opposed to createdAt"
},
"cardId": {
"type": "array",
"items": {
"type": "string",
"description": "UUID of a card (debit or credit). Can be provided multiple times to filter by several cards. Example: ?cardId=uuid1&cardId=uuid2"
}
},
"search": {
"type": "string",
"description": "Search term to look for in transaction descriptions."
},
"status": {
"type": "array",
"items": {
"enum": [
"pending",
"sent",
"cancelled",
"failed",
"reversed",
"blocked"
],
"type": "string"
}
},
"start_at": {
"type": "string",
"description": "The ID of the resource to start the page at (inclusive). When provided, results will begin with and include the resource with this ID. Use this to retrieve a specific page when you know the exact starting point. Cannot be combined with start_after or end_before."
},
"accountId": {
"type": "array",
"items": {
"type": "string",
"format": "uuid",
"description": "ID for a Mercury account."
}
},
"postedEnd": {
"type": "string",
"description": "Latest postedAt date to filter for. Format: YYYY-MM-DD or an ISO 8601 string"
},
"categoryId": {
"type": "string",
"description": "UUID of a custom category. Can be returned from /categories endpoint."
},
"end_before": {
"type": "string",
"format": "uuid",
"description": "The ID of the transaction to end the page before (exclusive). When provided, results will end just before this ID and work backwards. Use this for reverse pagination or to retrieve previous pages. Cannot be combined with start_after."
},
"postedStart": {
"type": "string",
"description": "Earliest postedAt date to filter for. Format: YYYY-MM-DD or an ISO 8601 string"
},
"start_after": {
"type": "string",
"format": "uuid",
"description": "The ID of the transaction to start the page after (exclusive). When provided, results will begin with the transaction immediately following this ID. Use this for standard forward pagination to get the next page of results. Cannot be combined with end_before."
},
"mercuryCategory": {
"type": "string",
"description": "Name of mercuryCategory you want to filter on. Merchant Type in the UI."
}
}
}