{"openapi":"3.1.0","info":{"title":"Merge Accounting (BYOK) API","version":"0.1.0","description":"Merge Accounting (BYOK) lets an AI assistant read your own Merge Accounting data through the Merge Accounting API with a key you supply (Merge production access key). Read-only: 11 tools (get_company_info, list_invoices, list_contacts, list_accounts, list_payments, list_expenses, list_purchase_orders, list_journal_entries, list_balance_sheets, list_income_statements, list_cash_flow_statements)....\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-merge-accounting.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-merge-accounting/docs"},"termsOfService":"https://connectorbay.com/byok-merge-accounting/terms"},"servers":[{"url":"https://byok-merge-accounting.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-merge-accounting/docs"},"security":[{"upstreamKey":[]}],"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer","description":"Optional. A Pro API key raises rate limits; no credentials are required."},"upstreamKey":{"type":"apiKey","in":"header","name":"X-Upstream-Key","description":"Your own key for the service this connector wraps (bring your own key). Used for that one call only; never stored, logged or cached."}},"schemas":{"Error":{"type":"object","properties":{"ok":{"const":false},"error":{"type":"object"}}}}},"paths":{"/v1/tools/get_company_info":{"post":{"operationId":"get_company_info","summary":"Show the company record of the linked accounting system: name, legal name, fiscal year end, base currency. Use for \"Whic","description":"Show the company record of the linked accounting system: name, legal name, fiscal year end, base currency. Use for \"Which company is linked in Merge accounting and what is its currency\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"region":{"description":"Merge data region host prefix: 'api' (US, default), 'api-eu' (EU) or 'api-ap' (Asia-Pacific), matching where your Merge account is hosted.","enum":["api","api-eu","api-ap"],"title":"Region","type":"string"},"cursor":{"anyOf":[{"maxLength":300,"type":"string"},{"type":"null"}],"default":null,"description":"Pagination cursor: the 'next' value of the previous answer.","title":"Cursor"},"page_size":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":25,"description":"How many records per page (1 to 100).","title":"Page Size"}},"required":["region"],"title":"get_company_infoArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_invoices":{"post":{"operationId":"list_invoices","summary":"List invoices (receivable and payable) with number, dates, status, totals and balance. Filter by type, status, contact o","description":"List invoices (receivable and payable) with number, dates, status, totals and balance. Filter by type, status, contact or issue date. Use for \"Which invoices are open or partially paid in our accounting system\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"region":{"description":"Merge data region host prefix: 'api' (US, default), 'api-eu' (EU) or 'api-ap' (Asia-Pacific), matching where your Merge account is hosted.","enum":["api","api-eu","api-ap"],"title":"Region","type":"string"},"page_size":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":25,"description":"How many records per page (1 to 100).","title":"Page Size"},"cursor":{"anyOf":[{"maxLength":300,"type":"string"},{"type":"null"}],"default":null,"description":"Pagination cursor: the 'next' value of the previous answer.","title":"Cursor"},"company_id":{"anyOf":[{"maxLength":64,"type":"string"},{"type":"null"}],"default":null,"description":"Only records of this company (Merge company id), for multi-entity ledgers.","title":"Company Id"},"modified_after":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Only records synced by Merge after this ISO 8601 time.","title":"Modified After"},"type":{"anyOf":[{"enum":["ACCOUNTS_PAYABLE","ACCOUNTS_RECEIVABLE"],"type":"string"},{"type":"null"}],"default":null,"description":"Only this invoice type.","title":"Type"},"status":{"anyOf":[{"enum":["DRAFT","OPEN","PAID","PARTIALLY_PAID","SUBMITTED","VOID"],"type":"string"},{"type":"null"}],"default":null,"description":"Only this status.","title":"Status"},"contact_id":{"anyOf":[{"maxLength":64,"type":"string"},{"type":"null"}],"default":null,"description":"Only invoices of this Merge contact id.","title":"Contact Id"},"issue_date_after":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Only invoices issued after this ISO 8601 time.","title":"Issue Date After"},"issue_date_before":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Only invoices issued before this ISO 8601 time.","title":"Issue Date Before"}},"required":["region"],"title":"list_invoicesArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_contacts":{"post":{"operationId":"list_contacts","summary":"List customers and suppliers: name, email, currency, status and customer or supplier flags. Use for \"Who are our custome","description":"List customers and suppliers: name, email, currency, status and customer or supplier flags. Use for \"Who are our customers in the accounting system\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"region":{"description":"Merge data region host prefix: 'api' (US, default), 'api-eu' (EU) or 'api-ap' (Asia-Pacific), matching where your Merge account is hosted.","enum":["api","api-eu","api-ap"],"title":"Region","type":"string"},"page_size":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":25,"description":"How many records per page (1 to 100).","title":"Page Size"},"cursor":{"anyOf":[{"maxLength":300,"type":"string"},{"type":"null"}],"default":null,"description":"Pagination cursor: the 'next' value of the previous answer.","title":"Cursor"},"company_id":{"anyOf":[{"maxLength":64,"type":"string"},{"type":"null"}],"default":null,"description":"Only records of this company (Merge company id), for multi-entity ledgers.","title":"Company Id"},"modified_after":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Only records synced by Merge after this ISO 8601 time.","title":"Modified After"},"is_customer":{"anyOf":[{"maxLength":5,"type":"string"},{"type":"null"}],"default":null,"description":"Pass 'true' to list only contacts flagged as customers.","title":"Is Customer"},"is_supplier":{"anyOf":[{"maxLength":5,"type":"string"},{"type":"null"}],"default":null,"description":"Pass 'true' to list only contacts flagged as suppliers.","title":"Is Supplier"},"name":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Only contacts with this name.","title":"Name"},"status":{"anyOf":[{"enum":["ACTIVE","ARCHIVED"],"type":"string"},{"type":"null"}],"default":null,"description":"Only contacts with this status.","title":"Status"}},"required":["region"],"title":"list_contactsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_accounts":{"post":{"operationId":"list_accounts","summary":"List the chart of accounts: name, classification, type, status, current balance and currency. Use for \"Show our chart of","description":"List the chart of accounts: name, classification, type, status, current balance and currency. Use for \"Show our chart of accounts with balances\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"region":{"description":"Merge data region host prefix: 'api' (US, default), 'api-eu' (EU) or 'api-ap' (Asia-Pacific), matching where your Merge account is hosted.","enum":["api","api-eu","api-ap"],"title":"Region","type":"string"},"page_size":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":25,"description":"How many records per page (1 to 100).","title":"Page Size"},"cursor":{"anyOf":[{"maxLength":300,"type":"string"},{"type":"null"}],"default":null,"description":"Pagination cursor: the 'next' value of the previous answer.","title":"Cursor"},"company_id":{"anyOf":[{"maxLength":64,"type":"string"},{"type":"null"}],"default":null,"description":"Only records of this company (Merge company id), for multi-entity ledgers.","title":"Company Id"},"modified_after":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Only records synced by Merge after this ISO 8601 time.","title":"Modified After"},"classification":{"anyOf":[{"enum":["ASSET","EQUITY","EXPENSE","LIABILITY","REVENUE"],"type":"string"},{"type":"null"}],"default":null,"description":"Only this classification.","title":"Classification"},"status":{"anyOf":[{"enum":["ACTIVE","INACTIVE","PENDING"],"type":"string"},{"type":"null"}],"default":null,"description":"Only this status.","title":"Status"},"name":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Only accounts with this name.","title":"Name"}},"required":["region"],"title":"list_accountsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_payments":{"post":{"operationId":"list_payments","summary":"List payments received or made with date, contact, account, type and total. Use for \"What payments were recorded last mo","description":"List payments received or made with date, contact, account, type and total. Use for \"What payments were recorded last month\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"region":{"description":"Merge data region host prefix: 'api' (US, default), 'api-eu' (EU) or 'api-ap' (Asia-Pacific), matching where your Merge account is hosted.","enum":["api","api-eu","api-ap"],"title":"Region","type":"string"},"page_size":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":25,"description":"How many records per page (1 to 100).","title":"Page Size"},"cursor":{"anyOf":[{"maxLength":300,"type":"string"},{"type":"null"}],"default":null,"description":"Pagination cursor: the 'next' value of the previous answer.","title":"Cursor"},"company_id":{"anyOf":[{"maxLength":64,"type":"string"},{"type":"null"}],"default":null,"description":"Only records of this company (Merge company id), for multi-entity ledgers.","title":"Company Id"},"modified_after":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Only records synced by Merge after this ISO 8601 time.","title":"Modified After"},"transaction_date_after":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Only records dated after this ISO 8601 time.","title":"Transaction Date After"},"transaction_date_before":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Only records dated before this ISO 8601 time.","title":"Transaction Date Before"},"contact_id":{"anyOf":[{"maxLength":64,"type":"string"},{"type":"null"}],"default":null,"description":"Only payments of this contact id.","title":"Contact Id"},"account_id":{"anyOf":[{"maxLength":64,"type":"string"},{"type":"null"}],"default":null,"description":"Only payments to or from this account id.","title":"Account Id"}},"required":["region"],"title":"list_paymentsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_expenses":{"post":{"operationId":"list_expenses","summary":"List expenses (spend transactions) with date, account, contact, subtotal, tax, total and memo. Use for \"What expenses di","description":"List expenses (spend transactions) with date, account, contact, subtotal, tax, total and memo. Use for \"What expenses did we record this quarter\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"region":{"description":"Merge data region host prefix: 'api' (US, default), 'api-eu' (EU) or 'api-ap' (Asia-Pacific), matching where your Merge account is hosted.","enum":["api","api-eu","api-ap"],"title":"Region","type":"string"},"page_size":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":25,"description":"How many records per page (1 to 100).","title":"Page Size"},"cursor":{"anyOf":[{"maxLength":300,"type":"string"},{"type":"null"}],"default":null,"description":"Pagination cursor: the 'next' value of the previous answer.","title":"Cursor"},"company_id":{"anyOf":[{"maxLength":64,"type":"string"},{"type":"null"}],"default":null,"description":"Only records of this company (Merge company id), for multi-entity ledgers.","title":"Company Id"},"modified_after":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Only records synced by Merge after this ISO 8601 time.","title":"Modified After"},"transaction_date_after":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Only records dated after this ISO 8601 time.","title":"Transaction Date After"},"transaction_date_before":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Only records dated before this ISO 8601 time.","title":"Transaction Date Before"}},"required":["region"],"title":"list_expensesArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_purchase_orders":{"post":{"operationId":"list_purchase_orders","summary":"List purchase orders with number, status, vendor, issue and delivery dates and total. Use for \"Which purchase orders are","description":"List purchase orders with number, status, vendor, issue and delivery dates and total. Use for \"Which purchase orders are open\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"region":{"description":"Merge data region host prefix: 'api' (US, default), 'api-eu' (EU) or 'api-ap' (Asia-Pacific), matching where your Merge account is hosted.","enum":["api","api-eu","api-ap"],"title":"Region","type":"string"},"page_size":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":25,"description":"How many records per page (1 to 100).","title":"Page Size"},"cursor":{"anyOf":[{"maxLength":300,"type":"string"},{"type":"null"}],"default":null,"description":"Pagination cursor: the 'next' value of the previous answer.","title":"Cursor"},"company_id":{"anyOf":[{"maxLength":64,"type":"string"},{"type":"null"}],"default":null,"description":"Only records of this company (Merge company id), for multi-entity ledgers.","title":"Company Id"},"modified_after":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Only records synced by Merge after this ISO 8601 time.","title":"Modified After"},"issue_date_after":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Only purchase orders issued after this ISO 8601 time.","title":"Issue Date After"},"issue_date_before":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Only purchase orders issued before this ISO 8601 time.","title":"Issue Date Before"}},"required":["region"],"title":"list_purchase_ordersArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_journal_entries":{"post":{"operationId":"list_journal_entries","summary":"List journal entries with date, journal number, memo, posting status and currency (lines are not returned). Use for \"Sho","description":"List journal entries with date, journal number, memo, posting status and currency (lines are not returned). Use for \"Show recent journal entries\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"region":{"description":"Merge data region host prefix: 'api' (US, default), 'api-eu' (EU) or 'api-ap' (Asia-Pacific), matching where your Merge account is hosted.","enum":["api","api-eu","api-ap"],"title":"Region","type":"string"},"page_size":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":25,"description":"How many records per page (1 to 100).","title":"Page Size"},"cursor":{"anyOf":[{"maxLength":300,"type":"string"},{"type":"null"}],"default":null,"description":"Pagination cursor: the 'next' value of the previous answer.","title":"Cursor"},"company_id":{"anyOf":[{"maxLength":64,"type":"string"},{"type":"null"}],"default":null,"description":"Only records of this company (Merge company id), for multi-entity ledgers.","title":"Company Id"},"modified_after":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Only records synced by Merge after this ISO 8601 time.","title":"Modified After"},"transaction_date_after":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Only records dated after this ISO 8601 time.","title":"Transaction Date After"},"transaction_date_before":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Only records dated before this ISO 8601 time.","title":"Transaction Date Before"}},"required":["region"],"title":"list_journal_entriesArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_balance_sheets":{"post":{"operationId":"list_balance_sheets","summary":"List balance sheet reports with date, currency and net assets (line sections are not returned). Use for \"What is our lat","description":"List balance sheet reports with date, currency and net assets (line sections are not returned). Use for \"What is our latest balance sheet net assets\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"region":{"description":"Merge data region host prefix: 'api' (US, default), 'api-eu' (EU) or 'api-ap' (Asia-Pacific), matching where your Merge account is hosted.","enum":["api","api-eu","api-ap"],"title":"Region","type":"string"},"page_size":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":25,"description":"How many records per page (1 to 100).","title":"Page Size"},"cursor":{"anyOf":[{"maxLength":300,"type":"string"},{"type":"null"}],"default":null,"description":"Pagination cursor: the 'next' value of the previous answer.","title":"Cursor"},"company_id":{"anyOf":[{"maxLength":64,"type":"string"},{"type":"null"}],"default":null,"description":"Only records of this company (Merge company id), for multi-entity ledgers.","title":"Company Id"},"modified_after":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Only records synced by Merge after this ISO 8601 time.","title":"Modified After"}},"required":["region"],"title":"list_balance_sheetsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_income_statements":{"post":{"operationId":"list_income_statements","summary":"List income statement reports with period, gross profit, net operating income and net income (line sections are not retu","description":"List income statement reports with period, gross profit, net operating income and net income (line sections are not returned). Use for \"What were our net income and gross profit by period\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"region":{"description":"Merge data region host prefix: 'api' (US, default), 'api-eu' (EU) or 'api-ap' (Asia-Pacific), matching where your Merge account is hosted.","enum":["api","api-eu","api-ap"],"title":"Region","type":"string"},"page_size":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":25,"description":"How many records per page (1 to 100).","title":"Page Size"},"cursor":{"anyOf":[{"maxLength":300,"type":"string"},{"type":"null"}],"default":null,"description":"Pagination cursor: the 'next' value of the previous answer.","title":"Cursor"},"company_id":{"anyOf":[{"maxLength":64,"type":"string"},{"type":"null"}],"default":null,"description":"Only records of this company (Merge company id), for multi-entity ledgers.","title":"Company Id"},"modified_after":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Only records synced by Merge after this ISO 8601 time.","title":"Modified After"}},"required":["region"],"title":"list_income_statementsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_cash_flow_statements":{"post":{"operationId":"list_cash_flow_statements","summary":"List cash flow statements with period, cash at start and end of period and currency (activity sections are not returned)","description":"List cash flow statements with period, cash at start and end of period and currency (activity sections are not returned). Use for \"How did our cash position change over the period\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"region":{"description":"Merge data region host prefix: 'api' (US, default), 'api-eu' (EU) or 'api-ap' (Asia-Pacific), matching where your Merge account is hosted.","enum":["api","api-eu","api-ap"],"title":"Region","type":"string"},"page_size":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":25,"description":"How many records per page (1 to 100).","title":"Page Size"},"cursor":{"anyOf":[{"maxLength":300,"type":"string"},{"type":"null"}],"default":null,"description":"Pagination cursor: the 'next' value of the previous answer.","title":"Cursor"},"company_id":{"anyOf":[{"maxLength":64,"type":"string"},{"type":"null"}],"default":null,"description":"Only records of this company (Merge company id), for multi-entity ledgers.","title":"Company Id"},"modified_after":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Only records synced by Merge after this ISO 8601 time.","title":"Modified After"}},"required":["region"],"title":"list_cash_flow_statementsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}}}}