{
"error": {
"code": "UNAUTHORIZED",
"message": "Invalid or expired API Key",
"request_id": "req_example",
"suggested_action": "Send an API key in X-API-Key, or an OAuth access token as Authorization: Bearer. Refresh an expired access token.",
"documentation_url": "https://entendre.ai/docs/get-started/authentication"
}
}
{
"error": {
"code": "UNAUTHORIZED",
"message": "Invalid or expired API Key",
"request_id": "req_example",
"suggested_action": "Send an API key in X-API-Key, or an OAuth access token as Authorization: Bearer. Refresh an expired access token.",
"documentation_url": "https://entendre.ai/docs/get-started/authentication"
}
}
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Entendre Docs","description":"Documentation for the Entendre Unified API and MCP server: accounting, treasury and documents for crypto and fiat finance teams.","colors":{"primary":"#6366F1","light":"#818CF8","dark":"#4F46E5"},"logo":{"light":"https://mintcdn.com/entendre/iLG_yPYNFEzW9piO/logo.svg?fit=max\u0026auto=format\u0026n=iLG_yPYNFEzW9piO\u0026q=85\u0026s=e7ab9f91191f7aa74918c227c0675fc6","dark":"https://mintcdn.com/entendre/iLG_yPYNFEzW9piO/logo.svg?fit=max\u0026auto=format\u0026n=iLG_yPYNFEzW9piO\u0026q=85\u0026s=e7ab9f91191f7aa74918c227c0675fc6"},"favicon":"https://mintcdn.com/entendre/4Vx5A6rF_dhHssvv/favicon.ico?fit=max\u0026auto=format\u0026n=4Vx5A6rF_dhHssvv\u0026q=85\u0026s=35f0090147c1f9afbde9638b91c7cd74","api":{"params":{"expanded":"closed"},"playground":{"display":"simple"},"examples":{"defaults":"required","languages":["bash","javascript","python"],"prefill":true}},"navbar":{"primary":{"type":"button","label":"Sign in","href":"https://app.entendre.finance"}},"footer":{"socials":{"x":"https://x.com/entendreai","website":"https://entendre.ai"}},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"entendre","hasAudioNarration":false,"actualSubdomain":"entendre","customDomains":["entendre.ai"],"gitSource":{"type":"github","owner":"entendrefinance","repo":"monorepo","deployBranch":"master","contentDirectory":"docs","isPrivate":true,"mountPath":"","label":""},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6af4a1deb7449631187b152a","clientVersion":"0.0.4117","searchFilterCounts":[{"language":"default","tag":"API Reference","count":123},{"language":"default","tag":"Core","count":41},{"language":"default","tag":"Accounting","count":26},{"language":"default","tag":"Agents","count":19},{"language":"default","tag":"Firms","count":17},{"language":"default","tag":"Integrations","count":16},{"language":"default","tag":"Cash Application","count":10},{"language":"default","tag":"GL Mapping","count":10},{"language":"default","tag":"Reporting","count":10},{"language":"default","tag":"Journals","count":9}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"/docs","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":".entendre-body-collapsed>:not(.api-section-heading){display:none}.entendre-body-toggle{margin-left:0.75rem;padding:0.25rem 0.5rem;border:1px solid currentColor;border-radius:0.375rem;background:transparent;color:inherit;font:inherit;font-size:0.75rem;cursor:pointer;white-space:nowrap}.entendre-body-toggle:focus-visible{outline:2px solid currentColor;outline-offset:3px}#topbar-cta-button svg{display:none}#topbar-cta-button a{padding-right:0.75rem}"}],"page":{"pagePath":"api-reference/reporting/financial-insights/get-financial-insights","slug":"/api-reference/reporting/financial-insights/get-financial-insights","pageMetadata":{"authority":"canonical","as-of":"2026-09-09T00:00:00.000Z","owner":"amr","title":"Get financial insights","description":"Returns selected financial metrics and their formulas, including revenue, profit, expenses, spending, burn rate, runway and cash flow.","openapi":"openapi-public-preview.json GET /v1/reports/financial-insights","href":"/api-reference/reporting/financial-insights/get-financial-insights"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Returns selected financial metrics and their formulas, including revenue, profit, expenses, spending, burn rate, runway and cash flow.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"authority":"canonical","as-of":"2026-09-09T00:00:00.000Z","owner":"amr","title":"Get financial insights","description":"Returns selected financial metrics and their formulas, including revenue, profit, expenses, spending, burn rate, runway and cash flow.","openapi":"openapi-public-preview.json GET /v1/reports/financial-insights","href":"/api-reference/reporting/financial-insights/get-financial-insights"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":["/docs/_mintlify/custom/entendre/f23b26253e1cc75d/request-body.js"],"openApiReferenceData":{"operation":{"operationId":"get_financial_insights","summary":"Get financial insights","description":"Returns selected financial metrics and their formulas, including revenue, profit, expenses, spending, burn rate, runway and cash flow.","tags":["Financial Insights"],"parameters":["0513c1f6-3e4a-4dae-891b-411d56d6de82","ff356436-8d4d-4289-8cd6-e11b5663b27f","559fe819-9e78-4548-a6fd-3e6cdda318fe","af407998-84c5-4dd8-87fa-6a7b2fb8fe92","d82ba5c7-3dde-49fc-bb9e-d0194c020117","fb7c6040-a6dd-4ee9-8f50-eda6bb9eeb1e","8bd7753b-7b07-4e7f-9168-9a001c595421","3c021ec0-98f5-4858-b2a7-dcd8c3900004"],"responses":{"200":"602f36cd-0239-4471-8e64-719702953adf","400":"5c0bf0ac-5c41-4735-8ea1-4981e8a2655c","401":"c9e93163-d9aa-4d50-bdd0-630dbb0d0902","403":"db40cac2-2d77-45b3-914a-4f7f2fd119ae","404":"6fa58edb-940d-49c7-b4ea-9ada10dbf581","429":"22239bc6-7ed1-4dfb-a428-32d0eb171f1f","500":"80807859-6b17-48b6-b03a-0d6c6397f4b5","503":"59b23539-4395-40b4-859c-8ec2985e195f"},"x-product":"Reporting","x-access-class":"read","method":"get","type":"path","servers":["9e59403a-73c1-494e-9818-59dd36bdbfad"],"security":["1fe0c3f6-35d9-41d2-ac91-13356ced44bb"],"path":"/v1/reports/financial-insights","baseUrlOptions":["https://api.entendre.finance"],"title":"Get financial insights","codeSamples":[],"requestExampleLanguages":["bash","javascript","python"],"requiredOnlyExamples":true,"requestExampleType":"generated","responseExampleType":"generated","prefillPlaygroundWithExample":true,"prefillPlaygroundExamples":[]},"dependencies":{"parameters":{"0513c1f6-3e4a-4dae-891b-411d56d6de82":{"name":"legal_entity_id","in":"query","required":false,"description":"Legal entity ID (`le_…`). Can be combined with `legal_entity_ids`.","schema":{"type":"string","example":"le_507f1f77bcf86cd799439011","isRequired":false,"description":"Legal entity ID (`le_…`). Can be combined with `legal_entity_ids`.","uniqueKey":"","typeLabel":"string"}},"ff356436-8d4d-4289-8cd6-e11b5663b27f":{"name":"legal_entity_ids","in":"query","required":false,"schema":{"type":"array","items":{"type":"string","description":"Legal entity ID (`le_…`).","example":"le_507f1f77bcf86cd799439011","uniqueKey":"items.[INDEX]","typeLabel":"string"},"maxItems":100,"uniqueItems":true,"isRequired":false,"description":"Legal entities to include (`le_…`). Omit to include all.","uniqueKey":"","typeLabel":"string[]"},"style":"form","explode":true,"description":"Legal entities to include (`le_…`). Omit to include all."},"559fe819-9e78-4548-a6fd-3e6cdda318fe":{"name":"account_ids","in":"query","required":false,"description":"Comma-separated fac_ financial account IDs. Ignored when `basis=ledger`; `meta.account_ids_ignored` is then set.","schema":{"type":"array","items":{"type":"string","uniqueKey":"items.[INDEX]","typeLabel":"string"},"isRequired":false,"description":"Comma-separated fac_ financial account IDs. Ignored when `basis=ledger`; `meta.account_ids_ignored` is then set.","uniqueKey":"","typeLabel":"string[]"},"style":"form","explode":false},"af407998-84c5-4dd8-87fa-6a7b2fb8fe92":{"name":"start_date","in":"query","required":true,"description":"Inclusive interval start.","schema":{"type":"string","format":"date-time","example":"2026-08-31T12:00:00Z","isRequired":true,"description":"Inclusive interval start.","uniqueKey":"","typeLabel":"string\u003cdate-time>"}},"d82ba5c7-3dde-49fc-bb9e-d0194c020117":{"name":"end_date","in":"query","required":true,"description":"Inclusive interval end; start must not exceed end.","schema":{"type":"string","format":"date-time","example":"2026-08-31T12:00:00Z","isRequired":true,"description":"Inclusive interval end; start must not exceed end.","uniqueKey":"","typeLabel":"string\u003cdate-time>"}},"fb7c6040-a6dd-4ee9-8f50-eda6bb9eeb1e":{"name":"metrics","in":"query","required":true,"schema":{"type":"array","items":{"type":"string","description":"Metric identifier.","enum":["revenue","profit","expenses","spending","burn_rate","runway","cash_flow","treasury_flow"],"uniqueKey":"items.[INDEX]","typeLabel":"enum\u003cstring>"},"minItems":1,"maxItems":8,"isRequired":true,"description":"Metrics to return.","uniqueKey":"","typeLabel":"enum\u003cstring>[]"},"style":"form","explode":true,"description":"Metrics to return."},"8bd7753b-7b07-4e7f-9168-9a001c595421":{"name":"basis","in":"query","required":true,"description":"Required. `ledger` for the posted books, or `transactions` for observed cash movements.","schema":{"type":"string","enum":["ledger","transactions"],"isRequired":true,"description":"Required. `ledger` for the posted books, or `transactions` for observed cash movements.","uniqueKey":"","typeLabel":"enum\u003cstring>"}},"3c021ec0-98f5-4858-b2a7-dcd8c3900004":{"name":"granularity","in":"query","required":false,"description":"Bucket size. For `basis=ledger`, the response shows the monthly buckets used.","schema":{"type":"string","enum":["daily","weekly","monthly"],"isRequired":false,"description":"Bucket size. For `basis=ledger`, the response shows the monthly buckets used.","uniqueKey":"","typeLabel":"enum\u003cstring>"}}},"responses":{"602f36cd-0239-4471-8e64-719702953adf":{"description":"The request succeeded.","headers":{"X-Request-Id":{"description":"Support correlation ID.","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","description":"Not paginated. Each item has its own `meta`. Burn rate and runway always use monthly buckets, whatever the `granularity`.","properties":{"data":{"type":"array","items":{"oneOf":[{"type":"object","required":["metric","value","unit","formula","reason","details","meta"],"properties":{"metric":{"type":"string","const":"revenue","description":"Metric name.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.0.metric","typeLabel":"string"},"value":{"oneOf":[{"type":"string","description":"Summary decimal value; null for unavailable or inapplicable metrics.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.0.value.oneOf.0","typeLabel":"string"},{"type":"null","description":"Summary decimal value; null for unavailable or inapplicable metrics.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.0.value.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.0.value","typeLabel":"string | null"},"unit":{"type":"string","description":"Unit of the value, such as `USD` or `months`.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.0.unit","typeLabel":"string"},"formula":{"type":"string","description":"Formula and effective calculation basis.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.0.formula","typeLabel":"string"},"reason":{"oneOf":[{"type":"string","description":"Why a value is unavailable or qualified.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.0.reason.oneOf.0","typeLabel":"string"},{"type":"null","description":"Why a value is unavailable or qualified.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.0.reason.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.0.reason","typeLabel":"string | null"},"details":{"type":"object","required":["total","currency","time_series"],"properties":{"total":{"type":"string","description":"Total income over the window (decimal string).","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.0.details.total","typeLabel":"string"},"currency":{"type":"string","example":"USD","description":"Currency of the amounts.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.0.details.currency","typeLabel":"string"},"time_series":{"type":"array","items":{"type":"object","required":["period_start","period_end","amount"],"description":"One bucket of a single-amount financial-insight time series (used by revenue `time_series` and burn-rate `trend`). Monetary amounts are decimal strings.","properties":{"period_start":{"type":"string","format":"date-time","description":"Start of the bucket.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.0.details.time_series.items.[INDEX].period_start","typeLabel":"string\u003cdate-time>"},"period_end":{"type":"string","format":"date-time","description":"End of the bucket.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.0.details.time_series.items.[INDEX].period_end","typeLabel":"string\u003cdate-time>"},"amount":{"type":"string","description":"Decimal-string amount for the bucket (revenue: income; burn-rate: expenses).","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.0.details.time_series.items.[INDEX].amount","typeLabel":"string"}},"uniqueKey":"data.items.[INDEX].oneOf.0.details.time_series.items.[INDEX]","typeLabel":"object"},"description":"Values for each bucket.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.0.details.time_series","typeLabel":"object[]"},"data_quality":{"type":"object","description":"Transactions that the figures exclude, and why. Bank removals and amounts without a USD value are excluded.","required":["status","window_transaction_count","excluded_spam_count","excluded_spam_by_currency","excluded_non_pl_classification_count","excluded_non_pl_classification_by_currency","no_posted_journal_entry_count","warnings","excluded_bank_removed_count","excluded_bank_removed_by_currency","excluded_currency_valuation_count","excluded_currency_valuation_by_currency","bank_correction_review_count","plaid_enrichment"],"properties":{"status":{"type":"string","enum":["ok","warnings","unavailable"],"description":"`ok`, `warnings`, or `unavailable` when the exclusions could not be calculated.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.0.details.data_quality.status","typeLabel":"enum\u003cstring>"},"window_transaction_count":{"type":"integer","description":"Transactions in the window, including excluded ones.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.0.details.data_quality.window_transaction_count","typeLabel":"integer"},"excluded_spam_count":{"type":"integer","description":"Spam-flagged transactions excluded from the figures.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.0.details.data_quality.excluded_spam_count","typeLabel":"integer"},"excluded_spam_by_currency":{"type":"array","items":{"type":"object","required":["currency","transaction_count","amount"],"properties":{"currency":{"type":"string","description":"Currency code from the excluded transaction rows. `UNKNOWN` means the source row has no currency.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.0.details.data_quality.excluded_spam_by_currency.items.[INDEX].currency","typeLabel":"string"},"transaction_count":{"type":"integer","description":"Excluded transactions in this currency block.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.0.details.data_quality.excluded_spam_by_currency.items.[INDEX].transaction_count","typeLabel":"integer"},"amount":{"type":"string","description":"Gross value for this currency (decimal string, 2 decimal places).","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.0.details.data_quality.excluded_spam_by_currency.items.[INDEX].amount","typeLabel":"string"}},"uniqueKey":"data.items.[INDEX].oneOf.0.details.data_quality.excluded_spam_by_currency.items.[INDEX]","typeLabel":"object"},"description":"Excluded spam transactions, by currency. Amounts are decimal strings.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.0.details.data_quality.excluded_spam_by_currency","typeLabel":"object[]"},"excluded_non_pl_classification_count":{"type":"integer","description":"Transactions excluded because their type is not income or expense, such as transfers and swaps.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.0.details.data_quality.excluded_non_pl_classification_count","typeLabel":"integer"},"excluded_non_pl_classification_by_currency":{"type":"array","items":{"type":"object","required":["currency","transaction_count","amount"],"properties":{"currency":{"type":"string","description":"Currency code from the excluded transaction rows. `UNKNOWN` means the source row has no currency.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.0.details.data_quality.excluded_non_pl_classification_by_currency.items.[INDEX].currency","typeLabel":"string"},"transaction_count":{"type":"integer","description":"Excluded transactions in this currency block.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.0.details.data_quality.excluded_non_pl_classification_by_currency.items.[INDEX].transaction_count","typeLabel":"integer"},"amount":{"type":"string","description":"Gross value for this currency (decimal string, 2 decimal places).","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.0.details.data_quality.excluded_non_pl_classification_by_currency.items.[INDEX].amount","typeLabel":"string"}},"uniqueKey":"data.items.[INDEX].oneOf.0.details.data_quality.excluded_non_pl_classification_by_currency.items.[INDEX]","typeLabel":"object"},"description":"Excluded transfers and other non-income, non-expense transactions, by currency.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.0.details.data_quality.excluded_non_pl_classification_by_currency","typeLabel":"object[]"},"no_posted_journal_entry_count":{"type":"integer","description":"Transactions in the window with no posted journal. Same as the `has_posted_journal_entry=false` filter.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.0.details.data_quality.no_posted_journal_entry_count","typeLabel":"integer"},"warnings":{"type":"array","items":{"type":"string","uniqueKey":"data.items.[INDEX].oneOf.0.details.data_quality.warnings.items.[INDEX]","typeLabel":"string"},"description":"[WARNING]-prefixed prose for each non-zero excluded bucket. Surface these whenever material.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.0.details.data_quality.warnings","typeLabel":"string[]"},"excluded_bank_removed_count":{"type":"integer","minimum":0,"description":"Transactions excluded because the bank removed them.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.0.details.data_quality.excluded_bank_removed_count","typeLabel":"integer"},"excluded_bank_removed_by_currency":{"type":"array","items":{"type":"object","required":["currency","transaction_count","amount"],"properties":{"currency":{"type":"string","description":"Currency code from the excluded transaction rows. `UNKNOWN` means the source row has no currency.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.0.details.data_quality.excluded_bank_removed_by_currency.items.[INDEX].currency","typeLabel":"string"},"transaction_count":{"type":"integer","description":"Excluded transactions in this currency block.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.0.details.data_quality.excluded_bank_removed_by_currency.items.[INDEX].transaction_count","typeLabel":"integer"},"amount":{"type":"string","description":"Gross value for this currency (decimal string, 2 decimal places).","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.0.details.data_quality.excluded_bank_removed_by_currency.items.[INDEX].amount","typeLabel":"string"}},"uniqueKey":"data.items.[INDEX].oneOf.0.details.data_quality.excluded_bank_removed_by_currency.items.[INDEX]","typeLabel":"object"},"description":"Bank removals grouped by currency.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.0.details.data_quality.excluded_bank_removed_by_currency","typeLabel":"object[]"},"excluded_currency_valuation_count":{"type":"integer","minimum":0,"description":"Transactions excluded because they have no USD value.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.0.details.data_quality.excluded_currency_valuation_count","typeLabel":"integer"},"excluded_currency_valuation_by_currency":{"type":"array","items":{"type":"object","required":["currency","transaction_count","amount"],"properties":{"currency":{"type":"string","description":"Currency code from the excluded transaction rows. `UNKNOWN` means the source row has no currency.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.0.details.data_quality.excluded_currency_valuation_by_currency.items.[INDEX].currency","typeLabel":"string"},"transaction_count":{"type":"integer","description":"Excluded transactions in this currency block.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.0.details.data_quality.excluded_currency_valuation_by_currency.items.[INDEX].transaction_count","typeLabel":"integer"},"amount":{"type":"string","description":"Gross value for this currency (decimal string, 2 decimal places).","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.0.details.data_quality.excluded_currency_valuation_by_currency.items.[INDEX].amount","typeLabel":"string"}},"uniqueKey":"data.items.[INDEX].oneOf.0.details.data_quality.excluded_currency_valuation_by_currency.items.[INDEX]","typeLabel":"object"},"description":"Transactions without a USD value, grouped by currency.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.0.details.data_quality.excluded_currency_valuation_by_currency","typeLabel":"object[]"},"bank_correction_review_count":{"type":"integer","minimum":0,"description":"Transactions with a bank correction to review.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.0.details.data_quality.bank_correction_review_count","typeLabel":"integer"},"plaid_enrichment":{"type":"object","description":"Coverage of Plaid enrichment in the window.","required":["transaction_count","merchant_identity_count","running_balance_count","category_versions","category_confidence"],"properties":{"transaction_count":{"type":"integer","minimum":0,"description":"Transactions with Plaid enrichment.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.0.details.data_quality.plaid_enrichment.transaction_count","typeLabel":"integer"},"merchant_identity_count":{"type":"integer","minimum":0,"description":"Transactions with a Plaid merchant ID.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.0.details.data_quality.plaid_enrichment.merchant_identity_count","typeLabel":"integer"},"running_balance_count":{"type":"integer","minimum":0,"description":"Transactions with a running balance.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.0.details.data_quality.plaid_enrichment.running_balance_count","typeLabel":"integer"},"category_versions":{"type":"array","items":{"type":"object","required":["version","transaction_count"],"properties":{"version":{"type":"string","description":"Plaid category version.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.0.details.data_quality.plaid_enrichment.category_versions.items.[INDEX].version","typeLabel":"string"},"transaction_count":{"type":"integer","minimum":0,"description":"Transactions with this version.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.0.details.data_quality.plaid_enrichment.category_versions.items.[INDEX].transaction_count","typeLabel":"integer"}},"uniqueKey":"data.items.[INDEX].oneOf.0.details.data_quality.plaid_enrichment.category_versions.items.[INDEX]","typeLabel":"object"},"description":"Transactions by Plaid category version.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.0.details.data_quality.plaid_enrichment.category_versions","typeLabel":"object[]"},"category_confidence":{"type":"array","items":{"type":"object","required":["confidence","transaction_count"],"properties":{"confidence":{"type":"string","description":"Plaid confidence level.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.0.details.data_quality.plaid_enrichment.category_confidence.items.[INDEX].confidence","typeLabel":"string"},"transaction_count":{"type":"integer","minimum":0,"description":"Transactions with this confidence.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.0.details.data_quality.plaid_enrichment.category_confidence.items.[INDEX].transaction_count","typeLabel":"integer"}},"uniqueKey":"data.items.[INDEX].oneOf.0.details.data_quality.plaid_enrichment.category_confidence.items.[INDEX]","typeLabel":"object"},"description":"Transactions by Plaid category confidence.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.0.details.data_quality.plaid_enrichment.category_confidence","typeLabel":"object[]"}},"isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.0.details.data_quality.plaid_enrichment","typeLabel":"object"}},"uniqueKey":"data.items.[INDEX].oneOf.0.details.data_quality","typeLabel":"object"}},"description":"Values of the metric.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.0.details","typeLabel":"object"},"meta":{"type":"object","required":["source","granularity","start_date","end_date","currency"],"properties":{"source":{"type":"string","enum":["gl","transactions"],"description":"Data source: `gl` for `basis=ledger`, `transactions` for `basis=transactions`.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.0.meta.source","typeLabel":"enum\u003cstring>"},"granularity":{"type":"string","enum":["daily","weekly","monthly"],"description":"Bucket size.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.0.meta.granularity","typeLabel":"enum\u003cstring>"},"start_date":{"type":"string","format":"date-time","description":"Start of the window.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.0.meta.start_date","typeLabel":"string\u003cdate-time>"},"end_date":{"type":"string","format":"date-time","description":"End of the window.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.0.meta.end_date","typeLabel":"string\u003cdate-time>"},"currency":{"type":"string","example":"USD","description":"Currency of the amounts.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.0.meta.currency","typeLabel":"string"},"granularity_note":{"oneOf":[{"type":"string","description":"Note when the bucket size differs from the request.","uniqueKey":"data.items.[INDEX].oneOf.0.meta.granularity_note.oneOf.0","typeLabel":"string"},{"type":"null","description":"Note when the bucket size differs from the request.","uniqueKey":"data.items.[INDEX].oneOf.0.meta.granularity_note.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.items.[INDEX].oneOf.0.meta.granularity_note","typeLabel":"string | null"},"period_snapped_note":{"oneOf":[{"type":"string","description":"Present when `basis=ledger` and the window is not whole months. The totals then cover the full accounting periods.","uniqueKey":"data.items.[INDEX].oneOf.0.meta.period_snapped_note.oneOf.0","typeLabel":"string"},{"type":"null","description":"Present when `basis=ledger` and the window is not whole months. The totals then cover the full accounting periods.","uniqueKey":"data.items.[INDEX].oneOf.0.meta.period_snapped_note.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.items.[INDEX].oneOf.0.meta.period_snapped_note","typeLabel":"string | null"},"account_ids_ignored":{"oneOf":[{"type":"boolean","description":"`true` when `account_ids` was ignored.","uniqueKey":"data.items.[INDEX].oneOf.0.meta.account_ids_ignored.oneOf.0","typeLabel":"boolean"},{"type":"null","description":"`true` when `account_ids` was ignored.","uniqueKey":"data.items.[INDEX].oneOf.0.meta.account_ids_ignored.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.items.[INDEX].oneOf.0.meta.account_ids_ignored","typeLabel":"boolean | null"},"account_ids_ignored_reason":{"oneOf":[{"type":"string","description":"Why `account_ids` was ignored.","uniqueKey":"data.items.[INDEX].oneOf.0.meta.account_ids_ignored_reason.oneOf.0","typeLabel":"string"},{"type":"null","description":"Why `account_ids` was ignored.","uniqueKey":"data.items.[INDEX].oneOf.0.meta.account_ids_ignored_reason.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.items.[INDEX].oneOf.0.meta.account_ids_ignored_reason","typeLabel":"string | null"},"basis":{"type":"string","enum":["cash","accrual"],"description":"Accounting basis of the figures: cash (basis=transactions, settled cash movements) or accrual (basis=ledger, the posted double-entry ledger).","uniqueKey":"data.items.[INDEX].oneOf.0.meta.basis","typeLabel":"enum\u003cstring>"},"cash_basis_caveat":{"oneOf":[{"type":"string","description":"Present when `basis=transactions`. Expenses do not include unpaid bills, accruals or non-cash journals.","uniqueKey":"data.items.[INDEX].oneOf.0.meta.cash_basis_caveat.oneOf.0","typeLabel":"string"},{"type":"null","description":"Present when `basis=transactions`. Expenses do not include unpaid bills, accruals or non-cash journals.","uniqueKey":"data.items.[INDEX].oneOf.0.meta.cash_basis_caveat.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.items.[INDEX].oneOf.0.meta.cash_basis_caveat","typeLabel":"string | null"}},"isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.0.meta","typeLabel":"object"}},"additionalProperties":false,"uniqueKey":"data.items.[INDEX].oneOf.0","typeLabel":"object"},{"type":"object","required":["metric","value","unit","formula","reason","details","meta"],"properties":{"metric":{"type":"string","const":"profit","description":"Metric name.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.1.metric","typeLabel":"string"},"value":{"oneOf":[{"type":"string","description":"Summary decimal value; null for unavailable or inapplicable metrics.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.1.value.oneOf.0","typeLabel":"string"},{"type":"null","description":"Summary decimal value; null for unavailable or inapplicable metrics.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.1.value.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.1.value","typeLabel":"string | null"},"unit":{"type":"string","description":"Unit of the value, such as `USD` or `months`.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.1.unit","typeLabel":"string"},"formula":{"type":"string","description":"Formula and effective calculation basis.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.1.formula","typeLabel":"string"},"reason":{"oneOf":[{"type":"string","description":"Why a value is unavailable or qualified.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.1.reason.oneOf.0","typeLabel":"string"},{"type":"null","description":"Why a value is unavailable or qualified.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.1.reason.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.1.reason","typeLabel":"string | null"},"details":{"type":"object","required":["total_revenue","total_expenses","total_profit","currency","time_series"],"properties":{"total_revenue":{"type":"string","description":"Total income (decimal string).","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.1.details.total_revenue","typeLabel":"string"},"total_expenses":{"type":"string","description":"Total expenses (decimal string).","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.1.details.total_expenses","typeLabel":"string"},"total_profit":{"type":"string","description":"total_revenue minus total_expenses (decimal string).","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.1.details.total_profit","typeLabel":"string"},"currency":{"type":"string","example":"USD","description":"Currency of the amounts.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.1.details.currency","typeLabel":"string"},"time_series":{"type":"array","items":{"type":"object","required":["period_start","period_end","revenue","expenses","profit"],"properties":{"period_start":{"type":"string","format":"date-time","description":"Start of the bucket.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.1.details.time_series.items.[INDEX].period_start","typeLabel":"string\u003cdate-time>"},"period_end":{"type":"string","format":"date-time","description":"End of the bucket.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.1.details.time_series.items.[INDEX].period_end","typeLabel":"string\u003cdate-time>"},"revenue":{"type":"string","description":"Revenue in the bucket (decimal string).","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.1.details.time_series.items.[INDEX].revenue","typeLabel":"string"},"expenses":{"type":"string","description":"Expenses in the bucket (decimal string).","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.1.details.time_series.items.[INDEX].expenses","typeLabel":"string"},"profit":{"type":"string","description":"Revenue minus expenses in the bucket (decimal string).","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.1.details.time_series.items.[INDEX].profit","typeLabel":"string"}},"uniqueKey":"data.items.[INDEX].oneOf.1.details.time_series.items.[INDEX]","typeLabel":"object"},"description":"Values for each bucket.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.1.details.time_series","typeLabel":"object[]"},"data_quality":{"type":"object","description":"Transactions that the figures exclude, and why. Bank removals and amounts without a USD value are excluded.","required":["status","window_transaction_count","excluded_spam_count","excluded_spam_by_currency","excluded_non_pl_classification_count","excluded_non_pl_classification_by_currency","no_posted_journal_entry_count","warnings","excluded_bank_removed_count","excluded_bank_removed_by_currency","excluded_currency_valuation_count","excluded_currency_valuation_by_currency","bank_correction_review_count","plaid_enrichment"],"properties":{"status":{"type":"string","enum":["ok","warnings","unavailable"],"description":"`ok`, `warnings`, or `unavailable` when the exclusions could not be calculated.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.1.details.data_quality.status","typeLabel":"enum\u003cstring>"},"window_transaction_count":{"type":"integer","description":"Transactions in the window, including excluded ones.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.1.details.data_quality.window_transaction_count","typeLabel":"integer"},"excluded_spam_count":{"type":"integer","description":"Spam-flagged transactions excluded from the figures.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.1.details.data_quality.excluded_spam_count","typeLabel":"integer"},"excluded_spam_by_currency":{"type":"array","items":{"type":"object","required":["currency","transaction_count","amount"],"properties":{"currency":{"type":"string","description":"Currency code from the excluded transaction rows. `UNKNOWN` means the source row has no currency.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.1.details.data_quality.excluded_spam_by_currency.items.[INDEX].currency","typeLabel":"string"},"transaction_count":{"type":"integer","description":"Excluded transactions in this currency block.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.1.details.data_quality.excluded_spam_by_currency.items.[INDEX].transaction_count","typeLabel":"integer"},"amount":{"type":"string","description":"Gross value for this currency (decimal string, 2 decimal places).","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.1.details.data_quality.excluded_spam_by_currency.items.[INDEX].amount","typeLabel":"string"}},"uniqueKey":"data.items.[INDEX].oneOf.1.details.data_quality.excluded_spam_by_currency.items.[INDEX]","typeLabel":"object"},"description":"Excluded spam transactions, by currency. Amounts are decimal strings.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.1.details.data_quality.excluded_spam_by_currency","typeLabel":"object[]"},"excluded_non_pl_classification_count":{"type":"integer","description":"Transactions excluded because their type is not income or expense, such as transfers and swaps.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.1.details.data_quality.excluded_non_pl_classification_count","typeLabel":"integer"},"excluded_non_pl_classification_by_currency":{"type":"array","items":{"type":"object","required":["currency","transaction_count","amount"],"properties":{"currency":{"type":"string","description":"Currency code from the excluded transaction rows. `UNKNOWN` means the source row has no currency.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.1.details.data_quality.excluded_non_pl_classification_by_currency.items.[INDEX].currency","typeLabel":"string"},"transaction_count":{"type":"integer","description":"Excluded transactions in this currency block.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.1.details.data_quality.excluded_non_pl_classification_by_currency.items.[INDEX].transaction_count","typeLabel":"integer"},"amount":{"type":"string","description":"Gross value for this currency (decimal string, 2 decimal places).","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.1.details.data_quality.excluded_non_pl_classification_by_currency.items.[INDEX].amount","typeLabel":"string"}},"uniqueKey":"data.items.[INDEX].oneOf.1.details.data_quality.excluded_non_pl_classification_by_currency.items.[INDEX]","typeLabel":"object"},"description":"Excluded transfers and other non-income, non-expense transactions, by currency.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.1.details.data_quality.excluded_non_pl_classification_by_currency","typeLabel":"object[]"},"no_posted_journal_entry_count":{"type":"integer","description":"Transactions in the window with no posted journal. Same as the `has_posted_journal_entry=false` filter.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.1.details.data_quality.no_posted_journal_entry_count","typeLabel":"integer"},"warnings":{"type":"array","items":{"type":"string","uniqueKey":"data.items.[INDEX].oneOf.1.details.data_quality.warnings.items.[INDEX]","typeLabel":"string"},"description":"[WARNING]-prefixed prose for each non-zero excluded bucket. Surface these whenever material.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.1.details.data_quality.warnings","typeLabel":"string[]"},"excluded_bank_removed_count":{"type":"integer","minimum":0,"description":"Transactions excluded because the bank removed them.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.1.details.data_quality.excluded_bank_removed_count","typeLabel":"integer"},"excluded_bank_removed_by_currency":{"type":"array","items":{"type":"object","required":["currency","transaction_count","amount"],"properties":{"currency":{"type":"string","description":"Currency code from the excluded transaction rows. `UNKNOWN` means the source row has no currency.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.1.details.data_quality.excluded_bank_removed_by_currency.items.[INDEX].currency","typeLabel":"string"},"transaction_count":{"type":"integer","description":"Excluded transactions in this currency block.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.1.details.data_quality.excluded_bank_removed_by_currency.items.[INDEX].transaction_count","typeLabel":"integer"},"amount":{"type":"string","description":"Gross value for this currency (decimal string, 2 decimal places).","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.1.details.data_quality.excluded_bank_removed_by_currency.items.[INDEX].amount","typeLabel":"string"}},"uniqueKey":"data.items.[INDEX].oneOf.1.details.data_quality.excluded_bank_removed_by_currency.items.[INDEX]","typeLabel":"object"},"description":"Bank removals grouped by currency.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.1.details.data_quality.excluded_bank_removed_by_currency","typeLabel":"object[]"},"excluded_currency_valuation_count":{"type":"integer","minimum":0,"description":"Transactions excluded because they have no USD value.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.1.details.data_quality.excluded_currency_valuation_count","typeLabel":"integer"},"excluded_currency_valuation_by_currency":{"type":"array","items":{"type":"object","required":["currency","transaction_count","amount"],"properties":{"currency":{"type":"string","description":"Currency code from the excluded transaction rows. `UNKNOWN` means the source row has no currency.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.1.details.data_quality.excluded_currency_valuation_by_currency.items.[INDEX].currency","typeLabel":"string"},"transaction_count":{"type":"integer","description":"Excluded transactions in this currency block.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.1.details.data_quality.excluded_currency_valuation_by_currency.items.[INDEX].transaction_count","typeLabel":"integer"},"amount":{"type":"string","description":"Gross value for this currency (decimal string, 2 decimal places).","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.1.details.data_quality.excluded_currency_valuation_by_currency.items.[INDEX].amount","typeLabel":"string"}},"uniqueKey":"data.items.[INDEX].oneOf.1.details.data_quality.excluded_currency_valuation_by_currency.items.[INDEX]","typeLabel":"object"},"description":"Transactions without a USD value, grouped by currency.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.1.details.data_quality.excluded_currency_valuation_by_currency","typeLabel":"object[]"},"bank_correction_review_count":{"type":"integer","minimum":0,"description":"Transactions with a bank correction to review.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.1.details.data_quality.bank_correction_review_count","typeLabel":"integer"},"plaid_enrichment":{"type":"object","description":"Coverage of Plaid enrichment in the window.","required":["transaction_count","merchant_identity_count","running_balance_count","category_versions","category_confidence"],"properties":{"transaction_count":{"type":"integer","minimum":0,"description":"Transactions with Plaid enrichment.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.1.details.data_quality.plaid_enrichment.transaction_count","typeLabel":"integer"},"merchant_identity_count":{"type":"integer","minimum":0,"description":"Transactions with a Plaid merchant ID.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.1.details.data_quality.plaid_enrichment.merchant_identity_count","typeLabel":"integer"},"running_balance_count":{"type":"integer","minimum":0,"description":"Transactions with a running balance.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.1.details.data_quality.plaid_enrichment.running_balance_count","typeLabel":"integer"},"category_versions":{"type":"array","items":{"type":"object","required":["version","transaction_count"],"properties":{"version":{"type":"string","description":"Plaid category version.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.1.details.data_quality.plaid_enrichment.category_versions.items.[INDEX].version","typeLabel":"string"},"transaction_count":{"type":"integer","minimum":0,"description":"Transactions with this version.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.1.details.data_quality.plaid_enrichment.category_versions.items.[INDEX].transaction_count","typeLabel":"integer"}},"uniqueKey":"data.items.[INDEX].oneOf.1.details.data_quality.plaid_enrichment.category_versions.items.[INDEX]","typeLabel":"object"},"description":"Transactions by Plaid category version.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.1.details.data_quality.plaid_enrichment.category_versions","typeLabel":"object[]"},"category_confidence":{"type":"array","items":{"type":"object","required":["confidence","transaction_count"],"properties":{"confidence":{"type":"string","description":"Plaid confidence level.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.1.details.data_quality.plaid_enrichment.category_confidence.items.[INDEX].confidence","typeLabel":"string"},"transaction_count":{"type":"integer","minimum":0,"description":"Transactions with this confidence.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.1.details.data_quality.plaid_enrichment.category_confidence.items.[INDEX].transaction_count","typeLabel":"integer"}},"uniqueKey":"data.items.[INDEX].oneOf.1.details.data_quality.plaid_enrichment.category_confidence.items.[INDEX]","typeLabel":"object"},"description":"Transactions by Plaid category confidence.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.1.details.data_quality.plaid_enrichment.category_confidence","typeLabel":"object[]"}},"isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.1.details.data_quality.plaid_enrichment","typeLabel":"object"}},"uniqueKey":"data.items.[INDEX].oneOf.1.details.data_quality","typeLabel":"object"}},"description":"Values of the metric.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.1.details","typeLabel":"object"},"meta":{"type":"object","required":["source","granularity","start_date","end_date","currency"],"properties":{"source":{"type":"string","enum":["gl","transactions"],"description":"Data source: `gl` for `basis=ledger`, `transactions` for `basis=transactions`.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.1.meta.source","typeLabel":"enum\u003cstring>"},"granularity":{"type":"string","enum":["daily","weekly","monthly"],"description":"Bucket size.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.1.meta.granularity","typeLabel":"enum\u003cstring>"},"start_date":{"type":"string","format":"date-time","description":"Start of the window.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.1.meta.start_date","typeLabel":"string\u003cdate-time>"},"end_date":{"type":"string","format":"date-time","description":"End of the window.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.1.meta.end_date","typeLabel":"string\u003cdate-time>"},"currency":{"type":"string","example":"USD","description":"Currency of the amounts.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.1.meta.currency","typeLabel":"string"},"granularity_note":{"oneOf":[{"type":"string","description":"Note when the bucket size differs from the request.","uniqueKey":"data.items.[INDEX].oneOf.1.meta.granularity_note.oneOf.0","typeLabel":"string"},{"type":"null","description":"Note when the bucket size differs from the request.","uniqueKey":"data.items.[INDEX].oneOf.1.meta.granularity_note.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.items.[INDEX].oneOf.1.meta.granularity_note","typeLabel":"string | null"},"period_snapped_note":{"oneOf":[{"type":"string","description":"Present when `basis=ledger` and the window is not whole months. The totals then cover the full accounting periods.","uniqueKey":"data.items.[INDEX].oneOf.1.meta.period_snapped_note.oneOf.0","typeLabel":"string"},{"type":"null","description":"Present when `basis=ledger` and the window is not whole months. The totals then cover the full accounting periods.","uniqueKey":"data.items.[INDEX].oneOf.1.meta.period_snapped_note.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.items.[INDEX].oneOf.1.meta.period_snapped_note","typeLabel":"string | null"},"account_ids_ignored":{"oneOf":[{"type":"boolean","description":"`true` when `account_ids` was ignored.","uniqueKey":"data.items.[INDEX].oneOf.1.meta.account_ids_ignored.oneOf.0","typeLabel":"boolean"},{"type":"null","description":"`true` when `account_ids` was ignored.","uniqueKey":"data.items.[INDEX].oneOf.1.meta.account_ids_ignored.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.items.[INDEX].oneOf.1.meta.account_ids_ignored","typeLabel":"boolean | null"},"account_ids_ignored_reason":{"oneOf":[{"type":"string","description":"Why `account_ids` was ignored.","uniqueKey":"data.items.[INDEX].oneOf.1.meta.account_ids_ignored_reason.oneOf.0","typeLabel":"string"},{"type":"null","description":"Why `account_ids` was ignored.","uniqueKey":"data.items.[INDEX].oneOf.1.meta.account_ids_ignored_reason.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.items.[INDEX].oneOf.1.meta.account_ids_ignored_reason","typeLabel":"string | null"},"basis":{"type":"string","enum":["cash","accrual"],"description":"Accounting basis of the figures: cash (basis=transactions, settled cash movements) or accrual (basis=ledger, the posted double-entry ledger).","uniqueKey":"data.items.[INDEX].oneOf.1.meta.basis","typeLabel":"enum\u003cstring>"},"cash_basis_caveat":{"oneOf":[{"type":"string","description":"Present when `basis=transactions`. Expenses do not include unpaid bills, accruals or non-cash journals.","uniqueKey":"data.items.[INDEX].oneOf.1.meta.cash_basis_caveat.oneOf.0","typeLabel":"string"},{"type":"null","description":"Present when `basis=transactions`. Expenses do not include unpaid bills, accruals or non-cash journals.","uniqueKey":"data.items.[INDEX].oneOf.1.meta.cash_basis_caveat.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.items.[INDEX].oneOf.1.meta.cash_basis_caveat","typeLabel":"string | null"}},"isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.1.meta","typeLabel":"object"}},"additionalProperties":false,"uniqueKey":"data.items.[INDEX].oneOf.1","typeLabel":"object"},{"type":"object","required":["metric","value","unit","formula","reason","details","meta"],"properties":{"metric":{"type":"string","const":"expenses","description":"Metric name.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.2.metric","typeLabel":"string"},"value":{"oneOf":[{"type":"string","description":"Summary decimal value; null for unavailable or inapplicable metrics.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.2.value.oneOf.0","typeLabel":"string"},{"type":"null","description":"Summary decimal value; null for unavailable or inapplicable metrics.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.2.value.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.2.value","typeLabel":"string | null"},"unit":{"type":"string","description":"Unit of the value, such as `USD` or `months`.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.2.unit","typeLabel":"string"},"formula":{"type":"string","description":"Formula and effective calculation basis.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.2.formula","typeLabel":"string"},"reason":{"oneOf":[{"type":"string","description":"Why a value is unavailable or qualified.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.2.reason.oneOf.0","typeLabel":"string"},{"type":"null","description":"Why a value is unavailable or qualified.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.2.reason.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.2.reason","typeLabel":"string | null"},"details":{"type":"object","required":["total","by_category","currency","time_series"],"properties":{"total":{"type":"string","description":"Total expenses over the window (decimal string).","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.2.details.total","typeLabel":"string"},"by_category":{"type":"array","items":{"type":"object","required":["category","amount"],"description":"A named category total. `amount` is a decimal string.","properties":{"category":{"type":"string","description":"Category name.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.2.details.by_category.items.[INDEX].category","typeLabel":"string"},"amount":{"type":"string","description":"Category total (decimal string).","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.2.details.by_category.items.[INDEX].amount","typeLabel":"string"}},"uniqueKey":"data.items.[INDEX].oneOf.2.details.by_category.items.[INDEX]","typeLabel":"object"},"description":"Totals by category.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.2.details.by_category","typeLabel":"object[]"},"currency":{"type":"string","example":"USD","description":"Currency of the amounts.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.2.details.currency","typeLabel":"string"},"time_series":{"type":"array","items":{"type":"object","required":["period_start","period_end","total","categories"],"properties":{"period_start":{"type":"string","format":"date-time","description":"Start of the bucket.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.2.details.time_series.items.[INDEX].period_start","typeLabel":"string\u003cdate-time>"},"period_end":{"type":"string","format":"date-time","description":"End of the bucket.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.2.details.time_series.items.[INDEX].period_end","typeLabel":"string\u003cdate-time>"},"total":{"type":"string","description":"Total in the bucket (decimal string).","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.2.details.time_series.items.[INDEX].total","typeLabel":"string"},"categories":{"type":"array","items":{"type":"object","required":["category","amount"],"description":"A named category total. `amount` is a decimal string.","properties":{"category":{"type":"string","description":"Category name.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.2.details.time_series.items.[INDEX].categories.items.[INDEX].category","typeLabel":"string"},"amount":{"type":"string","description":"Category total (decimal string).","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.2.details.time_series.items.[INDEX].categories.items.[INDEX].amount","typeLabel":"string"}},"uniqueKey":"data.items.[INDEX].oneOf.2.details.time_series.items.[INDEX].categories.items.[INDEX]","typeLabel":"object"},"description":"Totals by category in the bucket.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.2.details.time_series.items.[INDEX].categories","typeLabel":"object[]"}},"uniqueKey":"data.items.[INDEX].oneOf.2.details.time_series.items.[INDEX]","typeLabel":"object"},"description":"Values for each bucket.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.2.details.time_series","typeLabel":"object[]"},"data_quality":{"type":"object","description":"Transactions that the figures exclude, and why. Bank removals and amounts without a USD value are excluded.","required":["status","window_transaction_count","excluded_spam_count","excluded_spam_by_currency","excluded_non_pl_classification_count","excluded_non_pl_classification_by_currency","no_posted_journal_entry_count","warnings","excluded_bank_removed_count","excluded_bank_removed_by_currency","excluded_currency_valuation_count","excluded_currency_valuation_by_currency","bank_correction_review_count","plaid_enrichment"],"properties":{"status":{"type":"string","enum":["ok","warnings","unavailable"],"description":"`ok`, `warnings`, or `unavailable` when the exclusions could not be calculated.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.2.details.data_quality.status","typeLabel":"enum\u003cstring>"},"window_transaction_count":{"type":"integer","description":"Transactions in the window, including excluded ones.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.2.details.data_quality.window_transaction_count","typeLabel":"integer"},"excluded_spam_count":{"type":"integer","description":"Spam-flagged transactions excluded from the figures.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.2.details.data_quality.excluded_spam_count","typeLabel":"integer"},"excluded_spam_by_currency":{"type":"array","items":{"type":"object","required":["currency","transaction_count","amount"],"properties":{"currency":{"type":"string","description":"Currency code from the excluded transaction rows. `UNKNOWN` means the source row has no currency.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.2.details.data_quality.excluded_spam_by_currency.items.[INDEX].currency","typeLabel":"string"},"transaction_count":{"type":"integer","description":"Excluded transactions in this currency block.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.2.details.data_quality.excluded_spam_by_currency.items.[INDEX].transaction_count","typeLabel":"integer"},"amount":{"type":"string","description":"Gross value for this currency (decimal string, 2 decimal places).","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.2.details.data_quality.excluded_spam_by_currency.items.[INDEX].amount","typeLabel":"string"}},"uniqueKey":"data.items.[INDEX].oneOf.2.details.data_quality.excluded_spam_by_currency.items.[INDEX]","typeLabel":"object"},"description":"Excluded spam transactions, by currency. Amounts are decimal strings.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.2.details.data_quality.excluded_spam_by_currency","typeLabel":"object[]"},"excluded_non_pl_classification_count":{"type":"integer","description":"Transactions excluded because their type is not income or expense, such as transfers and swaps.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.2.details.data_quality.excluded_non_pl_classification_count","typeLabel":"integer"},"excluded_non_pl_classification_by_currency":{"type":"array","items":{"type":"object","required":["currency","transaction_count","amount"],"properties":{"currency":{"type":"string","description":"Currency code from the excluded transaction rows. `UNKNOWN` means the source row has no currency.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.2.details.data_quality.excluded_non_pl_classification_by_currency.items.[INDEX].currency","typeLabel":"string"},"transaction_count":{"type":"integer","description":"Excluded transactions in this currency block.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.2.details.data_quality.excluded_non_pl_classification_by_currency.items.[INDEX].transaction_count","typeLabel":"integer"},"amount":{"type":"string","description":"Gross value for this currency (decimal string, 2 decimal places).","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.2.details.data_quality.excluded_non_pl_classification_by_currency.items.[INDEX].amount","typeLabel":"string"}},"uniqueKey":"data.items.[INDEX].oneOf.2.details.data_quality.excluded_non_pl_classification_by_currency.items.[INDEX]","typeLabel":"object"},"description":"Excluded transfers and other non-income, non-expense transactions, by currency.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.2.details.data_quality.excluded_non_pl_classification_by_currency","typeLabel":"object[]"},"no_posted_journal_entry_count":{"type":"integer","description":"Transactions in the window with no posted journal. Same as the `has_posted_journal_entry=false` filter.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.2.details.data_quality.no_posted_journal_entry_count","typeLabel":"integer"},"warnings":{"type":"array","items":{"type":"string","uniqueKey":"data.items.[INDEX].oneOf.2.details.data_quality.warnings.items.[INDEX]","typeLabel":"string"},"description":"[WARNING]-prefixed prose for each non-zero excluded bucket. Surface these whenever material.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.2.details.data_quality.warnings","typeLabel":"string[]"},"excluded_bank_removed_count":{"type":"integer","minimum":0,"description":"Transactions excluded because the bank removed them.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.2.details.data_quality.excluded_bank_removed_count","typeLabel":"integer"},"excluded_bank_removed_by_currency":{"type":"array","items":{"type":"object","required":["currency","transaction_count","amount"],"properties":{"currency":{"type":"string","description":"Currency code from the excluded transaction rows. `UNKNOWN` means the source row has no currency.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.2.details.data_quality.excluded_bank_removed_by_currency.items.[INDEX].currency","typeLabel":"string"},"transaction_count":{"type":"integer","description":"Excluded transactions in this currency block.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.2.details.data_quality.excluded_bank_removed_by_currency.items.[INDEX].transaction_count","typeLabel":"integer"},"amount":{"type":"string","description":"Gross value for this currency (decimal string, 2 decimal places).","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.2.details.data_quality.excluded_bank_removed_by_currency.items.[INDEX].amount","typeLabel":"string"}},"uniqueKey":"data.items.[INDEX].oneOf.2.details.data_quality.excluded_bank_removed_by_currency.items.[INDEX]","typeLabel":"object"},"description":"Bank removals grouped by currency.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.2.details.data_quality.excluded_bank_removed_by_currency","typeLabel":"object[]"},"excluded_currency_valuation_count":{"type":"integer","minimum":0,"description":"Transactions excluded because they have no USD value.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.2.details.data_quality.excluded_currency_valuation_count","typeLabel":"integer"},"excluded_currency_valuation_by_currency":{"type":"array","items":{"type":"object","required":["currency","transaction_count","amount"],"properties":{"currency":{"type":"string","description":"Currency code from the excluded transaction rows. `UNKNOWN` means the source row has no currency.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.2.details.data_quality.excluded_currency_valuation_by_currency.items.[INDEX].currency","typeLabel":"string"},"transaction_count":{"type":"integer","description":"Excluded transactions in this currency block.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.2.details.data_quality.excluded_currency_valuation_by_currency.items.[INDEX].transaction_count","typeLabel":"integer"},"amount":{"type":"string","description":"Gross value for this currency (decimal string, 2 decimal places).","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.2.details.data_quality.excluded_currency_valuation_by_currency.items.[INDEX].amount","typeLabel":"string"}},"uniqueKey":"data.items.[INDEX].oneOf.2.details.data_quality.excluded_currency_valuation_by_currency.items.[INDEX]","typeLabel":"object"},"description":"Transactions without a USD value, grouped by currency.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.2.details.data_quality.excluded_currency_valuation_by_currency","typeLabel":"object[]"},"bank_correction_review_count":{"type":"integer","minimum":0,"description":"Transactions with a bank correction to review.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.2.details.data_quality.bank_correction_review_count","typeLabel":"integer"},"plaid_enrichment":{"type":"object","description":"Coverage of Plaid enrichment in the window.","required":["transaction_count","merchant_identity_count","running_balance_count","category_versions","category_confidence"],"properties":{"transaction_count":{"type":"integer","minimum":0,"description":"Transactions with Plaid enrichment.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.2.details.data_quality.plaid_enrichment.transaction_count","typeLabel":"integer"},"merchant_identity_count":{"type":"integer","minimum":0,"description":"Transactions with a Plaid merchant ID.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.2.details.data_quality.plaid_enrichment.merchant_identity_count","typeLabel":"integer"},"running_balance_count":{"type":"integer","minimum":0,"description":"Transactions with a running balance.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.2.details.data_quality.plaid_enrichment.running_balance_count","typeLabel":"integer"},"category_versions":{"type":"array","items":{"type":"object","required":["version","transaction_count"],"properties":{"version":{"type":"string","description":"Plaid category version.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.2.details.data_quality.plaid_enrichment.category_versions.items.[INDEX].version","typeLabel":"string"},"transaction_count":{"type":"integer","minimum":0,"description":"Transactions with this version.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.2.details.data_quality.plaid_enrichment.category_versions.items.[INDEX].transaction_count","typeLabel":"integer"}},"uniqueKey":"data.items.[INDEX].oneOf.2.details.data_quality.plaid_enrichment.category_versions.items.[INDEX]","typeLabel":"object"},"description":"Transactions by Plaid category version.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.2.details.data_quality.plaid_enrichment.category_versions","typeLabel":"object[]"},"category_confidence":{"type":"array","items":{"type":"object","required":["confidence","transaction_count"],"properties":{"confidence":{"type":"string","description":"Plaid confidence level.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.2.details.data_quality.plaid_enrichment.category_confidence.items.[INDEX].confidence","typeLabel":"string"},"transaction_count":{"type":"integer","minimum":0,"description":"Transactions with this confidence.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.2.details.data_quality.plaid_enrichment.category_confidence.items.[INDEX].transaction_count","typeLabel":"integer"}},"uniqueKey":"data.items.[INDEX].oneOf.2.details.data_quality.plaid_enrichment.category_confidence.items.[INDEX]","typeLabel":"object"},"description":"Transactions by Plaid category confidence.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.2.details.data_quality.plaid_enrichment.category_confidence","typeLabel":"object[]"}},"isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.2.details.data_quality.plaid_enrichment","typeLabel":"object"}},"uniqueKey":"data.items.[INDEX].oneOf.2.details.data_quality","typeLabel":"object"}},"description":"Values of the metric.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.2.details","typeLabel":"object"},"meta":{"type":"object","required":["source","granularity","start_date","end_date","currency"],"properties":{"source":{"type":"string","enum":["gl","transactions"],"description":"Data source: `gl` for `basis=ledger`, `transactions` for `basis=transactions`.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.2.meta.source","typeLabel":"enum\u003cstring>"},"granularity":{"type":"string","enum":["daily","weekly","monthly"],"description":"Bucket size.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.2.meta.granularity","typeLabel":"enum\u003cstring>"},"start_date":{"type":"string","format":"date-time","description":"Start of the window.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.2.meta.start_date","typeLabel":"string\u003cdate-time>"},"end_date":{"type":"string","format":"date-time","description":"End of the window.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.2.meta.end_date","typeLabel":"string\u003cdate-time>"},"currency":{"type":"string","example":"USD","description":"Currency of the amounts.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.2.meta.currency","typeLabel":"string"},"granularity_note":{"oneOf":[{"type":"string","description":"Note when the bucket size differs from the request.","uniqueKey":"data.items.[INDEX].oneOf.2.meta.granularity_note.oneOf.0","typeLabel":"string"},{"type":"null","description":"Note when the bucket size differs from the request.","uniqueKey":"data.items.[INDEX].oneOf.2.meta.granularity_note.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.items.[INDEX].oneOf.2.meta.granularity_note","typeLabel":"string | null"},"period_snapped_note":{"oneOf":[{"type":"string","description":"Present when `basis=ledger` and the window is not whole months. The totals then cover the full accounting periods.","uniqueKey":"data.items.[INDEX].oneOf.2.meta.period_snapped_note.oneOf.0","typeLabel":"string"},{"type":"null","description":"Present when `basis=ledger` and the window is not whole months. The totals then cover the full accounting periods.","uniqueKey":"data.items.[INDEX].oneOf.2.meta.period_snapped_note.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.items.[INDEX].oneOf.2.meta.period_snapped_note","typeLabel":"string | null"},"account_ids_ignored":{"oneOf":[{"type":"boolean","description":"`true` when `account_ids` was ignored.","uniqueKey":"data.items.[INDEX].oneOf.2.meta.account_ids_ignored.oneOf.0","typeLabel":"boolean"},{"type":"null","description":"`true` when `account_ids` was ignored.","uniqueKey":"data.items.[INDEX].oneOf.2.meta.account_ids_ignored.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.items.[INDEX].oneOf.2.meta.account_ids_ignored","typeLabel":"boolean | null"},"account_ids_ignored_reason":{"oneOf":[{"type":"string","description":"Why `account_ids` was ignored.","uniqueKey":"data.items.[INDEX].oneOf.2.meta.account_ids_ignored_reason.oneOf.0","typeLabel":"string"},{"type":"null","description":"Why `account_ids` was ignored.","uniqueKey":"data.items.[INDEX].oneOf.2.meta.account_ids_ignored_reason.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.items.[INDEX].oneOf.2.meta.account_ids_ignored_reason","typeLabel":"string | null"},"basis":{"type":"string","enum":["cash","accrual"],"description":"Accounting basis of the figures: cash (basis=transactions, settled cash movements) or accrual (basis=ledger, the posted double-entry ledger).","uniqueKey":"data.items.[INDEX].oneOf.2.meta.basis","typeLabel":"enum\u003cstring>"},"cash_basis_caveat":{"oneOf":[{"type":"string","description":"Present when `basis=transactions`. Expenses do not include unpaid bills, accruals or non-cash journals.","uniqueKey":"data.items.[INDEX].oneOf.2.meta.cash_basis_caveat.oneOf.0","typeLabel":"string"},{"type":"null","description":"Present when `basis=transactions`. Expenses do not include unpaid bills, accruals or non-cash journals.","uniqueKey":"data.items.[INDEX].oneOf.2.meta.cash_basis_caveat.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.items.[INDEX].oneOf.2.meta.cash_basis_caveat","typeLabel":"string | null"}},"isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.2.meta","typeLabel":"object"}},"additionalProperties":false,"uniqueKey":"data.items.[INDEX].oneOf.2","typeLabel":"object"},{"type":"object","required":["metric","value","unit","formula","reason","details","meta"],"properties":{"metric":{"type":"string","const":"spending","description":"Metric name.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.3.metric","typeLabel":"string"},"value":{"oneOf":[{"type":"string","description":"Summary decimal value; null for unavailable or inapplicable metrics.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.3.value.oneOf.0","typeLabel":"string"},{"type":"null","description":"Summary decimal value; null for unavailable or inapplicable metrics.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.3.value.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.3.value","typeLabel":"string | null"},"unit":{"type":"string","description":"Unit of the value, such as `USD` or `months`.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.3.unit","typeLabel":"string"},"formula":{"type":"string","description":"Formula and effective calculation basis.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.3.formula","typeLabel":"string"},"reason":{"oneOf":[{"type":"string","description":"Why a value is unavailable or qualified.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.3.reason.oneOf.0","typeLabel":"string"},{"type":"null","description":"Why a value is unavailable or qualified.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.3.reason.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.3.reason","typeLabel":"string | null"},"details":{"type":"object","required":["total","by_source_type","by_classification","currency","time_series"],"properties":{"total":{"type":"string","description":"Total spending over the window (decimal string).","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.3.details.total","typeLabel":"string"},"by_source_type":{"type":"array","items":{"type":"object","required":["key","amount"],"description":"A keyed spending total (by source type or classification). `amount` is a decimal string.","properties":{"key":{"type":"string","description":"Source type or transaction type.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.3.details.by_source_type.items.[INDEX].key","typeLabel":"string"},"amount":{"type":"string","description":"Spending total (decimal string).","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.3.details.by_source_type.items.[INDEX].amount","typeLabel":"string"}},"uniqueKey":"data.items.[INDEX].oneOf.3.details.by_source_type.items.[INDEX]","typeLabel":"object"},"description":"Totals by source type.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.3.details.by_source_type","typeLabel":"object[]"},"by_classification":{"type":"array","items":{"type":"object","required":["key","amount"],"description":"A keyed spending total (by source type or classification). `amount` is a decimal string.","properties":{"key":{"type":"string","description":"Source type or transaction type.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.3.details.by_classification.items.[INDEX].key","typeLabel":"string"},"amount":{"type":"string","description":"Spending total (decimal string).","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.3.details.by_classification.items.[INDEX].amount","typeLabel":"string"}},"uniqueKey":"data.items.[INDEX].oneOf.3.details.by_classification.items.[INDEX]","typeLabel":"object"},"description":"Totals by transaction type.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.3.details.by_classification","typeLabel":"object[]"},"currency":{"type":"string","example":"USD","description":"Currency of the amounts.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.3.details.currency","typeLabel":"string"},"time_series":{"type":"array","items":{"type":"object","required":["period_start","period_end","total","by_source_type","by_classification"],"properties":{"period_start":{"type":"string","format":"date-time","description":"Start of the bucket.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.3.details.time_series.items.[INDEX].period_start","typeLabel":"string\u003cdate-time>"},"period_end":{"type":"string","format":"date-time","description":"End of the bucket.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.3.details.time_series.items.[INDEX].period_end","typeLabel":"string\u003cdate-time>"},"total":{"type":"string","description":"Total in the bucket (decimal string).","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.3.details.time_series.items.[INDEX].total","typeLabel":"string"},"by_source_type":{"type":"array","items":{"type":"object","required":["key","amount"],"description":"A keyed spending total (by source type or classification). `amount` is a decimal string.","properties":{"key":{"type":"string","description":"Source type or transaction type.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.3.details.time_series.items.[INDEX].by_source_type.items.[INDEX].key","typeLabel":"string"},"amount":{"type":"string","description":"Spending total (decimal string).","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.3.details.time_series.items.[INDEX].by_source_type.items.[INDEX].amount","typeLabel":"string"}},"uniqueKey":"data.items.[INDEX].oneOf.3.details.time_series.items.[INDEX].by_source_type.items.[INDEX]","typeLabel":"object"},"description":"Totals by source type in the bucket.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.3.details.time_series.items.[INDEX].by_source_type","typeLabel":"object[]"},"by_classification":{"type":"array","items":{"type":"object","required":["key","amount"],"description":"A keyed spending total (by source type or classification). `amount` is a decimal string.","properties":{"key":{"type":"string","description":"Source type or transaction type.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.3.details.time_series.items.[INDEX].by_classification.items.[INDEX].key","typeLabel":"string"},"amount":{"type":"string","description":"Spending total (decimal string).","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.3.details.time_series.items.[INDEX].by_classification.items.[INDEX].amount","typeLabel":"string"}},"uniqueKey":"data.items.[INDEX].oneOf.3.details.time_series.items.[INDEX].by_classification.items.[INDEX]","typeLabel":"object"},"description":"Totals by transaction type in the bucket.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.3.details.time_series.items.[INDEX].by_classification","typeLabel":"object[]"}},"uniqueKey":"data.items.[INDEX].oneOf.3.details.time_series.items.[INDEX]","typeLabel":"object"},"description":"Values for each bucket.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.3.details.time_series","typeLabel":"object[]"},"data_quality":{"type":"object","description":"Transactions that the figures exclude, and why. Bank removals and amounts without a USD value are excluded.","required":["status","window_transaction_count","excluded_spam_count","excluded_spam_by_currency","excluded_non_pl_classification_count","excluded_non_pl_classification_by_currency","no_posted_journal_entry_count","warnings","excluded_bank_removed_count","excluded_bank_removed_by_currency","excluded_currency_valuation_count","excluded_currency_valuation_by_currency","bank_correction_review_count","plaid_enrichment"],"properties":{"status":{"type":"string","enum":["ok","warnings","unavailable"],"description":"`ok`, `warnings`, or `unavailable` when the exclusions could not be calculated.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.3.details.data_quality.status","typeLabel":"enum\u003cstring>"},"window_transaction_count":{"type":"integer","description":"Transactions in the window, including excluded ones.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.3.details.data_quality.window_transaction_count","typeLabel":"integer"},"excluded_spam_count":{"type":"integer","description":"Spam-flagged transactions excluded from the figures.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.3.details.data_quality.excluded_spam_count","typeLabel":"integer"},"excluded_spam_by_currency":{"type":"array","items":{"type":"object","required":["currency","transaction_count","amount"],"properties":{"currency":{"type":"string","description":"Currency code from the excluded transaction rows. `UNKNOWN` means the source row has no currency.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.3.details.data_quality.excluded_spam_by_currency.items.[INDEX].currency","typeLabel":"string"},"transaction_count":{"type":"integer","description":"Excluded transactions in this currency block.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.3.details.data_quality.excluded_spam_by_currency.items.[INDEX].transaction_count","typeLabel":"integer"},"amount":{"type":"string","description":"Gross value for this currency (decimal string, 2 decimal places).","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.3.details.data_quality.excluded_spam_by_currency.items.[INDEX].amount","typeLabel":"string"}},"uniqueKey":"data.items.[INDEX].oneOf.3.details.data_quality.excluded_spam_by_currency.items.[INDEX]","typeLabel":"object"},"description":"Excluded spam transactions, by currency. Amounts are decimal strings.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.3.details.data_quality.excluded_spam_by_currency","typeLabel":"object[]"},"excluded_non_pl_classification_count":{"type":"integer","description":"Transactions excluded because their type is not income or expense, such as transfers and swaps.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.3.details.data_quality.excluded_non_pl_classification_count","typeLabel":"integer"},"excluded_non_pl_classification_by_currency":{"type":"array","items":{"type":"object","required":["currency","transaction_count","amount"],"properties":{"currency":{"type":"string","description":"Currency code from the excluded transaction rows. `UNKNOWN` means the source row has no currency.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.3.details.data_quality.excluded_non_pl_classification_by_currency.items.[INDEX].currency","typeLabel":"string"},"transaction_count":{"type":"integer","description":"Excluded transactions in this currency block.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.3.details.data_quality.excluded_non_pl_classification_by_currency.items.[INDEX].transaction_count","typeLabel":"integer"},"amount":{"type":"string","description":"Gross value for this currency (decimal string, 2 decimal places).","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.3.details.data_quality.excluded_non_pl_classification_by_currency.items.[INDEX].amount","typeLabel":"string"}},"uniqueKey":"data.items.[INDEX].oneOf.3.details.data_quality.excluded_non_pl_classification_by_currency.items.[INDEX]","typeLabel":"object"},"description":"Excluded transfers and other non-income, non-expense transactions, by currency.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.3.details.data_quality.excluded_non_pl_classification_by_currency","typeLabel":"object[]"},"no_posted_journal_entry_count":{"type":"integer","description":"Transactions in the window with no posted journal. Same as the `has_posted_journal_entry=false` filter.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.3.details.data_quality.no_posted_journal_entry_count","typeLabel":"integer"},"warnings":{"type":"array","items":{"type":"string","uniqueKey":"data.items.[INDEX].oneOf.3.details.data_quality.warnings.items.[INDEX]","typeLabel":"string"},"description":"[WARNING]-prefixed prose for each non-zero excluded bucket. Surface these whenever material.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.3.details.data_quality.warnings","typeLabel":"string[]"},"excluded_bank_removed_count":{"type":"integer","minimum":0,"description":"Transactions excluded because the bank removed them.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.3.details.data_quality.excluded_bank_removed_count","typeLabel":"integer"},"excluded_bank_removed_by_currency":{"type":"array","items":{"type":"object","required":["currency","transaction_count","amount"],"properties":{"currency":{"type":"string","description":"Currency code from the excluded transaction rows. `UNKNOWN` means the source row has no currency.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.3.details.data_quality.excluded_bank_removed_by_currency.items.[INDEX].currency","typeLabel":"string"},"transaction_count":{"type":"integer","description":"Excluded transactions in this currency block.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.3.details.data_quality.excluded_bank_removed_by_currency.items.[INDEX].transaction_count","typeLabel":"integer"},"amount":{"type":"string","description":"Gross value for this currency (decimal string, 2 decimal places).","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.3.details.data_quality.excluded_bank_removed_by_currency.items.[INDEX].amount","typeLabel":"string"}},"uniqueKey":"data.items.[INDEX].oneOf.3.details.data_quality.excluded_bank_removed_by_currency.items.[INDEX]","typeLabel":"object"},"description":"Bank removals grouped by currency.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.3.details.data_quality.excluded_bank_removed_by_currency","typeLabel":"object[]"},"excluded_currency_valuation_count":{"type":"integer","minimum":0,"description":"Transactions excluded because they have no USD value.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.3.details.data_quality.excluded_currency_valuation_count","typeLabel":"integer"},"excluded_currency_valuation_by_currency":{"type":"array","items":{"type":"object","required":["currency","transaction_count","amount"],"properties":{"currency":{"type":"string","description":"Currency code from the excluded transaction rows. `UNKNOWN` means the source row has no currency.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.3.details.data_quality.excluded_currency_valuation_by_currency.items.[INDEX].currency","typeLabel":"string"},"transaction_count":{"type":"integer","description":"Excluded transactions in this currency block.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.3.details.data_quality.excluded_currency_valuation_by_currency.items.[INDEX].transaction_count","typeLabel":"integer"},"amount":{"type":"string","description":"Gross value for this currency (decimal string, 2 decimal places).","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.3.details.data_quality.excluded_currency_valuation_by_currency.items.[INDEX].amount","typeLabel":"string"}},"uniqueKey":"data.items.[INDEX].oneOf.3.details.data_quality.excluded_currency_valuation_by_currency.items.[INDEX]","typeLabel":"object"},"description":"Transactions without a USD value, grouped by currency.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.3.details.data_quality.excluded_currency_valuation_by_currency","typeLabel":"object[]"},"bank_correction_review_count":{"type":"integer","minimum":0,"description":"Transactions with a bank correction to review.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.3.details.data_quality.bank_correction_review_count","typeLabel":"integer"},"plaid_enrichment":{"type":"object","description":"Coverage of Plaid enrichment in the window.","required":["transaction_count","merchant_identity_count","running_balance_count","category_versions","category_confidence"],"properties":{"transaction_count":{"type":"integer","minimum":0,"description":"Transactions with Plaid enrichment.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.3.details.data_quality.plaid_enrichment.transaction_count","typeLabel":"integer"},"merchant_identity_count":{"type":"integer","minimum":0,"description":"Transactions with a Plaid merchant ID.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.3.details.data_quality.plaid_enrichment.merchant_identity_count","typeLabel":"integer"},"running_balance_count":{"type":"integer","minimum":0,"description":"Transactions with a running balance.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.3.details.data_quality.plaid_enrichment.running_balance_count","typeLabel":"integer"},"category_versions":{"type":"array","items":{"type":"object","required":["version","transaction_count"],"properties":{"version":{"type":"string","description":"Plaid category version.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.3.details.data_quality.plaid_enrichment.category_versions.items.[INDEX].version","typeLabel":"string"},"transaction_count":{"type":"integer","minimum":0,"description":"Transactions with this version.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.3.details.data_quality.plaid_enrichment.category_versions.items.[INDEX].transaction_count","typeLabel":"integer"}},"uniqueKey":"data.items.[INDEX].oneOf.3.details.data_quality.plaid_enrichment.category_versions.items.[INDEX]","typeLabel":"object"},"description":"Transactions by Plaid category version.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.3.details.data_quality.plaid_enrichment.category_versions","typeLabel":"object[]"},"category_confidence":{"type":"array","items":{"type":"object","required":["confidence","transaction_count"],"properties":{"confidence":{"type":"string","description":"Plaid confidence level.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.3.details.data_quality.plaid_enrichment.category_confidence.items.[INDEX].confidence","typeLabel":"string"},"transaction_count":{"type":"integer","minimum":0,"description":"Transactions with this confidence.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.3.details.data_quality.plaid_enrichment.category_confidence.items.[INDEX].transaction_count","typeLabel":"integer"}},"uniqueKey":"data.items.[INDEX].oneOf.3.details.data_quality.plaid_enrichment.category_confidence.items.[INDEX]","typeLabel":"object"},"description":"Transactions by Plaid category confidence.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.3.details.data_quality.plaid_enrichment.category_confidence","typeLabel":"object[]"}},"isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.3.details.data_quality.plaid_enrichment","typeLabel":"object"}},"uniqueKey":"data.items.[INDEX].oneOf.3.details.data_quality","typeLabel":"object"}},"description":"Values of the metric.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.3.details","typeLabel":"object"},"meta":{"type":"object","required":["source","granularity","start_date","end_date","currency"],"properties":{"source":{"type":"string","enum":["gl","transactions"],"description":"Data source: `gl` for `basis=ledger`, `transactions` for `basis=transactions`.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.3.meta.source","typeLabel":"enum\u003cstring>"},"granularity":{"type":"string","enum":["daily","weekly","monthly"],"description":"Bucket size.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.3.meta.granularity","typeLabel":"enum\u003cstring>"},"start_date":{"type":"string","format":"date-time","description":"Start of the window.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.3.meta.start_date","typeLabel":"string\u003cdate-time>"},"end_date":{"type":"string","format":"date-time","description":"End of the window.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.3.meta.end_date","typeLabel":"string\u003cdate-time>"},"currency":{"type":"string","example":"USD","description":"Currency of the amounts.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.3.meta.currency","typeLabel":"string"},"granularity_note":{"oneOf":[{"type":"string","description":"Note when the bucket size differs from the request.","uniqueKey":"data.items.[INDEX].oneOf.3.meta.granularity_note.oneOf.0","typeLabel":"string"},{"type":"null","description":"Note when the bucket size differs from the request.","uniqueKey":"data.items.[INDEX].oneOf.3.meta.granularity_note.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.items.[INDEX].oneOf.3.meta.granularity_note","typeLabel":"string | null"},"period_snapped_note":{"oneOf":[{"type":"string","description":"Present when `basis=ledger` and the window is not whole months. The totals then cover the full accounting periods.","uniqueKey":"data.items.[INDEX].oneOf.3.meta.period_snapped_note.oneOf.0","typeLabel":"string"},{"type":"null","description":"Present when `basis=ledger` and the window is not whole months. The totals then cover the full accounting periods.","uniqueKey":"data.items.[INDEX].oneOf.3.meta.period_snapped_note.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.items.[INDEX].oneOf.3.meta.period_snapped_note","typeLabel":"string | null"},"account_ids_ignored":{"oneOf":[{"type":"boolean","description":"`true` when `account_ids` was ignored.","uniqueKey":"data.items.[INDEX].oneOf.3.meta.account_ids_ignored.oneOf.0","typeLabel":"boolean"},{"type":"null","description":"`true` when `account_ids` was ignored.","uniqueKey":"data.items.[INDEX].oneOf.3.meta.account_ids_ignored.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.items.[INDEX].oneOf.3.meta.account_ids_ignored","typeLabel":"boolean | null"},"account_ids_ignored_reason":{"oneOf":[{"type":"string","description":"Why `account_ids` was ignored.","uniqueKey":"data.items.[INDEX].oneOf.3.meta.account_ids_ignored_reason.oneOf.0","typeLabel":"string"},{"type":"null","description":"Why `account_ids` was ignored.","uniqueKey":"data.items.[INDEX].oneOf.3.meta.account_ids_ignored_reason.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.items.[INDEX].oneOf.3.meta.account_ids_ignored_reason","typeLabel":"string | null"},"basis":{"type":"string","enum":["cash","accrual"],"description":"Accounting basis of the figures: cash (basis=transactions, settled cash movements) or accrual (basis=ledger, the posted double-entry ledger).","uniqueKey":"data.items.[INDEX].oneOf.3.meta.basis","typeLabel":"enum\u003cstring>"},"cash_basis_caveat":{"oneOf":[{"type":"string","description":"Present when `basis=transactions`. Expenses do not include unpaid bills, accruals or non-cash journals.","uniqueKey":"data.items.[INDEX].oneOf.3.meta.cash_basis_caveat.oneOf.0","typeLabel":"string"},{"type":"null","description":"Present when `basis=transactions`. Expenses do not include unpaid bills, accruals or non-cash journals.","uniqueKey":"data.items.[INDEX].oneOf.3.meta.cash_basis_caveat.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.items.[INDEX].oneOf.3.meta.cash_basis_caveat","typeLabel":"string | null"}},"isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.3.meta","typeLabel":"object"}},"additionalProperties":false,"uniqueKey":"data.items.[INDEX].oneOf.3","typeLabel":"object"},{"type":"object","required":["metric","value","unit","formula","reason","details","meta"],"properties":{"metric":{"type":"string","const":"burn_rate","description":"Metric name.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.4.metric","typeLabel":"string"},"value":{"oneOf":[{"type":"string","description":"Summary decimal value; null for unavailable or inapplicable metrics.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.4.value.oneOf.0","typeLabel":"string"},{"type":"null","description":"Summary decimal value; null for unavailable or inapplicable metrics.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.4.value.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.4.value","typeLabel":"string | null"},"unit":{"type":"string","description":"Unit of the value, such as `USD` or `months`.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.4.unit","typeLabel":"string"},"formula":{"type":"string","description":"Formula and effective calculation basis.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.4.formula","typeLabel":"string"},"reason":{"oneOf":[{"type":"string","description":"Why a value is unavailable or qualified.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.4.reason.oneOf.0","typeLabel":"string"},{"type":"null","description":"Why a value is unavailable or qualified.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.4.reason.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.4.reason","typeLabel":"string | null"},"details":{"type":"object","required":["average_monthly_burn","cash_flow_positive","total_expenses","total_income","months_analyzed","currency","trend","no_data"],"properties":{"average_monthly_burn":{"type":"string","description":"Net burn (total outflows minus inflows) divided by months in the window (decimal string). Negative when the organization is net cash-flow positive.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.4.details.average_monthly_burn","typeLabel":"string"},"cash_flow_positive":{"type":"boolean","description":"True when net burn is \u003c= 0 (inflows cover outflows over the window).","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.4.details.cash_flow_positive","typeLabel":"boolean"},"total_expenses":{"type":"string","description":"Total expenses (outflows) over the window (decimal string).","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.4.details.total_expenses","typeLabel":"string"},"total_income":{"type":"string","description":"Total income (inflows) over the window (decimal string).","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.4.details.total_income","typeLabel":"string"},"months_analyzed":{"type":"integer","description":"Number of whole months in the window. Normally >= 1; 0 only when basis=ledger and the window overlaps no accounting period (see no_data).","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.4.details.months_analyzed","typeLabel":"integer"},"currency":{"type":"string","example":"USD","description":"Currency of the amounts.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.4.details.currency","typeLabel":"string"},"trend":{"type":"array","description":"Per-bucket net burn (outflows minus inflows) as single-amount series points.","items":{"type":"object","required":["period_start","period_end","amount"],"description":"One bucket of a single-amount financial-insight time series (used by revenue `time_series` and burn-rate `trend`). Monetary amounts are decimal strings.","properties":{"period_start":{"type":"string","format":"date-time","description":"Start of the bucket.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.4.details.trend.items.[INDEX].period_start","typeLabel":"string\u003cdate-time>"},"period_end":{"type":"string","format":"date-time","description":"End of the bucket.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.4.details.trend.items.[INDEX].period_end","typeLabel":"string\u003cdate-time>"},"amount":{"type":"string","description":"Decimal-string amount for the bucket (revenue: income; burn-rate: expenses).","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.4.details.trend.items.[INDEX].amount","typeLabel":"string"}},"uniqueKey":"data.items.[INDEX].oneOf.4.details.trend.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.4.details.trend","typeLabel":"object[]"},"no_data":{"type":"boolean","description":"`true` when `basis=ledger` and the window has no accounting periods.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.4.details.no_data","typeLabel":"boolean"},"data_quality":{"type":"object","description":"Transactions that the figures exclude, and why. Bank removals and amounts without a USD value are excluded.","required":["status","window_transaction_count","excluded_spam_count","excluded_spam_by_currency","excluded_non_pl_classification_count","excluded_non_pl_classification_by_currency","no_posted_journal_entry_count","warnings","excluded_bank_removed_count","excluded_bank_removed_by_currency","excluded_currency_valuation_count","excluded_currency_valuation_by_currency","bank_correction_review_count","plaid_enrichment"],"properties":{"status":{"type":"string","enum":["ok","warnings","unavailable"],"description":"`ok`, `warnings`, or `unavailable` when the exclusions could not be calculated.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.4.details.data_quality.status","typeLabel":"enum\u003cstring>"},"window_transaction_count":{"type":"integer","description":"Transactions in the window, including excluded ones.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.4.details.data_quality.window_transaction_count","typeLabel":"integer"},"excluded_spam_count":{"type":"integer","description":"Spam-flagged transactions excluded from the figures.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.4.details.data_quality.excluded_spam_count","typeLabel":"integer"},"excluded_spam_by_currency":{"type":"array","items":{"type":"object","required":["currency","transaction_count","amount"],"properties":{"currency":{"type":"string","description":"Currency code from the excluded transaction rows. `UNKNOWN` means the source row has no currency.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.4.details.data_quality.excluded_spam_by_currency.items.[INDEX].currency","typeLabel":"string"},"transaction_count":{"type":"integer","description":"Excluded transactions in this currency block.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.4.details.data_quality.excluded_spam_by_currency.items.[INDEX].transaction_count","typeLabel":"integer"},"amount":{"type":"string","description":"Gross value for this currency (decimal string, 2 decimal places).","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.4.details.data_quality.excluded_spam_by_currency.items.[INDEX].amount","typeLabel":"string"}},"uniqueKey":"data.items.[INDEX].oneOf.4.details.data_quality.excluded_spam_by_currency.items.[INDEX]","typeLabel":"object"},"description":"Excluded spam transactions, by currency. Amounts are decimal strings.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.4.details.data_quality.excluded_spam_by_currency","typeLabel":"object[]"},"excluded_non_pl_classification_count":{"type":"integer","description":"Transactions excluded because their type is not income or expense, such as transfers and swaps.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.4.details.data_quality.excluded_non_pl_classification_count","typeLabel":"integer"},"excluded_non_pl_classification_by_currency":{"type":"array","items":{"type":"object","required":["currency","transaction_count","amount"],"properties":{"currency":{"type":"string","description":"Currency code from the excluded transaction rows. `UNKNOWN` means the source row has no currency.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.4.details.data_quality.excluded_non_pl_classification_by_currency.items.[INDEX].currency","typeLabel":"string"},"transaction_count":{"type":"integer","description":"Excluded transactions in this currency block.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.4.details.data_quality.excluded_non_pl_classification_by_currency.items.[INDEX].transaction_count","typeLabel":"integer"},"amount":{"type":"string","description":"Gross value for this currency (decimal string, 2 decimal places).","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.4.details.data_quality.excluded_non_pl_classification_by_currency.items.[INDEX].amount","typeLabel":"string"}},"uniqueKey":"data.items.[INDEX].oneOf.4.details.data_quality.excluded_non_pl_classification_by_currency.items.[INDEX]","typeLabel":"object"},"description":"Excluded transfers and other non-income, non-expense transactions, by currency.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.4.details.data_quality.excluded_non_pl_classification_by_currency","typeLabel":"object[]"},"no_posted_journal_entry_count":{"type":"integer","description":"Transactions in the window with no posted journal. Same as the `has_posted_journal_entry=false` filter.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.4.details.data_quality.no_posted_journal_entry_count","typeLabel":"integer"},"warnings":{"type":"array","items":{"type":"string","uniqueKey":"data.items.[INDEX].oneOf.4.details.data_quality.warnings.items.[INDEX]","typeLabel":"string"},"description":"[WARNING]-prefixed prose for each non-zero excluded bucket. Surface these whenever material.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.4.details.data_quality.warnings","typeLabel":"string[]"},"excluded_bank_removed_count":{"type":"integer","minimum":0,"description":"Transactions excluded because the bank removed them.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.4.details.data_quality.excluded_bank_removed_count","typeLabel":"integer"},"excluded_bank_removed_by_currency":{"type":"array","items":{"type":"object","required":["currency","transaction_count","amount"],"properties":{"currency":{"type":"string","description":"Currency code from the excluded transaction rows. `UNKNOWN` means the source row has no currency.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.4.details.data_quality.excluded_bank_removed_by_currency.items.[INDEX].currency","typeLabel":"string"},"transaction_count":{"type":"integer","description":"Excluded transactions in this currency block.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.4.details.data_quality.excluded_bank_removed_by_currency.items.[INDEX].transaction_count","typeLabel":"integer"},"amount":{"type":"string","description":"Gross value for this currency (decimal string, 2 decimal places).","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.4.details.data_quality.excluded_bank_removed_by_currency.items.[INDEX].amount","typeLabel":"string"}},"uniqueKey":"data.items.[INDEX].oneOf.4.details.data_quality.excluded_bank_removed_by_currency.items.[INDEX]","typeLabel":"object"},"description":"Bank removals grouped by currency.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.4.details.data_quality.excluded_bank_removed_by_currency","typeLabel":"object[]"},"excluded_currency_valuation_count":{"type":"integer","minimum":0,"description":"Transactions excluded because they have no USD value.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.4.details.data_quality.excluded_currency_valuation_count","typeLabel":"integer"},"excluded_currency_valuation_by_currency":{"type":"array","items":{"type":"object","required":["currency","transaction_count","amount"],"properties":{"currency":{"type":"string","description":"Currency code from the excluded transaction rows. `UNKNOWN` means the source row has no currency.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.4.details.data_quality.excluded_currency_valuation_by_currency.items.[INDEX].currency","typeLabel":"string"},"transaction_count":{"type":"integer","description":"Excluded transactions in this currency block.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.4.details.data_quality.excluded_currency_valuation_by_currency.items.[INDEX].transaction_count","typeLabel":"integer"},"amount":{"type":"string","description":"Gross value for this currency (decimal string, 2 decimal places).","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.4.details.data_quality.excluded_currency_valuation_by_currency.items.[INDEX].amount","typeLabel":"string"}},"uniqueKey":"data.items.[INDEX].oneOf.4.details.data_quality.excluded_currency_valuation_by_currency.items.[INDEX]","typeLabel":"object"},"description":"Transactions without a USD value, grouped by currency.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.4.details.data_quality.excluded_currency_valuation_by_currency","typeLabel":"object[]"},"bank_correction_review_count":{"type":"integer","minimum":0,"description":"Transactions with a bank correction to review.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.4.details.data_quality.bank_correction_review_count","typeLabel":"integer"},"plaid_enrichment":{"type":"object","description":"Coverage of Plaid enrichment in the window.","required":["transaction_count","merchant_identity_count","running_balance_count","category_versions","category_confidence"],"properties":{"transaction_count":{"type":"integer","minimum":0,"description":"Transactions with Plaid enrichment.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.4.details.data_quality.plaid_enrichment.transaction_count","typeLabel":"integer"},"merchant_identity_count":{"type":"integer","minimum":0,"description":"Transactions with a Plaid merchant ID.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.4.details.data_quality.plaid_enrichment.merchant_identity_count","typeLabel":"integer"},"running_balance_count":{"type":"integer","minimum":0,"description":"Transactions with a running balance.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.4.details.data_quality.plaid_enrichment.running_balance_count","typeLabel":"integer"},"category_versions":{"type":"array","items":{"type":"object","required":["version","transaction_count"],"properties":{"version":{"type":"string","description":"Plaid category version.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.4.details.data_quality.plaid_enrichment.category_versions.items.[INDEX].version","typeLabel":"string"},"transaction_count":{"type":"integer","minimum":0,"description":"Transactions with this version.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.4.details.data_quality.plaid_enrichment.category_versions.items.[INDEX].transaction_count","typeLabel":"integer"}},"uniqueKey":"data.items.[INDEX].oneOf.4.details.data_quality.plaid_enrichment.category_versions.items.[INDEX]","typeLabel":"object"},"description":"Transactions by Plaid category version.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.4.details.data_quality.plaid_enrichment.category_versions","typeLabel":"object[]"},"category_confidence":{"type":"array","items":{"type":"object","required":["confidence","transaction_count"],"properties":{"confidence":{"type":"string","description":"Plaid confidence level.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.4.details.data_quality.plaid_enrichment.category_confidence.items.[INDEX].confidence","typeLabel":"string"},"transaction_count":{"type":"integer","minimum":0,"description":"Transactions with this confidence.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.4.details.data_quality.plaid_enrichment.category_confidence.items.[INDEX].transaction_count","typeLabel":"integer"}},"uniqueKey":"data.items.[INDEX].oneOf.4.details.data_quality.plaid_enrichment.category_confidence.items.[INDEX]","typeLabel":"object"},"description":"Transactions by Plaid category confidence.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.4.details.data_quality.plaid_enrichment.category_confidence","typeLabel":"object[]"}},"isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.4.details.data_quality.plaid_enrichment","typeLabel":"object"}},"uniqueKey":"data.items.[INDEX].oneOf.4.details.data_quality","typeLabel":"object"}},"description":"Values of the metric.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.4.details","typeLabel":"object"},"meta":{"type":"object","required":["source","granularity","start_date","end_date","currency"],"properties":{"source":{"type":"string","enum":["gl","transactions"],"description":"Data source: `gl` for `basis=ledger`, `transactions` for `basis=transactions`.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.4.meta.source","typeLabel":"enum\u003cstring>"},"granularity":{"type":"string","enum":["daily","weekly","monthly"],"description":"Bucket size.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.4.meta.granularity","typeLabel":"enum\u003cstring>"},"start_date":{"type":"string","format":"date-time","description":"Start of the window.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.4.meta.start_date","typeLabel":"string\u003cdate-time>"},"end_date":{"type":"string","format":"date-time","description":"End of the window.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.4.meta.end_date","typeLabel":"string\u003cdate-time>"},"currency":{"type":"string","example":"USD","description":"Currency of the amounts.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.4.meta.currency","typeLabel":"string"},"granularity_note":{"oneOf":[{"type":"string","description":"Note when the bucket size differs from the request.","uniqueKey":"data.items.[INDEX].oneOf.4.meta.granularity_note.oneOf.0","typeLabel":"string"},{"type":"null","description":"Note when the bucket size differs from the request.","uniqueKey":"data.items.[INDEX].oneOf.4.meta.granularity_note.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.items.[INDEX].oneOf.4.meta.granularity_note","typeLabel":"string | null"},"period_snapped_note":{"oneOf":[{"type":"string","description":"Present when `basis=ledger` and the window is not whole months. The totals then cover the full accounting periods.","uniqueKey":"data.items.[INDEX].oneOf.4.meta.period_snapped_note.oneOf.0","typeLabel":"string"},{"type":"null","description":"Present when `basis=ledger` and the window is not whole months. The totals then cover the full accounting periods.","uniqueKey":"data.items.[INDEX].oneOf.4.meta.period_snapped_note.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.items.[INDEX].oneOf.4.meta.period_snapped_note","typeLabel":"string | null"},"account_ids_ignored":{"oneOf":[{"type":"boolean","description":"`true` when `account_ids` was ignored.","uniqueKey":"data.items.[INDEX].oneOf.4.meta.account_ids_ignored.oneOf.0","typeLabel":"boolean"},{"type":"null","description":"`true` when `account_ids` was ignored.","uniqueKey":"data.items.[INDEX].oneOf.4.meta.account_ids_ignored.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.items.[INDEX].oneOf.4.meta.account_ids_ignored","typeLabel":"boolean | null"},"account_ids_ignored_reason":{"oneOf":[{"type":"string","description":"Why `account_ids` was ignored.","uniqueKey":"data.items.[INDEX].oneOf.4.meta.account_ids_ignored_reason.oneOf.0","typeLabel":"string"},{"type":"null","description":"Why `account_ids` was ignored.","uniqueKey":"data.items.[INDEX].oneOf.4.meta.account_ids_ignored_reason.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.items.[INDEX].oneOf.4.meta.account_ids_ignored_reason","typeLabel":"string | null"},"basis":{"type":"string","enum":["cash","accrual"],"description":"Accounting basis of the figures: cash (basis=transactions, settled cash movements) or accrual (basis=ledger, the posted double-entry ledger).","uniqueKey":"data.items.[INDEX].oneOf.4.meta.basis","typeLabel":"enum\u003cstring>"},"cash_basis_caveat":{"oneOf":[{"type":"string","description":"Present when `basis=transactions`. Expenses do not include unpaid bills, accruals or non-cash journals.","uniqueKey":"data.items.[INDEX].oneOf.4.meta.cash_basis_caveat.oneOf.0","typeLabel":"string"},{"type":"null","description":"Present when `basis=transactions`. Expenses do not include unpaid bills, accruals or non-cash journals.","uniqueKey":"data.items.[INDEX].oneOf.4.meta.cash_basis_caveat.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.items.[INDEX].oneOf.4.meta.cash_basis_caveat","typeLabel":"string | null"}},"isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.4.meta","typeLabel":"object"}},"additionalProperties":false,"uniqueKey":"data.items.[INDEX].oneOf.4","typeLabel":"object"},{"type":"object","required":["metric","value","unit","formula","reason","details","meta"],"properties":{"metric":{"type":"string","const":"runway","description":"Metric name.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.5.metric","typeLabel":"string"},"value":{"oneOf":[{"type":"string","description":"Summary decimal value; null for unavailable or inapplicable metrics.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.5.value.oneOf.0","typeLabel":"string"},{"type":"null","description":"Summary decimal value; null for unavailable or inapplicable metrics.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.5.value.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.5.value","typeLabel":"string | null"},"unit":{"type":"string","description":"Unit of the value, such as `USD` or `months`.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.5.unit","typeLabel":"string"},"formula":{"type":"string","description":"Formula and effective calculation basis.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.5.formula","typeLabel":"string"},"reason":{"oneOf":[{"type":"string","description":"Why a value is unavailable or qualified.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.5.reason.oneOf.0","typeLabel":"string"},{"type":"null","description":"Why a value is unavailable or qualified.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.5.reason.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.5.reason","typeLabel":"string | null"},"details":{"type":"object","required":["months_remaining","cash_flow_positive","current_cash","average_monthly_burn","currency","no_data"],"properties":{"months_remaining":{"oneOf":[{"type":"string","description":"`current_cash` divided by `average_monthly_burn` (decimal string). `null` when the organization is cash-flow positive.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.5.details.months_remaining.oneOf.0","typeLabel":"string"},{"type":"null","description":"`current_cash` divided by `average_monthly_burn` (decimal string). `null` when the organization is cash-flow positive.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.5.details.months_remaining.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.5.details.months_remaining","typeLabel":"string | null"},"cash_flow_positive":{"type":"boolean","description":"True when net burn (outflows minus inflows) is \u003c= 0. When true, months_remaining is null and runway is not applicable.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.5.details.cash_flow_positive","typeLabel":"boolean"},"current_cash":{"type":"string","description":"Current cash position (decimal string).","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.5.details.current_cash","typeLabel":"string"},"average_monthly_burn":{"type":"string","description":"Net burn (total outflows minus inflows) divided by months in the window (decimal string). Negative when the organization is net cash-flow positive.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.5.details.average_monthly_burn","typeLabel":"string"},"currency":{"type":"string","example":"USD","description":"Currency of the amounts.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.5.details.currency","typeLabel":"string"},"no_data":{"type":"boolean","description":"`true` when `basis=ledger` and the window has no accounting periods, so runway cannot be calculated.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.5.details.no_data","typeLabel":"boolean"},"data_quality":{"type":"object","description":"Transactions that the figures exclude, and why. Bank removals and amounts without a USD value are excluded.","required":["status","window_transaction_count","excluded_spam_count","excluded_spam_by_currency","excluded_non_pl_classification_count","excluded_non_pl_classification_by_currency","no_posted_journal_entry_count","warnings","excluded_bank_removed_count","excluded_bank_removed_by_currency","excluded_currency_valuation_count","excluded_currency_valuation_by_currency","bank_correction_review_count","plaid_enrichment"],"properties":{"status":{"type":"string","enum":["ok","warnings","unavailable"],"description":"`ok`, `warnings`, or `unavailable` when the exclusions could not be calculated.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.5.details.data_quality.status","typeLabel":"enum\u003cstring>"},"window_transaction_count":{"type":"integer","description":"Transactions in the window, including excluded ones.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.5.details.data_quality.window_transaction_count","typeLabel":"integer"},"excluded_spam_count":{"type":"integer","description":"Spam-flagged transactions excluded from the figures.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.5.details.data_quality.excluded_spam_count","typeLabel":"integer"},"excluded_spam_by_currency":{"type":"array","items":{"type":"object","required":["currency","transaction_count","amount"],"properties":{"currency":{"type":"string","description":"Currency code from the excluded transaction rows. `UNKNOWN` means the source row has no currency.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.5.details.data_quality.excluded_spam_by_currency.items.[INDEX].currency","typeLabel":"string"},"transaction_count":{"type":"integer","description":"Excluded transactions in this currency block.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.5.details.data_quality.excluded_spam_by_currency.items.[INDEX].transaction_count","typeLabel":"integer"},"amount":{"type":"string","description":"Gross value for this currency (decimal string, 2 decimal places).","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.5.details.data_quality.excluded_spam_by_currency.items.[INDEX].amount","typeLabel":"string"}},"uniqueKey":"data.items.[INDEX].oneOf.5.details.data_quality.excluded_spam_by_currency.items.[INDEX]","typeLabel":"object"},"description":"Excluded spam transactions, by currency. Amounts are decimal strings.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.5.details.data_quality.excluded_spam_by_currency","typeLabel":"object[]"},"excluded_non_pl_classification_count":{"type":"integer","description":"Transactions excluded because their type is not income or expense, such as transfers and swaps.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.5.details.data_quality.excluded_non_pl_classification_count","typeLabel":"integer"},"excluded_non_pl_classification_by_currency":{"type":"array","items":{"type":"object","required":["currency","transaction_count","amount"],"properties":{"currency":{"type":"string","description":"Currency code from the excluded transaction rows. `UNKNOWN` means the source row has no currency.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.5.details.data_quality.excluded_non_pl_classification_by_currency.items.[INDEX].currency","typeLabel":"string"},"transaction_count":{"type":"integer","description":"Excluded transactions in this currency block.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.5.details.data_quality.excluded_non_pl_classification_by_currency.items.[INDEX].transaction_count","typeLabel":"integer"},"amount":{"type":"string","description":"Gross value for this currency (decimal string, 2 decimal places).","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.5.details.data_quality.excluded_non_pl_classification_by_currency.items.[INDEX].amount","typeLabel":"string"}},"uniqueKey":"data.items.[INDEX].oneOf.5.details.data_quality.excluded_non_pl_classification_by_currency.items.[INDEX]","typeLabel":"object"},"description":"Excluded transfers and other non-income, non-expense transactions, by currency.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.5.details.data_quality.excluded_non_pl_classification_by_currency","typeLabel":"object[]"},"no_posted_journal_entry_count":{"type":"integer","description":"Transactions in the window with no posted journal. Same as the `has_posted_journal_entry=false` filter.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.5.details.data_quality.no_posted_journal_entry_count","typeLabel":"integer"},"warnings":{"type":"array","items":{"type":"string","uniqueKey":"data.items.[INDEX].oneOf.5.details.data_quality.warnings.items.[INDEX]","typeLabel":"string"},"description":"[WARNING]-prefixed prose for each non-zero excluded bucket. Surface these whenever material.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.5.details.data_quality.warnings","typeLabel":"string[]"},"excluded_bank_removed_count":{"type":"integer","minimum":0,"description":"Transactions excluded because the bank removed them.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.5.details.data_quality.excluded_bank_removed_count","typeLabel":"integer"},"excluded_bank_removed_by_currency":{"type":"array","items":{"type":"object","required":["currency","transaction_count","amount"],"properties":{"currency":{"type":"string","description":"Currency code from the excluded transaction rows. `UNKNOWN` means the source row has no currency.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.5.details.data_quality.excluded_bank_removed_by_currency.items.[INDEX].currency","typeLabel":"string"},"transaction_count":{"type":"integer","description":"Excluded transactions in this currency block.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.5.details.data_quality.excluded_bank_removed_by_currency.items.[INDEX].transaction_count","typeLabel":"integer"},"amount":{"type":"string","description":"Gross value for this currency (decimal string, 2 decimal places).","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.5.details.data_quality.excluded_bank_removed_by_currency.items.[INDEX].amount","typeLabel":"string"}},"uniqueKey":"data.items.[INDEX].oneOf.5.details.data_quality.excluded_bank_removed_by_currency.items.[INDEX]","typeLabel":"object"},"description":"Bank removals grouped by currency.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.5.details.data_quality.excluded_bank_removed_by_currency","typeLabel":"object[]"},"excluded_currency_valuation_count":{"type":"integer","minimum":0,"description":"Transactions excluded because they have no USD value.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.5.details.data_quality.excluded_currency_valuation_count","typeLabel":"integer"},"excluded_currency_valuation_by_currency":{"type":"array","items":{"type":"object","required":["currency","transaction_count","amount"],"properties":{"currency":{"type":"string","description":"Currency code from the excluded transaction rows. `UNKNOWN` means the source row has no currency.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.5.details.data_quality.excluded_currency_valuation_by_currency.items.[INDEX].currency","typeLabel":"string"},"transaction_count":{"type":"integer","description":"Excluded transactions in this currency block.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.5.details.data_quality.excluded_currency_valuation_by_currency.items.[INDEX].transaction_count","typeLabel":"integer"},"amount":{"type":"string","description":"Gross value for this currency (decimal string, 2 decimal places).","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.5.details.data_quality.excluded_currency_valuation_by_currency.items.[INDEX].amount","typeLabel":"string"}},"uniqueKey":"data.items.[INDEX].oneOf.5.details.data_quality.excluded_currency_valuation_by_currency.items.[INDEX]","typeLabel":"object"},"description":"Transactions without a USD value, grouped by currency.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.5.details.data_quality.excluded_currency_valuation_by_currency","typeLabel":"object[]"},"bank_correction_review_count":{"type":"integer","minimum":0,"description":"Transactions with a bank correction to review.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.5.details.data_quality.bank_correction_review_count","typeLabel":"integer"},"plaid_enrichment":{"type":"object","description":"Coverage of Plaid enrichment in the window.","required":["transaction_count","merchant_identity_count","running_balance_count","category_versions","category_confidence"],"properties":{"transaction_count":{"type":"integer","minimum":0,"description":"Transactions with Plaid enrichment.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.5.details.data_quality.plaid_enrichment.transaction_count","typeLabel":"integer"},"merchant_identity_count":{"type":"integer","minimum":0,"description":"Transactions with a Plaid merchant ID.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.5.details.data_quality.plaid_enrichment.merchant_identity_count","typeLabel":"integer"},"running_balance_count":{"type":"integer","minimum":0,"description":"Transactions with a running balance.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.5.details.data_quality.plaid_enrichment.running_balance_count","typeLabel":"integer"},"category_versions":{"type":"array","items":{"type":"object","required":["version","transaction_count"],"properties":{"version":{"type":"string","description":"Plaid category version.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.5.details.data_quality.plaid_enrichment.category_versions.items.[INDEX].version","typeLabel":"string"},"transaction_count":{"type":"integer","minimum":0,"description":"Transactions with this version.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.5.details.data_quality.plaid_enrichment.category_versions.items.[INDEX].transaction_count","typeLabel":"integer"}},"uniqueKey":"data.items.[INDEX].oneOf.5.details.data_quality.plaid_enrichment.category_versions.items.[INDEX]","typeLabel":"object"},"description":"Transactions by Plaid category version.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.5.details.data_quality.plaid_enrichment.category_versions","typeLabel":"object[]"},"category_confidence":{"type":"array","items":{"type":"object","required":["confidence","transaction_count"],"properties":{"confidence":{"type":"string","description":"Plaid confidence level.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.5.details.data_quality.plaid_enrichment.category_confidence.items.[INDEX].confidence","typeLabel":"string"},"transaction_count":{"type":"integer","minimum":0,"description":"Transactions with this confidence.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.5.details.data_quality.plaid_enrichment.category_confidence.items.[INDEX].transaction_count","typeLabel":"integer"}},"uniqueKey":"data.items.[INDEX].oneOf.5.details.data_quality.plaid_enrichment.category_confidence.items.[INDEX]","typeLabel":"object"},"description":"Transactions by Plaid category confidence.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.5.details.data_quality.plaid_enrichment.category_confidence","typeLabel":"object[]"}},"isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.5.details.data_quality.plaid_enrichment","typeLabel":"object"}},"uniqueKey":"data.items.[INDEX].oneOf.5.details.data_quality","typeLabel":"object"}},"description":"Values of the metric.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.5.details","typeLabel":"object"},"meta":{"type":"object","required":["source","granularity","start_date","end_date","currency"],"properties":{"source":{"type":"string","enum":["gl","transactions"],"description":"Data source: `gl` for `basis=ledger`, `transactions` for `basis=transactions`.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.5.meta.source","typeLabel":"enum\u003cstring>"},"granularity":{"type":"string","enum":["daily","weekly","monthly"],"description":"Bucket size.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.5.meta.granularity","typeLabel":"enum\u003cstring>"},"start_date":{"type":"string","format":"date-time","description":"Start of the window.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.5.meta.start_date","typeLabel":"string\u003cdate-time>"},"end_date":{"type":"string","format":"date-time","description":"End of the window.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.5.meta.end_date","typeLabel":"string\u003cdate-time>"},"currency":{"type":"string","example":"USD","description":"Currency of the amounts.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.5.meta.currency","typeLabel":"string"},"granularity_note":{"oneOf":[{"type":"string","description":"Note when the bucket size differs from the request.","uniqueKey":"data.items.[INDEX].oneOf.5.meta.granularity_note.oneOf.0","typeLabel":"string"},{"type":"null","description":"Note when the bucket size differs from the request.","uniqueKey":"data.items.[INDEX].oneOf.5.meta.granularity_note.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.items.[INDEX].oneOf.5.meta.granularity_note","typeLabel":"string | null"},"period_snapped_note":{"oneOf":[{"type":"string","description":"Present when `basis=ledger` and the window is not whole months. The totals then cover the full accounting periods.","uniqueKey":"data.items.[INDEX].oneOf.5.meta.period_snapped_note.oneOf.0","typeLabel":"string"},{"type":"null","description":"Present when `basis=ledger` and the window is not whole months. The totals then cover the full accounting periods.","uniqueKey":"data.items.[INDEX].oneOf.5.meta.period_snapped_note.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.items.[INDEX].oneOf.5.meta.period_snapped_note","typeLabel":"string | null"},"account_ids_ignored":{"oneOf":[{"type":"boolean","description":"`true` when `account_ids` was ignored.","uniqueKey":"data.items.[INDEX].oneOf.5.meta.account_ids_ignored.oneOf.0","typeLabel":"boolean"},{"type":"null","description":"`true` when `account_ids` was ignored.","uniqueKey":"data.items.[INDEX].oneOf.5.meta.account_ids_ignored.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.items.[INDEX].oneOf.5.meta.account_ids_ignored","typeLabel":"boolean | null"},"account_ids_ignored_reason":{"oneOf":[{"type":"string","description":"Why `account_ids` was ignored.","uniqueKey":"data.items.[INDEX].oneOf.5.meta.account_ids_ignored_reason.oneOf.0","typeLabel":"string"},{"type":"null","description":"Why `account_ids` was ignored.","uniqueKey":"data.items.[INDEX].oneOf.5.meta.account_ids_ignored_reason.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.items.[INDEX].oneOf.5.meta.account_ids_ignored_reason","typeLabel":"string | null"},"basis":{"type":"string","enum":["cash","accrual"],"description":"Accounting basis of the figures: cash (basis=transactions, settled cash movements) or accrual (basis=ledger, the posted double-entry ledger).","uniqueKey":"data.items.[INDEX].oneOf.5.meta.basis","typeLabel":"enum\u003cstring>"},"cash_basis_caveat":{"oneOf":[{"type":"string","description":"Present when `basis=transactions`. Expenses do not include unpaid bills, accruals or non-cash journals.","uniqueKey":"data.items.[INDEX].oneOf.5.meta.cash_basis_caveat.oneOf.0","typeLabel":"string"},{"type":"null","description":"Present when `basis=transactions`. Expenses do not include unpaid bills, accruals or non-cash journals.","uniqueKey":"data.items.[INDEX].oneOf.5.meta.cash_basis_caveat.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.items.[INDEX].oneOf.5.meta.cash_basis_caveat","typeLabel":"string | null"}},"isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.5.meta","typeLabel":"object"}},"additionalProperties":false,"uniqueKey":"data.items.[INDEX].oneOf.5","typeLabel":"object"},{"type":"object","required":["metric","value","unit","formula","reason","details","meta"],"properties":{"metric":{"type":"string","const":"cash_flow","description":"Metric name.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.6.metric","typeLabel":"string"},"value":{"oneOf":[{"type":"string","description":"Summary decimal value; null for unavailable or inapplicable metrics.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.6.value.oneOf.0","typeLabel":"string"},{"type":"null","description":"Summary decimal value; null for unavailable or inapplicable metrics.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.6.value.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.6.value","typeLabel":"string | null"},"unit":{"type":"string","description":"Unit of the value, such as `USD` or `months`.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.6.unit","typeLabel":"string"},"formula":{"type":"string","description":"Formula and effective calculation basis.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.6.formula","typeLabel":"string"},"reason":{"oneOf":[{"type":"string","description":"Why a value is unavailable or qualified.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.6.reason.oneOf.0","typeLabel":"string"},{"type":"null","description":"Why a value is unavailable or qualified.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.6.reason.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.6.reason","typeLabel":"string | null"},"details":{"type":"object","required":["net_flow","total_inflows","total_outflows","currency","time_series"],"properties":{"net_flow":{"type":"string","description":"total_inflows minus total_outflows (decimal string).","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.6.details.net_flow","typeLabel":"string"},"total_inflows":{"type":"string","description":"Total income over the window (decimal string).","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.6.details.total_inflows","typeLabel":"string"},"total_outflows":{"type":"string","description":"Total expenses over the window (decimal string).","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.6.details.total_outflows","typeLabel":"string"},"currency":{"type":"string","example":"USD","description":"Currency of the amounts.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.6.details.currency","typeLabel":"string"},"time_series":{"type":"array","items":{"type":"object","required":["period_start","period_end","inflows","outflows","net","cumulative_net"],"properties":{"period_start":{"type":"string","format":"date-time","description":"Start of the bucket.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.6.details.time_series.items.[INDEX].period_start","typeLabel":"string\u003cdate-time>"},"period_end":{"type":"string","format":"date-time","description":"End of the bucket.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.6.details.time_series.items.[INDEX].period_end","typeLabel":"string\u003cdate-time>"},"inflows":{"type":"string","description":"Money in during the bucket (decimal string).","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.6.details.time_series.items.[INDEX].inflows","typeLabel":"string"},"outflows":{"type":"string","description":"Money out during the bucket (decimal string).","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.6.details.time_series.items.[INDEX].outflows","typeLabel":"string"},"net":{"type":"string","description":"Inflows minus outflows in the bucket (decimal string).","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.6.details.time_series.items.[INDEX].net","typeLabel":"string"},"cumulative_net":{"type":"string","description":"Net flow from the window start through this bucket (decimal string).","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.6.details.time_series.items.[INDEX].cumulative_net","typeLabel":"string"}},"uniqueKey":"data.items.[INDEX].oneOf.6.details.time_series.items.[INDEX]","typeLabel":"object"},"description":"Values for each bucket.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.6.details.time_series","typeLabel":"object[]"},"data_quality":{"type":"object","description":"Transactions that the figures exclude, and why. Bank removals and amounts without a USD value are excluded.","required":["status","window_transaction_count","excluded_spam_count","excluded_spam_by_currency","excluded_non_pl_classification_count","excluded_non_pl_classification_by_currency","no_posted_journal_entry_count","warnings","excluded_bank_removed_count","excluded_bank_removed_by_currency","excluded_currency_valuation_count","excluded_currency_valuation_by_currency","bank_correction_review_count","plaid_enrichment"],"properties":{"status":{"type":"string","enum":["ok","warnings","unavailable"],"description":"`ok`, `warnings`, or `unavailable` when the exclusions could not be calculated.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.6.details.data_quality.status","typeLabel":"enum\u003cstring>"},"window_transaction_count":{"type":"integer","description":"Transactions in the window, including excluded ones.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.6.details.data_quality.window_transaction_count","typeLabel":"integer"},"excluded_spam_count":{"type":"integer","description":"Spam-flagged transactions excluded from the figures.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.6.details.data_quality.excluded_spam_count","typeLabel":"integer"},"excluded_spam_by_currency":{"type":"array","items":{"type":"object","required":["currency","transaction_count","amount"],"properties":{"currency":{"type":"string","description":"Currency code from the excluded transaction rows. `UNKNOWN` means the source row has no currency.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.6.details.data_quality.excluded_spam_by_currency.items.[INDEX].currency","typeLabel":"string"},"transaction_count":{"type":"integer","description":"Excluded transactions in this currency block.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.6.details.data_quality.excluded_spam_by_currency.items.[INDEX].transaction_count","typeLabel":"integer"},"amount":{"type":"string","description":"Gross value for this currency (decimal string, 2 decimal places).","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.6.details.data_quality.excluded_spam_by_currency.items.[INDEX].amount","typeLabel":"string"}},"uniqueKey":"data.items.[INDEX].oneOf.6.details.data_quality.excluded_spam_by_currency.items.[INDEX]","typeLabel":"object"},"description":"Excluded spam transactions, by currency. Amounts are decimal strings.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.6.details.data_quality.excluded_spam_by_currency","typeLabel":"object[]"},"excluded_non_pl_classification_count":{"type":"integer","description":"Transactions excluded because their type is not income or expense, such as transfers and swaps.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.6.details.data_quality.excluded_non_pl_classification_count","typeLabel":"integer"},"excluded_non_pl_classification_by_currency":{"type":"array","items":{"type":"object","required":["currency","transaction_count","amount"],"properties":{"currency":{"type":"string","description":"Currency code from the excluded transaction rows. `UNKNOWN` means the source row has no currency.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.6.details.data_quality.excluded_non_pl_classification_by_currency.items.[INDEX].currency","typeLabel":"string"},"transaction_count":{"type":"integer","description":"Excluded transactions in this currency block.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.6.details.data_quality.excluded_non_pl_classification_by_currency.items.[INDEX].transaction_count","typeLabel":"integer"},"amount":{"type":"string","description":"Gross value for this currency (decimal string, 2 decimal places).","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.6.details.data_quality.excluded_non_pl_classification_by_currency.items.[INDEX].amount","typeLabel":"string"}},"uniqueKey":"data.items.[INDEX].oneOf.6.details.data_quality.excluded_non_pl_classification_by_currency.items.[INDEX]","typeLabel":"object"},"description":"Excluded transfers and other non-income, non-expense transactions, by currency.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.6.details.data_quality.excluded_non_pl_classification_by_currency","typeLabel":"object[]"},"no_posted_journal_entry_count":{"type":"integer","description":"Transactions in the window with no posted journal. Same as the `has_posted_journal_entry=false` filter.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.6.details.data_quality.no_posted_journal_entry_count","typeLabel":"integer"},"warnings":{"type":"array","items":{"type":"string","uniqueKey":"data.items.[INDEX].oneOf.6.details.data_quality.warnings.items.[INDEX]","typeLabel":"string"},"description":"[WARNING]-prefixed prose for each non-zero excluded bucket. Surface these whenever material.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.6.details.data_quality.warnings","typeLabel":"string[]"},"excluded_bank_removed_count":{"type":"integer","minimum":0,"description":"Transactions excluded because the bank removed them.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.6.details.data_quality.excluded_bank_removed_count","typeLabel":"integer"},"excluded_bank_removed_by_currency":{"type":"array","items":{"type":"object","required":["currency","transaction_count","amount"],"properties":{"currency":{"type":"string","description":"Currency code from the excluded transaction rows. `UNKNOWN` means the source row has no currency.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.6.details.data_quality.excluded_bank_removed_by_currency.items.[INDEX].currency","typeLabel":"string"},"transaction_count":{"type":"integer","description":"Excluded transactions in this currency block.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.6.details.data_quality.excluded_bank_removed_by_currency.items.[INDEX].transaction_count","typeLabel":"integer"},"amount":{"type":"string","description":"Gross value for this currency (decimal string, 2 decimal places).","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.6.details.data_quality.excluded_bank_removed_by_currency.items.[INDEX].amount","typeLabel":"string"}},"uniqueKey":"data.items.[INDEX].oneOf.6.details.data_quality.excluded_bank_removed_by_currency.items.[INDEX]","typeLabel":"object"},"description":"Bank removals grouped by currency.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.6.details.data_quality.excluded_bank_removed_by_currency","typeLabel":"object[]"},"excluded_currency_valuation_count":{"type":"integer","minimum":0,"description":"Transactions excluded because they have no USD value.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.6.details.data_quality.excluded_currency_valuation_count","typeLabel":"integer"},"excluded_currency_valuation_by_currency":{"type":"array","items":{"type":"object","required":["currency","transaction_count","amount"],"properties":{"currency":{"type":"string","description":"Currency code from the excluded transaction rows. `UNKNOWN` means the source row has no currency.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.6.details.data_quality.excluded_currency_valuation_by_currency.items.[INDEX].currency","typeLabel":"string"},"transaction_count":{"type":"integer","description":"Excluded transactions in this currency block.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.6.details.data_quality.excluded_currency_valuation_by_currency.items.[INDEX].transaction_count","typeLabel":"integer"},"amount":{"type":"string","description":"Gross value for this currency (decimal string, 2 decimal places).","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.6.details.data_quality.excluded_currency_valuation_by_currency.items.[INDEX].amount","typeLabel":"string"}},"uniqueKey":"data.items.[INDEX].oneOf.6.details.data_quality.excluded_currency_valuation_by_currency.items.[INDEX]","typeLabel":"object"},"description":"Transactions without a USD value, grouped by currency.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.6.details.data_quality.excluded_currency_valuation_by_currency","typeLabel":"object[]"},"bank_correction_review_count":{"type":"integer","minimum":0,"description":"Transactions with a bank correction to review.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.6.details.data_quality.bank_correction_review_count","typeLabel":"integer"},"plaid_enrichment":{"type":"object","description":"Coverage of Plaid enrichment in the window.","required":["transaction_count","merchant_identity_count","running_balance_count","category_versions","category_confidence"],"properties":{"transaction_count":{"type":"integer","minimum":0,"description":"Transactions with Plaid enrichment.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.6.details.data_quality.plaid_enrichment.transaction_count","typeLabel":"integer"},"merchant_identity_count":{"type":"integer","minimum":0,"description":"Transactions with a Plaid merchant ID.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.6.details.data_quality.plaid_enrichment.merchant_identity_count","typeLabel":"integer"},"running_balance_count":{"type":"integer","minimum":0,"description":"Transactions with a running balance.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.6.details.data_quality.plaid_enrichment.running_balance_count","typeLabel":"integer"},"category_versions":{"type":"array","items":{"type":"object","required":["version","transaction_count"],"properties":{"version":{"type":"string","description":"Plaid category version.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.6.details.data_quality.plaid_enrichment.category_versions.items.[INDEX].version","typeLabel":"string"},"transaction_count":{"type":"integer","minimum":0,"description":"Transactions with this version.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.6.details.data_quality.plaid_enrichment.category_versions.items.[INDEX].transaction_count","typeLabel":"integer"}},"uniqueKey":"data.items.[INDEX].oneOf.6.details.data_quality.plaid_enrichment.category_versions.items.[INDEX]","typeLabel":"object"},"description":"Transactions by Plaid category version.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.6.details.data_quality.plaid_enrichment.category_versions","typeLabel":"object[]"},"category_confidence":{"type":"array","items":{"type":"object","required":["confidence","transaction_count"],"properties":{"confidence":{"type":"string","description":"Plaid confidence level.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.6.details.data_quality.plaid_enrichment.category_confidence.items.[INDEX].confidence","typeLabel":"string"},"transaction_count":{"type":"integer","minimum":0,"description":"Transactions with this confidence.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.6.details.data_quality.plaid_enrichment.category_confidence.items.[INDEX].transaction_count","typeLabel":"integer"}},"uniqueKey":"data.items.[INDEX].oneOf.6.details.data_quality.plaid_enrichment.category_confidence.items.[INDEX]","typeLabel":"object"},"description":"Transactions by Plaid category confidence.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.6.details.data_quality.plaid_enrichment.category_confidence","typeLabel":"object[]"}},"isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.6.details.data_quality.plaid_enrichment","typeLabel":"object"}},"uniqueKey":"data.items.[INDEX].oneOf.6.details.data_quality","typeLabel":"object"}},"description":"Values of the metric.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.6.details","typeLabel":"object"},"meta":{"type":"object","required":["source","granularity","start_date","end_date","currency"],"properties":{"source":{"type":"string","enum":["gl","transactions"],"description":"Data source: `gl` for `basis=ledger`, `transactions` for `basis=transactions`.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.6.meta.source","typeLabel":"enum\u003cstring>"},"granularity":{"type":"string","enum":["daily","weekly","monthly"],"description":"Bucket size.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.6.meta.granularity","typeLabel":"enum\u003cstring>"},"start_date":{"type":"string","format":"date-time","description":"Start of the window.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.6.meta.start_date","typeLabel":"string\u003cdate-time>"},"end_date":{"type":"string","format":"date-time","description":"End of the window.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.6.meta.end_date","typeLabel":"string\u003cdate-time>"},"currency":{"type":"string","example":"USD","description":"Currency of the amounts.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.6.meta.currency","typeLabel":"string"},"granularity_note":{"oneOf":[{"type":"string","description":"Note when the bucket size differs from the request.","uniqueKey":"data.items.[INDEX].oneOf.6.meta.granularity_note.oneOf.0","typeLabel":"string"},{"type":"null","description":"Note when the bucket size differs from the request.","uniqueKey":"data.items.[INDEX].oneOf.6.meta.granularity_note.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.items.[INDEX].oneOf.6.meta.granularity_note","typeLabel":"string | null"},"period_snapped_note":{"oneOf":[{"type":"string","description":"Present when `basis=ledger` and the window is not whole months. The totals then cover the full accounting periods.","uniqueKey":"data.items.[INDEX].oneOf.6.meta.period_snapped_note.oneOf.0","typeLabel":"string"},{"type":"null","description":"Present when `basis=ledger` and the window is not whole months. The totals then cover the full accounting periods.","uniqueKey":"data.items.[INDEX].oneOf.6.meta.period_snapped_note.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.items.[INDEX].oneOf.6.meta.period_snapped_note","typeLabel":"string | null"},"account_ids_ignored":{"oneOf":[{"type":"boolean","description":"`true` when `account_ids` was ignored.","uniqueKey":"data.items.[INDEX].oneOf.6.meta.account_ids_ignored.oneOf.0","typeLabel":"boolean"},{"type":"null","description":"`true` when `account_ids` was ignored.","uniqueKey":"data.items.[INDEX].oneOf.6.meta.account_ids_ignored.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.items.[INDEX].oneOf.6.meta.account_ids_ignored","typeLabel":"boolean | null"},"account_ids_ignored_reason":{"oneOf":[{"type":"string","description":"Why `account_ids` was ignored.","uniqueKey":"data.items.[INDEX].oneOf.6.meta.account_ids_ignored_reason.oneOf.0","typeLabel":"string"},{"type":"null","description":"Why `account_ids` was ignored.","uniqueKey":"data.items.[INDEX].oneOf.6.meta.account_ids_ignored_reason.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.items.[INDEX].oneOf.6.meta.account_ids_ignored_reason","typeLabel":"string | null"},"basis":{"type":"string","enum":["cash","accrual"],"description":"Accounting basis of the figures: cash (basis=transactions, settled cash movements) or accrual (basis=ledger, the posted double-entry ledger).","uniqueKey":"data.items.[INDEX].oneOf.6.meta.basis","typeLabel":"enum\u003cstring>"},"cash_basis_caveat":{"oneOf":[{"type":"string","description":"Present when `basis=transactions`. Expenses do not include unpaid bills, accruals or non-cash journals.","uniqueKey":"data.items.[INDEX].oneOf.6.meta.cash_basis_caveat.oneOf.0","typeLabel":"string"},{"type":"null","description":"Present when `basis=transactions`. Expenses do not include unpaid bills, accruals or non-cash journals.","uniqueKey":"data.items.[INDEX].oneOf.6.meta.cash_basis_caveat.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.items.[INDEX].oneOf.6.meta.cash_basis_caveat","typeLabel":"string | null"}},"isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.6.meta","typeLabel":"object"}},"additionalProperties":false,"uniqueKey":"data.items.[INDEX].oneOf.6","typeLabel":"object"},{"type":"object","required":["metric","value","unit","formula","reason","details","meta"],"properties":{"metric":{"type":"string","const":"treasury_flow","description":"Metric name.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.7.metric","typeLabel":"string"},"value":{"oneOf":[{"type":"string","description":"Summary decimal value; null for unavailable or inapplicable metrics.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.7.value.oneOf.0","typeLabel":"string"},{"type":"null","description":"Summary decimal value; null for unavailable or inapplicable metrics.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.7.value.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.7.value","typeLabel":"string | null"},"unit":{"type":"string","description":"Unit of the value, such as `USD` or `months`.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.7.unit","typeLabel":"string"},"formula":{"type":"string","description":"Formula and effective calculation basis.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.7.formula","typeLabel":"string"},"reason":{"oneOf":[{"type":"string","description":"Why a value is unavailable or qualified.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.7.reason.oneOf.0","typeLabel":"string"},{"type":"null","description":"Why a value is unavailable or qualified.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.7.reason.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.7.reason","typeLabel":"string | null"},"details":{"type":"object","additionalProperties":false,"required":["status","total_credits","total_debits","net_flow","currency","source_count","time_series","by_counterparty","by_category","recent_activity","data_quality"],"description":"Money in and money out of the cash sources in scope: Plaid depository accounts, internal wallets and exchange accounts.","properties":{"status":{"type":"string","enum":["complete","partial","unavailable"],"description":"`partial`: some movements have no USD value or no price, so a total can be too low. `unavailable`: the totals are null; never read them as zero.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.7.details.status","typeLabel":"enum\u003cstring>"},"total_credits":{"oneOf":[{"type":"string","description":"Money in. Null when `status` is `unavailable`.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.7.details.total_credits.oneOf.0","typeLabel":"string"},{"type":"null","description":"Money in. Null when `status` is `unavailable`.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.7.details.total_credits.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.7.details.total_credits","typeLabel":"string | null"},"total_debits":{"oneOf":[{"type":"string","description":"Money out. Null when `status` is `unavailable`.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.7.details.total_debits.oneOf.0","typeLabel":"string"},{"type":"null","description":"Money out. Null when `status` is `unavailable`.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.7.details.total_debits.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.7.details.total_debits","typeLabel":"string | null"},"net_flow":{"oneOf":[{"type":"string","description":"total_credits minus total_debits.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.7.details.net_flow.oneOf.0","typeLabel":"string"},{"type":"null","description":"total_credits minus total_debits.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.7.details.net_flow.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.7.details.net_flow","typeLabel":"string | null"},"currency":{"type":"string","enum":["USD"],"description":"Currency of the amounts.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.7.details.currency","typeLabel":"enum\u003cstring>"},"source_count":{"type":"integer","description":"Cash sources in scope.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.7.details.source_count","typeLabel":"integer"},"time_series":{"type":"array","items":{"type":"object","additionalProperties":false,"required":["period_start","period_end","credits","debits","net"],"description":"Money in and money out of one period bucket. Buckets with no movement are absent.","properties":{"period_start":{"type":"string","format":"date-time","description":"Bucket start (UTC), clamped to the window.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.7.details.time_series.items.[INDEX].period_start","typeLabel":"string\u003cdate-time>"},"period_end":{"type":"string","format":"date-time","description":"Bucket end (UTC), clamped to the window.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.7.details.time_series.items.[INDEX].period_end","typeLabel":"string\u003cdate-time>"},"credits":{"type":"string","description":"Money in of the bucket.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.7.details.time_series.items.[INDEX].credits","typeLabel":"string"},"debits":{"type":"string","description":"Money out of the bucket.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.7.details.time_series.items.[INDEX].debits","typeLabel":"string"},"net":{"type":"string","description":"credits minus debits.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.7.details.time_series.items.[INDEX].net","typeLabel":"string"}},"uniqueKey":"data.items.[INDEX].oneOf.7.details.time_series.items.[INDEX]","typeLabel":"object"},"description":"Separate credit and debit series by `granularity`.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.7.details.time_series","typeLabel":"object[]"},"by_counterparty":{"type":"object","additionalProperties":false,"required":["credit","debit"],"description":"Up to 10 counterparties per direction, ranked by amount, then `Other`.","properties":{"credit":{"type":"array","items":{"type":"object","additionalProperties":false,"required":["key","name","source_id","placeholder_name","external_source_id","address","chain","amount","transaction_count","send_history"],"description":"One counterparty of one direction. The last row can be `Other`, the remainder of the direction total.","properties":{"key":{"type":"string","description":"Stable across windows: `source:\u003cfac_ id>`, `wallet:\u003cid>`, `address:\u003cchain>:\u003caddress>`, `name:\u003clowercase name>`, or `other`.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.7.details.by_counterparty.credit.items.[INDEX].key","typeLabel":"string"},"name":{"type":"string","description":"Display name. An address that the organization saved as an external source shows the name of that source. Bank and card rows use the transaction `vendor` rule. An exchange row with no trade data and no counterparty address is named for its exchange and direction, for example `Kraken deposit` or `Kraken withdrawal`.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.7.details.by_counterparty.credit.items.[INDEX].name","typeLabel":"string"},"source_id":{"oneOf":[{"type":"string","description":"`fac_` ID when the counterparty is a cash source of the organization outside the scope.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.7.details.by_counterparty.credit.items.[INDEX].source_id.oneOf.0","typeLabel":"string"},{"type":"null","description":"`fac_` ID when the counterparty is a cash source of the organization outside the scope.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.7.details.by_counterparty.credit.items.[INDEX].source_id.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.7.details.by_counterparty.credit.items.[INDEX].source_id","typeLabel":"string | null"},"placeholder_name":{"type":"boolean","description":"True when `name` is a generic label, such as `Bank transaction`, and not the name of a counterparty. Do not present such a name as a counterparty.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.7.details.by_counterparty.credit.items.[INDEX].placeholder_name","typeLabel":"boolean"},"external_source_id":{"oneOf":[{"type":"string","description":"`wal_` ID of the external source that names this counterparty. Use it with `GET`, `PATCH`, or `DELETE /v1/sources/{id}`.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.7.details.by_counterparty.credit.items.[INDEX].external_source_id.oneOf.0","typeLabel":"string"},{"type":"null","description":"`wal_` ID of the external source that names this counterparty. Use it with `GET`, `PATCH`, or `DELETE /v1/sources/{id}`.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.7.details.by_counterparty.credit.items.[INDEX].external_source_id.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.7.details.by_counterparty.credit.items.[INDEX].external_source_id","typeLabel":"string | null"},"address":{"oneOf":[{"type":"string","description":"The counterparty address in its original case, for an `address:` row. The key holds it in lowercase. Null for every other row, and for an exchange ID that is not an address.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.7.details.by_counterparty.credit.items.[INDEX].address.oneOf.0","typeLabel":"string"},{"type":"null","description":"The counterparty address in its original case, for an `address:` row. The key holds it in lowercase. Null for every other row, and for an exchange ID that is not an address.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.7.details.by_counterparty.credit.items.[INDEX].address.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.7.details.by_counterparty.credit.items.[INDEX].address","typeLabel":"string | null"},"chain":{"oneOf":[{"type":"string","description":"The chain of `address`. Null when `address` is null or the transaction has no chain.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.7.details.by_counterparty.credit.items.[INDEX].chain.oneOf.0","typeLabel":"string"},{"type":"null","description":"The chain of `address`. Null when `address` is null or the transaction has no chain.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.7.details.by_counterparty.credit.items.[INDEX].chain.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.7.details.by_counterparty.credit.items.[INDEX].chain","typeLabel":"string | null"},"amount":{"type":"string","description":"USD amount.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.7.details.by_counterparty.credit.items.[INDEX].amount","typeLabel":"string"},"transaction_count":{"type":"integer","description":"Number of transactions.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.7.details.by_counterparty.credit.items.[INDEX].transaction_count","typeLabel":"integer"},"send_history":{"oneOf":[{"type":"object","description":"All-time sends of the whole organization to this counterparty, outside the window and the scope too. Set on `address:` and `wallet:` rows. Null on source, name and `Other` rows, on an own address, and when the history could not be read.","required":["send_count","total_sent","currency","unpriced_send_count","first_sent_at","last_sent_at"],"properties":{"send_count":{"type":"integer","description":"Number of sends.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.7.details.by_counterparty.credit.items.[INDEX].send_history.oneOf.0.send_count","typeLabel":"integer"},"total_sent":{"type":"string","description":"USD value at the time of each send, of the sends that have one.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.7.details.by_counterparty.credit.items.[INDEX].send_history.oneOf.0.total_sent","typeLabel":"string"},"currency":{"type":"string","enum":["USD"],"description":"The currency of `total_sent`.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.7.details.by_counterparty.credit.items.[INDEX].send_history.oneOf.0.currency","typeLabel":"enum\u003cstring>"},"unpriced_send_count":{"type":"integer","description":"The sends that `total_sent` leaves out because they have no USD value.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.7.details.by_counterparty.credit.items.[INDEX].send_history.oneOf.0.unpriced_send_count","typeLabel":"integer"},"first_sent_at":{"oneOf":[{"type":"string","format":"date-time","description":"Date of the first send. Null when `send_count` is 0.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.7.details.by_counterparty.credit.items.[INDEX].send_history.oneOf.0.first_sent_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","description":"Date of the first send. Null when `send_count` is 0.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.7.details.by_counterparty.credit.items.[INDEX].send_history.oneOf.0.first_sent_at.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.7.details.by_counterparty.credit.items.[INDEX].send_history.oneOf.0.first_sent_at","typeLabel":"string\u003cdate-time> | null"},"last_sent_at":{"oneOf":[{"type":"string","format":"date-time","description":"Date of the last send. Null when `send_count` is 0.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.7.details.by_counterparty.credit.items.[INDEX].send_history.oneOf.0.last_sent_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","description":"Date of the last send. Null when `send_count` is 0.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.7.details.by_counterparty.credit.items.[INDEX].send_history.oneOf.0.last_sent_at.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.7.details.by_counterparty.credit.items.[INDEX].send_history.oneOf.0.last_sent_at","typeLabel":"string\u003cdate-time> | null"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.7.details.by_counterparty.credit.items.[INDEX].send_history.oneOf.0","typeLabel":"object"},{"type":"null","description":"All-time sends of the whole organization to this counterparty, outside the window and the scope too. Set on `address:` and `wallet:` rows. Null on source, name and `Other` rows, on an own address, and when the history could not be read.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.7.details.by_counterparty.credit.items.[INDEX].send_history.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.7.details.by_counterparty.credit.items.[INDEX].send_history","typeLabel":"object | null"}},"uniqueKey":"data.items.[INDEX].oneOf.7.details.by_counterparty.credit.items.[INDEX]","typeLabel":"object"},"description":"Where money in came from.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.7.details.by_counterparty.credit","typeLabel":"object[]"},"debit":{"type":"array","items":{"type":"object","additionalProperties":false,"required":["key","name","source_id","placeholder_name","external_source_id","address","chain","amount","transaction_count","send_history"],"description":"One counterparty of one direction. The last row can be `Other`, the remainder of the direction total.","properties":{"key":{"type":"string","description":"Stable across windows: `source:\u003cfac_ id>`, `wallet:\u003cid>`, `address:\u003cchain>:\u003caddress>`, `name:\u003clowercase name>`, or `other`.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.7.details.by_counterparty.debit.items.[INDEX].key","typeLabel":"string"},"name":{"type":"string","description":"Display name. An address that the organization saved as an external source shows the name of that source. Bank and card rows use the transaction `vendor` rule. An exchange row with no trade data and no counterparty address is named for its exchange and direction, for example `Kraken deposit` or `Kraken withdrawal`.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.7.details.by_counterparty.debit.items.[INDEX].name","typeLabel":"string"},"source_id":{"oneOf":[{"type":"string","description":"`fac_` ID when the counterparty is a cash source of the organization outside the scope.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.7.details.by_counterparty.debit.items.[INDEX].source_id.oneOf.0","typeLabel":"string"},{"type":"null","description":"`fac_` ID when the counterparty is a cash source of the organization outside the scope.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.7.details.by_counterparty.debit.items.[INDEX].source_id.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.7.details.by_counterparty.debit.items.[INDEX].source_id","typeLabel":"string | null"},"placeholder_name":{"type":"boolean","description":"True when `name` is a generic label, such as `Bank transaction`, and not the name of a counterparty. Do not present such a name as a counterparty.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.7.details.by_counterparty.debit.items.[INDEX].placeholder_name","typeLabel":"boolean"},"external_source_id":{"oneOf":[{"type":"string","description":"`wal_` ID of the external source that names this counterparty. Use it with `GET`, `PATCH`, or `DELETE /v1/sources/{id}`.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.7.details.by_counterparty.debit.items.[INDEX].external_source_id.oneOf.0","typeLabel":"string"},{"type":"null","description":"`wal_` ID of the external source that names this counterparty. Use it with `GET`, `PATCH`, or `DELETE /v1/sources/{id}`.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.7.details.by_counterparty.debit.items.[INDEX].external_source_id.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.7.details.by_counterparty.debit.items.[INDEX].external_source_id","typeLabel":"string | null"},"address":{"oneOf":[{"type":"string","description":"The counterparty address in its original case, for an `address:` row. The key holds it in lowercase. Null for every other row, and for an exchange ID that is not an address.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.7.details.by_counterparty.debit.items.[INDEX].address.oneOf.0","typeLabel":"string"},{"type":"null","description":"The counterparty address in its original case, for an `address:` row. The key holds it in lowercase. Null for every other row, and for an exchange ID that is not an address.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.7.details.by_counterparty.debit.items.[INDEX].address.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.7.details.by_counterparty.debit.items.[INDEX].address","typeLabel":"string | null"},"chain":{"oneOf":[{"type":"string","description":"The chain of `address`. Null when `address` is null or the transaction has no chain.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.7.details.by_counterparty.debit.items.[INDEX].chain.oneOf.0","typeLabel":"string"},{"type":"null","description":"The chain of `address`. Null when `address` is null or the transaction has no chain.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.7.details.by_counterparty.debit.items.[INDEX].chain.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.7.details.by_counterparty.debit.items.[INDEX].chain","typeLabel":"string | null"},"amount":{"type":"string","description":"USD amount.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.7.details.by_counterparty.debit.items.[INDEX].amount","typeLabel":"string"},"transaction_count":{"type":"integer","description":"Number of transactions.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.7.details.by_counterparty.debit.items.[INDEX].transaction_count","typeLabel":"integer"},"send_history":{"oneOf":[{"type":"object","description":"All-time sends of the whole organization to this counterparty, outside the window and the scope too. Set on `address:` and `wallet:` rows. Null on source, name and `Other` rows, on an own address, and when the history could not be read.","required":["send_count","total_sent","currency","unpriced_send_count","first_sent_at","last_sent_at"],"properties":{"send_count":{"type":"integer","description":"Number of sends.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.7.details.by_counterparty.debit.items.[INDEX].send_history.oneOf.0.send_count","typeLabel":"integer"},"total_sent":{"type":"string","description":"USD value at the time of each send, of the sends that have one.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.7.details.by_counterparty.debit.items.[INDEX].send_history.oneOf.0.total_sent","typeLabel":"string"},"currency":{"type":"string","enum":["USD"],"description":"The currency of `total_sent`.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.7.details.by_counterparty.debit.items.[INDEX].send_history.oneOf.0.currency","typeLabel":"enum\u003cstring>"},"unpriced_send_count":{"type":"integer","description":"The sends that `total_sent` leaves out because they have no USD value.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.7.details.by_counterparty.debit.items.[INDEX].send_history.oneOf.0.unpriced_send_count","typeLabel":"integer"},"first_sent_at":{"oneOf":[{"type":"string","format":"date-time","description":"Date of the first send. Null when `send_count` is 0.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.7.details.by_counterparty.debit.items.[INDEX].send_history.oneOf.0.first_sent_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","description":"Date of the first send. Null when `send_count` is 0.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.7.details.by_counterparty.debit.items.[INDEX].send_history.oneOf.0.first_sent_at.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.7.details.by_counterparty.debit.items.[INDEX].send_history.oneOf.0.first_sent_at","typeLabel":"string\u003cdate-time> | null"},"last_sent_at":{"oneOf":[{"type":"string","format":"date-time","description":"Date of the last send. Null when `send_count` is 0.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.7.details.by_counterparty.debit.items.[INDEX].send_history.oneOf.0.last_sent_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","description":"Date of the last send. Null when `send_count` is 0.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.7.details.by_counterparty.debit.items.[INDEX].send_history.oneOf.0.last_sent_at.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.7.details.by_counterparty.debit.items.[INDEX].send_history.oneOf.0.last_sent_at","typeLabel":"string\u003cdate-time> | null"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.7.details.by_counterparty.debit.items.[INDEX].send_history.oneOf.0","typeLabel":"object"},{"type":"null","description":"All-time sends of the whole organization to this counterparty, outside the window and the scope too. Set on `address:` and `wallet:` rows. Null on source, name and `Other` rows, on an own address, and when the history could not be read.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.7.details.by_counterparty.debit.items.[INDEX].send_history.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.7.details.by_counterparty.debit.items.[INDEX].send_history","typeLabel":"object | null"}},"uniqueKey":"data.items.[INDEX].oneOf.7.details.by_counterparty.debit.items.[INDEX]","typeLabel":"object"},"description":"Where money out went.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.7.details.by_counterparty.debit","typeLabel":"object[]"}},"isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.7.details.by_counterparty","typeLabel":"object"},"by_category":{"type":"object","additionalProperties":false,"required":["credit","debit"],"description":"Money in and money out by transaction type, ranked by amount.","properties":{"credit":{"type":"array","items":{"type":"object","additionalProperties":false,"required":["category","amount","transaction_count"],"description":"Money in or money out of one transaction type.","properties":{"category":{"type":"string","description":"Transaction type.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.7.details.by_category.credit.items.[INDEX].category","typeLabel":"string"},"amount":{"type":"string","description":"USD amount.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.7.details.by_category.credit.items.[INDEX].amount","typeLabel":"string"},"transaction_count":{"type":"integer","description":"Number of transactions.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.7.details.by_category.credit.items.[INDEX].transaction_count","typeLabel":"integer"}},"uniqueKey":"data.items.[INDEX].oneOf.7.details.by_category.credit.items.[INDEX]","typeLabel":"object"},"description":"Money in by transaction type.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.7.details.by_category.credit","typeLabel":"object[]"},"debit":{"type":"array","items":{"type":"object","additionalProperties":false,"required":["category","amount","transaction_count"],"description":"Money in or money out of one transaction type.","properties":{"category":{"type":"string","description":"Transaction type.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.7.details.by_category.debit.items.[INDEX].category","typeLabel":"string"},"amount":{"type":"string","description":"USD amount.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.7.details.by_category.debit.items.[INDEX].amount","typeLabel":"string"},"transaction_count":{"type":"integer","description":"Number of transactions.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.7.details.by_category.debit.items.[INDEX].transaction_count","typeLabel":"integer"}},"uniqueKey":"data.items.[INDEX].oneOf.7.details.by_category.debit.items.[INDEX]","typeLabel":"object"},"description":"Money out by transaction type.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.7.details.by_category.debit","typeLabel":"object[]"}},"isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.7.details.by_category","typeLabel":"object"},"recent_activity":{"type":"array","items":{"type":"object","additionalProperties":false,"required":["transaction","direction","source_id","amount"],"description":"One of the newest cash movements of the scope.","properties":{"transaction":{"type":"object","required":["id","account_id","organization_id","legal_entity_id","source_class","external","internal"],"properties":{"id":{"type":"string","examples":["txn_abc123"],"description":"Transaction ID (`txn_…`).","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.7.details.recent_activity.items.[INDEX].transaction.id","typeLabel":"string"},"account_id":{"oneOf":[{"type":"string","description":"ID of the source of the transaction. Use it in the `account_id` filter of List transactions.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.7.details.recent_activity.items.[INDEX].transaction.account_id.oneOf.0","typeLabel":"string"},{"type":"null","description":"ID of the source of the transaction. Use it in the `account_id` filter of List transactions.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.7.details.recent_activity.items.[INDEX].transaction.account_id.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.7.details.recent_activity.items.[INDEX].transaction.account_id","typeLabel":"string | null"},"organization_id":{"type":"string","description":"Organization ID (`org_…`).","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.7.details.recent_activity.items.[INDEX].transaction.organization_id","typeLabel":"string"},"legal_entity_id":{"type":"string","description":"Legal entity ID (`le_…`).","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.7.details.recent_activity.items.[INDEX].transaction.legal_entity_id","typeLabel":"string"},"source_class":{"type":"string","enum":["crypto","fiat","card","exchange","other"],"description":"Kind of source: `crypto`, `fiat`, `card`, `exchange` or `other`.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.7.details.recent_activity.items.[INDEX].transaction.source_class","typeLabel":"enum\u003cstring>"},"external":{"type":"object","properties":{"timestamp":{"type":"string","format":"date-time","description":"Time of the transaction (ISO 8601).","uniqueKey":"data.items.[INDEX].oneOf.7.details.recent_activity.items.[INDEX].transaction.external.timestamp","typeLabel":"string\u003cdate-time>"},"description":{"type":"string","description":"Description from the provider.","uniqueKey":"data.items.[INDEX].oneOf.7.details.recent_activity.items.[INDEX].transaction.external.description","typeLabel":"string"},"direction":{"type":"string","enum":["credit","debit"],"description":"`credit` for money in, `debit` for money out, relative to the source.","uniqueKey":"data.items.[INDEX].oneOf.7.details.recent_activity.items.[INDEX].transaction.external.direction","typeLabel":"enum\u003cstring>"},"quantity":{"oneOf":[{"type":"object","description":"Token quantity breakdown (crypto only). `null` for fiat/card transactions.","properties":{"gross":{"type":"string","description":"Gross token quantity before fees. For a 1.5 ETH transfer with 0.003 ETH gas, `gross` is `\"1.5\"`.","uniqueKey":"data.items.[INDEX].oneOf.7.details.recent_activity.items.[INDEX].transaction.external.quantity.oneOf.0.gross","typeLabel":"string"},"fee":{"type":"string","description":"Token fee deducted (such as gas in native token). Same unit as `currency`.","uniqueKey":"data.items.[INDEX].oneOf.7.details.recent_activity.items.[INDEX].transaction.external.quantity.oneOf.0.fee","typeLabel":"string"},"net":{"type":"string","description":"Net token quantity after fees (`gross - fee`).","uniqueKey":"data.items.[INDEX].oneOf.7.details.recent_activity.items.[INDEX].transaction.external.quantity.oneOf.0.net","typeLabel":"string"}},"uniqueKey":"data.items.[INDEX].oneOf.7.details.recent_activity.items.[INDEX].transaction.external.quantity.oneOf.0","typeLabel":"object"},{"type":"null","description":"Token quantity breakdown (crypto only). `null` for fiat/card transactions.","properties":{"gross":{"type":"string","description":"Gross token quantity before fees. For a 1.5 ETH transfer with 0.003 ETH gas, `gross` is `\"1.5\"`."},"fee":{"type":"string","description":"Token fee deducted (such as gas in native token). Same unit as `currency`."},"net":{"type":"string","description":"Net token quantity after fees (`gross - fee`)."}},"uniqueKey":"data.items.[INDEX].oneOf.7.details.recent_activity.items.[INDEX].transaction.external.quantity.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.items.[INDEX].oneOf.7.details.recent_activity.items.[INDEX].transaction.external.quantity","typeLabel":"object | null"},"currency":{"type":"string","description":"Token symbol (crypto) or ISO 4217 (fiat).","uniqueKey":"data.items.[INDEX].oneOf.7.details.recent_activity.items.[INDEX].transaction.external.currency","typeLabel":"string"},"value_fiat":{"type":"object","description":"Fiat values as decimal strings: `gross` is quantity × unit price, `fee` is token fee × unit price, and `net` is gross − fee.","required":["gross","net","currency"],"properties":{"gross":{"type":"string","description":"Total fiat value before fees (`quantity × unit price`). Used as the line amount for journal entries.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.7.details.recent_activity.items.[INDEX].transaction.external.value_fiat.gross","typeLabel":"string"},"net":{"type":"string","description":"Fiat value after fees (`gross − fee`).","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.7.details.recent_activity.items.[INDEX].transaction.external.value_fiat.net","typeLabel":"string"},"currency":{"type":"string","description":"ISO 4217 currency code (such as `USD`, `EUR`).","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.7.details.recent_activity.items.[INDEX].transaction.external.value_fiat.currency","typeLabel":"string"},"fee":{"type":"string","description":"Fee in fiat terms (`token fee × unit price`). `\"0.00\"` if no fee. When non-zero, the fee is typically posted as a separate FEE-classified transaction.","uniqueKey":"data.items.[INDEX].oneOf.7.details.recent_activity.items.[INDEX].transaction.external.value_fiat.fee","typeLabel":"string"}},"uniqueKey":"data.items.[INDEX].oneOf.7.details.recent_activity.items.[INDEX].transaction.external.value_fiat","typeLabel":"object"}},"description":"The transaction as the provider reported it.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.7.details.recent_activity.items.[INDEX].transaction.external","typeLabel":"object"},"internal":{"type":"object","properties":{"transaction_type":{"type":"string","description":"Economic transaction type. The linked journal shows the accounting treatment.","enum":["DEPOSIT","WITHDRAWAL","SWAP","NON_TAXABLE_CONVERSION","BRIDGE","INTERCOMPANY TRANSFER","INTERNAL TRANSFER","FEE","MINTING","STAKING_REWARD","VALIDATOR_REWARD","INVOICE","BILL","CLAIM REWARD","BORROW","REPAYMENT","RESERVES CHANGE","REALIZED_PNL","INCOME","EXPENSE","REFUND","CHARGEBACK","NFT","SPAM","UNKNOWN"],"uniqueKey":"data.items.[INDEX].oneOf.7.details.recent_activity.items.[INDEX].transaction.internal.transaction_type","typeLabel":"enum\u003cstring>"},"status":{"type":"string","enum":["pending","posted","spam"],"description":"`pending`, `posted` or `spam`.","uniqueKey":"data.items.[INDEX].oneOf.7.details.recent_activity.items.[INDEX].transaction.internal.status","typeLabel":"enum\u003cstring>"},"memo":{"oneOf":[{"type":"string","description":"Memo.","uniqueKey":"data.items.[INDEX].oneOf.7.details.recent_activity.items.[INDEX].transaction.internal.memo.oneOf.0","typeLabel":"string"},{"type":"null","description":"Memo.","uniqueKey":"data.items.[INDEX].oneOf.7.details.recent_activity.items.[INDEX].transaction.internal.memo.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.items.[INDEX].oneOf.7.details.recent_activity.items.[INDEX].transaction.internal.memo","typeLabel":"string | null"},"journal_entry_id":{"oneOf":[{"type":"string","description":"Prefixed ID of the associated journal entry (such as `je_abc123`). `null` if no journal entry has been posted.","uniqueKey":"data.items.[INDEX].oneOf.7.details.recent_activity.items.[INDEX].transaction.internal.journal_entry_id.oneOf.0","typeLabel":"string"},{"type":"null","description":"Prefixed ID of the associated journal entry (such as `je_abc123`). `null` if no journal entry has been posted.","uniqueKey":"data.items.[INDEX].oneOf.7.details.recent_activity.items.[INDEX].transaction.internal.journal_entry_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.items.[INDEX].oneOf.7.details.recent_activity.items.[INDEX].transaction.internal.journal_entry_id","typeLabel":"string | null"}},"description":"How Entendre records the transaction.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.7.details.recent_activity.items.[INDEX].transaction.internal","typeLabel":"object"},"sequence_number":{"oneOf":[{"type":"string","description":"Sequence number, such as `OT-1234`. It is assigned shortly after creation, so it is `null` in the create response.","uniqueKey":"data.items.[INDEX].oneOf.7.details.recent_activity.items.[INDEX].transaction.sequence_number.oneOf.0","typeLabel":"string"},{"type":"null","description":"Sequence number, such as `OT-1234`. It is assigned shortly after creation, so it is `null` in the create response.","uniqueKey":"data.items.[INDEX].oneOf.7.details.recent_activity.items.[INDEX].transaction.sequence_number.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.items.[INDEX].oneOf.7.details.recent_activity.items.[INDEX].transaction.sequence_number","typeLabel":"string | null"},"provider":{"type":"string","enum":["wallet","fireblocks","plaid","ramp","rain","kraken","binance","coinbase","coinbase_prime","coinbase_exchange","coinbase_international","deribit","bitmex","bybit","kucoin","gate","mexc","gemini","woo","okx","bitfinex","circle","canton","niural","finch_payroll"],"description":"Provider that the transaction came from.","uniqueKey":"data.items.[INDEX].oneOf.7.details.recent_activity.items.[INDEX].transaction.provider","typeLabel":"enum\u003cstring>"},"vendor":{"oneOf":[{"type":"string","description":"Counterparty name, or `null` when unknown. Can be bank text when there is no merchant name.","uniqueKey":"data.items.[INDEX].oneOf.7.details.recent_activity.items.[INDEX].transaction.vendor.oneOf.0","typeLabel":"string"},{"type":"null","description":"Counterparty name, or `null` when unknown. Can be bank text when there is no merchant name.","uniqueKey":"data.items.[INDEX].oneOf.7.details.recent_activity.items.[INDEX].transaction.vendor.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.items.[INDEX].oneOf.7.details.recent_activity.items.[INDEX].transaction.vendor","typeLabel":"string | null"},"provider_category":{"oneOf":[{"type":"string","description":"Raw category metadata assigned by Ramp or Plaid. It is not accounting treatment.","uniqueKey":"data.items.[INDEX].oneOf.7.details.recent_activity.items.[INDEX].transaction.provider_category.oneOf.0","typeLabel":"string"},{"type":"null","description":"Raw category metadata assigned by Ramp or Plaid. It is not accounting treatment.","uniqueKey":"data.items.[INDEX].oneOf.7.details.recent_activity.items.[INDEX].transaction.provider_category.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.items.[INDEX].oneOf.7.details.recent_activity.items.[INDEX].transaction.provider_category","typeLabel":"string | null"},"crypto":{"oneOf":[{"type":"object","description":"Present when `source_class` is `crypto`. `null` otherwise.","properties":{"chain":{"type":"string","description":"Blockchain network, such as `eth`.","uniqueKey":"data.items.[INDEX].oneOf.7.details.recent_activity.items.[INDEX].transaction.crypto.oneOf.0.chain","typeLabel":"string"},"asset_type":{"type":"string","description":"Asset symbol, such as `ETH`.","uniqueKey":"data.items.[INDEX].oneOf.7.details.recent_activity.items.[INDEX].transaction.crypto.oneOf.0.asset_type","typeLabel":"string"},"from_address":{"type":"string","description":"Sending address.","uniqueKey":"data.items.[INDEX].oneOf.7.details.recent_activity.items.[INDEX].transaction.crypto.oneOf.0.from_address","typeLabel":"string"},"to_address":{"type":"string","description":"Receiving address.","uniqueKey":"data.items.[INDEX].oneOf.7.details.recent_activity.items.[INDEX].transaction.crypto.oneOf.0.to_address","typeLabel":"string"},"hash":{"type":"string","description":"On-chain transaction hash.","uniqueKey":"data.items.[INDEX].oneOf.7.details.recent_activity.items.[INDEX].transaction.crypto.oneOf.0.hash","typeLabel":"string"}},"uniqueKey":"data.items.[INDEX].oneOf.7.details.recent_activity.items.[INDEX].transaction.crypto.oneOf.0","typeLabel":"object"},{"type":"null","description":"Present when `source_class` is `crypto`. `null` otherwise.","properties":{"chain":{"type":"string","description":"Blockchain network, such as `eth`."},"asset_type":{"type":"string","description":"Asset symbol, such as `ETH`."},"from_address":{"type":"string","description":"Sending address."},"to_address":{"type":"string","description":"Receiving address."},"hash":{"type":"string","description":"On-chain transaction hash."}},"uniqueKey":"data.items.[INDEX].oneOf.7.details.recent_activity.items.[INDEX].transaction.crypto.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.items.[INDEX].oneOf.7.details.recent_activity.items.[INDEX].transaction.crypto","typeLabel":"object | null"},"bank":{"oneOf":[{"type":"object","description":"Bank details for fiat transactions.","properties":{"bank_name":{"type":"string","description":"Bank name.","uniqueKey":"data.items.[INDEX].oneOf.7.details.recent_activity.items.[INDEX].transaction.bank.oneOf.0.bank_name","typeLabel":"string"},"account_last4":{"type":"string","description":"Last four digits of the bank account.","uniqueKey":"data.items.[INDEX].oneOf.7.details.recent_activity.items.[INDEX].transaction.bank.oneOf.0.account_last4","typeLabel":"string"},"counterparty_name":{"type":"string","description":"Counterparty name from the bank.","uniqueKey":"data.items.[INDEX].oneOf.7.details.recent_activity.items.[INDEX].transaction.bank.oneOf.0.counterparty_name","typeLabel":"string"},"merchant_id":{"type":"string","description":"Stable merchant ID from Plaid. Use it to group transactions by merchant.","uniqueKey":"data.items.[INDEX].oneOf.7.details.recent_activity.items.[INDEX].transaction.bank.oneOf.0.merchant_id","typeLabel":"string"},"category_version":{"type":"string","description":"Version of the Plaid category taxonomy.","uniqueKey":"data.items.[INDEX].oneOf.7.details.recent_activity.items.[INDEX].transaction.bank.oneOf.0.category_version","typeLabel":"string"},"category_confidence":{"type":"string","description":"Plaid confidence in the category.","uniqueKey":"data.items.[INDEX].oneOf.7.details.recent_activity.items.[INDEX].transaction.bank.oneOf.0.category_confidence","typeLabel":"string"},"running_balance":{"type":"string","description":"Account balance after the transaction, when the bank reports it (decimal string).","uniqueKey":"data.items.[INDEX].oneOf.7.details.recent_activity.items.[INDEX].transaction.bank.oneOf.0.running_balance","typeLabel":"string"},"correction_status":{"type":"string","description":"Status of a bank correction to this transaction.","uniqueKey":"data.items.[INDEX].oneOf.7.details.recent_activity.items.[INDEX].transaction.bank.oneOf.0.correction_status","typeLabel":"string"},"correction_reason":{"type":"string","description":"Reason for the bank correction.","uniqueKey":"data.items.[INDEX].oneOf.7.details.recent_activity.items.[INDEX].transaction.bank.oneOf.0.correction_reason","typeLabel":"string"},"bank_removed":{"type":"boolean","description":"`true` when the bank removed the transaction.","uniqueKey":"data.items.[INDEX].oneOf.7.details.recent_activity.items.[INDEX].transaction.bank.oneOf.0.bank_removed","typeLabel":"boolean"},"counterparties":{"type":"array","items":{"type":"object","properties":{"name":{"oneOf":[{"type":"string","description":"Counterparty name.","uniqueKey":"data.items.[INDEX].oneOf.7.details.recent_activity.items.[INDEX].transaction.bank.oneOf.0.counterparties.items.[INDEX].name.oneOf.0","typeLabel":"string"},{"type":"null","description":"Counterparty name.","uniqueKey":"data.items.[INDEX].oneOf.7.details.recent_activity.items.[INDEX].transaction.bank.oneOf.0.counterparties.items.[INDEX].name.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.items.[INDEX].oneOf.7.details.recent_activity.items.[INDEX].transaction.bank.oneOf.0.counterparties.items.[INDEX].name","typeLabel":"string | null"},"entity_id":{"oneOf":[{"type":"string","description":"Plaid entity ID of the counterparty.","uniqueKey":"data.items.[INDEX].oneOf.7.details.recent_activity.items.[INDEX].transaction.bank.oneOf.0.counterparties.items.[INDEX].entity_id.oneOf.0","typeLabel":"string"},{"type":"null","description":"Plaid entity ID of the counterparty.","uniqueKey":"data.items.[INDEX].oneOf.7.details.recent_activity.items.[INDEX].transaction.bank.oneOf.0.counterparties.items.[INDEX].entity_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.items.[INDEX].oneOf.7.details.recent_activity.items.[INDEX].transaction.bank.oneOf.0.counterparties.items.[INDEX].entity_id","typeLabel":"string | null"},"type":{"oneOf":[{"type":"string","description":"Counterparty type, such as merchant or payment intermediary.","uniqueKey":"data.items.[INDEX].oneOf.7.details.recent_activity.items.[INDEX].transaction.bank.oneOf.0.counterparties.items.[INDEX].type.oneOf.0","typeLabel":"string"},{"type":"null","description":"Counterparty type, such as merchant or payment intermediary.","uniqueKey":"data.items.[INDEX].oneOf.7.details.recent_activity.items.[INDEX].transaction.bank.oneOf.0.counterparties.items.[INDEX].type.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.items.[INDEX].oneOf.7.details.recent_activity.items.[INDEX].transaction.bank.oneOf.0.counterparties.items.[INDEX].type","typeLabel":"string | null"},"confidence":{"oneOf":[{"type":"string","description":"Plaid confidence in the counterparty.","uniqueKey":"data.items.[INDEX].oneOf.7.details.recent_activity.items.[INDEX].transaction.bank.oneOf.0.counterparties.items.[INDEX].confidence.oneOf.0","typeLabel":"string"},{"type":"null","description":"Plaid confidence in the counterparty.","uniqueKey":"data.items.[INDEX].oneOf.7.details.recent_activity.items.[INDEX].transaction.bank.oneOf.0.counterparties.items.[INDEX].confidence.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.items.[INDEX].oneOf.7.details.recent_activity.items.[INDEX].transaction.bank.oneOf.0.counterparties.items.[INDEX].confidence","typeLabel":"string | null"}},"uniqueKey":"data.items.[INDEX].oneOf.7.details.recent_activity.items.[INDEX].transaction.bank.oneOf.0.counterparties.items.[INDEX]","typeLabel":"object"},"description":"Counterparties that Plaid identified.","uniqueKey":"data.items.[INDEX].oneOf.7.details.recent_activity.items.[INDEX].transaction.bank.oneOf.0.counterparties","typeLabel":"object[]"}},"uniqueKey":"data.items.[INDEX].oneOf.7.details.recent_activity.items.[INDEX].transaction.bank.oneOf.0","typeLabel":"object"},{"type":"null","description":"Bank details for fiat transactions.","properties":{"bank_name":{"type":"string","description":"Bank name."},"account_last4":{"type":"string","description":"Last four digits of the bank account."},"counterparty_name":{"type":"string","description":"Counterparty name from the bank."},"merchant_id":{"type":"string","description":"Stable merchant ID from Plaid. Use it to group transactions by merchant."},"category_version":{"type":"string","description":"Version of the Plaid category taxonomy."},"category_confidence":{"type":"string","description":"Plaid confidence in the category."},"running_balance":{"type":"string","description":"Account balance after the transaction, when the bank reports it (decimal string)."},"correction_status":{"type":"string","description":"Status of a bank correction to this transaction."},"correction_reason":{"type":"string","description":"Reason for the bank correction."},"bank_removed":{"type":"boolean","description":"`true` when the bank removed the transaction."},"counterparties":{"type":"array","items":{"type":"object","properties":{"name":{"oneOf":[{"type":"string","description":"Counterparty name."},{"type":"null","description":"Counterparty name."}]},"entity_id":{"oneOf":[{"type":"string","description":"Plaid entity ID of the counterparty."},{"type":"null","description":"Plaid entity ID of the counterparty."}]},"type":{"oneOf":[{"type":"string","description":"Counterparty type, such as merchant or payment intermediary."},{"type":"null","description":"Counterparty type, such as merchant or payment intermediary."}]},"confidence":{"oneOf":[{"type":"string","description":"Plaid confidence in the counterparty."},{"type":"null","description":"Plaid confidence in the counterparty."}]}}},"description":"Counterparties that Plaid identified."}},"uniqueKey":"data.items.[INDEX].oneOf.7.details.recent_activity.items.[INDEX].transaction.bank.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.items.[INDEX].oneOf.7.details.recent_activity.items.[INDEX].transaction.bank","typeLabel":"object | null"},"card":{"oneOf":[{"type":"object","description":"Present when `source_class` is `card`. `null` otherwise.","properties":{"merchant_name":{"type":"string","description":"Merchant name.","uniqueKey":"data.items.[INDEX].oneOf.7.details.recent_activity.items.[INDEX].transaction.card.oneOf.0.merchant_name","typeLabel":"string"},"merchant_category":{"type":"string","description":"Merchant category.","uniqueKey":"data.items.[INDEX].oneOf.7.details.recent_activity.items.[INDEX].transaction.card.oneOf.0.merchant_category","typeLabel":"string"},"card_last4":{"type":"string","description":"Last four digits of the card.","uniqueKey":"data.items.[INDEX].oneOf.7.details.recent_activity.items.[INDEX].transaction.card.oneOf.0.card_last4","typeLabel":"string"},"employee_name":{"type":"string","description":"Cardholder name.","uniqueKey":"data.items.[INDEX].oneOf.7.details.recent_activity.items.[INDEX].transaction.card.oneOf.0.employee_name","typeLabel":"string"}},"uniqueKey":"data.items.[INDEX].oneOf.7.details.recent_activity.items.[INDEX].transaction.card.oneOf.0","typeLabel":"object"},{"type":"null","description":"Present when `source_class` is `card`. `null` otherwise.","properties":{"merchant_name":{"type":"string","description":"Merchant name."},"merchant_category":{"type":"string","description":"Merchant category."},"card_last4":{"type":"string","description":"Last four digits of the card."},"employee_name":{"type":"string","description":"Cardholder name."}},"uniqueKey":"data.items.[INDEX].oneOf.7.details.recent_activity.items.[INDEX].transaction.card.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.items.[INDEX].oneOf.7.details.recent_activity.items.[INDEX].transaction.card","typeLabel":"object | null"},"created_at":{"oneOf":[{"type":"string","format":"date-time","description":"Time the transaction was imported (ISO 8601).","uniqueKey":"data.items.[INDEX].oneOf.7.details.recent_activity.items.[INDEX].transaction.created_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","description":"Time the transaction was imported (ISO 8601).","uniqueKey":"data.items.[INDEX].oneOf.7.details.recent_activity.items.[INDEX].transaction.created_at.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.items.[INDEX].oneOf.7.details.recent_activity.items.[INDEX].transaction.created_at","typeLabel":"string\u003cdate-time> | null"},"updated_at":{"oneOf":[{"type":"string","format":"date-time","description":"ISO 8601 timestamp of the last update.","uniqueKey":"data.items.[INDEX].oneOf.7.details.recent_activity.items.[INDEX].transaction.updated_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","description":"ISO 8601 timestamp of the last update.","uniqueKey":"data.items.[INDEX].oneOf.7.details.recent_activity.items.[INDEX].transaction.updated_at.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.items.[INDEX].oneOf.7.details.recent_activity.items.[INDEX].transaction.updated_at","typeLabel":"string\u003cdate-time> | null"},"tag_ids":{"type":"array","items":{"type":"string","description":"Tag ID (`tag_…`).","example":"tag_507f1f77bcf86cd799439011","uniqueKey":"data.items.[INDEX].oneOf.7.details.recent_activity.items.[INDEX].transaction.tag_ids.items.[INDEX]","typeLabel":"string"},"maxItems":100,"uniqueItems":true,"description":"Tag IDs (`tag_…`).","uniqueKey":"data.items.[INDEX].oneOf.7.details.recent_activity.items.[INDEX].transaction.tag_ids","typeLabel":"string[]"}},"isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.7.details.recent_activity.items.[INDEX].transaction","typeLabel":"object"},"direction":{"type":"string","enum":["credit","debit","internal"],"description":"Direction for the cash source of the scope. `internal` is a transfer between two cash sources of the scope; it is in no total.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.7.details.recent_activity.items.[INDEX].direction","typeLabel":"enum\u003cstring>"},"source_id":{"type":"string","description":"`fac_` ID of the cash source of the scope that the movement belongs to. For a Ramp or Stripe row of a Plaid merge, this is the bank.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.7.details.recent_activity.items.[INDEX].source_id","typeLabel":"string"},"amount":{"type":"string","description":"USD amount.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.7.details.recent_activity.items.[INDEX].amount","typeLabel":"string"}},"uniqueKey":"data.items.[INDEX].oneOf.7.details.recent_activity.items.[INDEX]","typeLabel":"object"},"description":"The 10 newest cash movements of the window, internal transfers included.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.7.details.recent_activity","typeLabel":"object[]"},"data_quality":{"type":"object","additionalProperties":false,"required":["status","internal_transfers","unmatched_transfers","unpriced_count","excluded_conversions","excluded_currency_valuation","excluded_bank_removed_count","counterparty_ranking_truncated","warnings"],"description":"What the totals leave out, and why.","properties":{"status":{"type":"string","enum":["ok","warnings","unavailable"],"description":"`unavailable` when the totals could not be computed.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.7.details.data_quality.status","typeLabel":"enum\u003cstring>"},"internal_transfers":{"type":"object","additionalProperties":false,"required":["transaction_count","amount"],"description":"Transfers between two cash sources of the scope. They are in no total. The amount covers USD rows only.","properties":{"transaction_count":{"type":"integer","description":"Number of transactions.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.7.details.data_quality.internal_transfers.transaction_count","typeLabel":"integer"},"amount":{"type":"string","description":"USD amount (decimal string).","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.7.details.data_quality.internal_transfers.amount","typeLabel":"string"}},"isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.7.details.data_quality.internal_transfers","typeLabel":"object"},"unmatched_transfers":{"type":"object","additionalProperties":false,"required":["transaction_count","amount"],"description":"Transfers with no matching side in a connected cash source. They count as money in or money out.","properties":{"transaction_count":{"type":"integer","description":"Number of transactions.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.7.details.data_quality.unmatched_transfers.transaction_count","typeLabel":"integer"},"amount":{"type":"string","description":"USD amount (decimal string).","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.7.details.data_quality.unmatched_transfers.amount","typeLabel":"string"}},"isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.7.details.data_quality.unmatched_transfers","typeLabel":"object"},"unpriced_count":{"type":"integer","description":"Movements with no price. They count as 0.00 USD.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.7.details.data_quality.unpriced_count","typeLabel":"integer"},"excluded_conversions":{"type":"array","items":{"type":"object","additionalProperties":false,"required":["currency","transaction_count","amount"],"description":"Excluded movements of one currency.","properties":{"currency":{"type":"string","description":"Currency of the amount.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.7.details.data_quality.excluded_conversions.items.[INDEX].currency","typeLabel":"string"},"transaction_count":{"type":"integer","description":"Number of transactions.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.7.details.data_quality.excluded_conversions.items.[INDEX].transaction_count","typeLabel":"integer"},"amount":{"type":"string","description":"Amount in `currency`.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.7.details.data_quality.excluded_conversions.items.[INDEX].amount","typeLabel":"string"}},"uniqueKey":"data.items.[INDEX].oneOf.7.details.data_quality.excluded_conversions.items.[INDEX]","typeLabel":"object"},"description":"Swap, conversion and bridge legs inside a cash source.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.7.details.data_quality.excluded_conversions","typeLabel":"object[]"},"excluded_currency_valuation":{"type":"array","items":{"type":"object","additionalProperties":false,"required":["currency","transaction_count","amount"],"description":"Excluded movements of one currency.","properties":{"currency":{"type":"string","description":"Currency of the amount.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.7.details.data_quality.excluded_currency_valuation.items.[INDEX].currency","typeLabel":"string"},"transaction_count":{"type":"integer","description":"Number of transactions.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.7.details.data_quality.excluded_currency_valuation.items.[INDEX].transaction_count","typeLabel":"integer"},"amount":{"type":"string","description":"Amount in `currency`.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.7.details.data_quality.excluded_currency_valuation.items.[INDEX].amount","typeLabel":"string"}},"uniqueKey":"data.items.[INDEX].oneOf.7.details.data_quality.excluded_currency_valuation.items.[INDEX]","typeLabel":"object"},"description":"Movements with no USD value.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.7.details.data_quality.excluded_currency_valuation","typeLabel":"object[]"},"excluded_bank_removed_count":{"type":"integer","description":"Transactions that the bank removed.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.7.details.data_quality.excluded_bank_removed_count","typeLabel":"integer"},"counterparty_ranking_truncated":{"type":"boolean","description":"True when a window has more counterparty groups than the ranking reads. A named counterparty amount can then be too low. The totals are complete.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.7.details.data_quality.counterparty_ranking_truncated","typeLabel":"boolean"},"warnings":{"type":"array","items":{"type":"string","uniqueKey":"data.items.[INDEX].oneOf.7.details.data_quality.warnings.items.[INDEX]","typeLabel":"string"},"description":"Disclosures for a reader. `[WARNING]` marks one that can make a total too low.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.7.details.data_quality.warnings","typeLabel":"string[]"}},"isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.7.details.data_quality","typeLabel":"object"}},"isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.7.details","typeLabel":"object"},"meta":{"type":"object","required":["source","granularity","start_date","end_date","currency"],"properties":{"source":{"type":"string","enum":["gl","transactions"],"description":"Data source: `gl` for `basis=ledger`, `transactions` for `basis=transactions`.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.7.meta.source","typeLabel":"enum\u003cstring>"},"granularity":{"type":"string","enum":["daily","weekly","monthly"],"description":"Bucket size.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.7.meta.granularity","typeLabel":"enum\u003cstring>"},"start_date":{"type":"string","format":"date-time","description":"Start of the window.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.7.meta.start_date","typeLabel":"string\u003cdate-time>"},"end_date":{"type":"string","format":"date-time","description":"End of the window.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.7.meta.end_date","typeLabel":"string\u003cdate-time>"},"currency":{"type":"string","example":"USD","description":"Currency of the amounts.","isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.7.meta.currency","typeLabel":"string"},"granularity_note":{"oneOf":[{"type":"string","description":"Note when the bucket size differs from the request.","uniqueKey":"data.items.[INDEX].oneOf.7.meta.granularity_note.oneOf.0","typeLabel":"string"},{"type":"null","description":"Note when the bucket size differs from the request.","uniqueKey":"data.items.[INDEX].oneOf.7.meta.granularity_note.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.items.[INDEX].oneOf.7.meta.granularity_note","typeLabel":"string | null"},"period_snapped_note":{"oneOf":[{"type":"string","description":"Present when `basis=ledger` and the window is not whole months. The totals then cover the full accounting periods.","uniqueKey":"data.items.[INDEX].oneOf.7.meta.period_snapped_note.oneOf.0","typeLabel":"string"},{"type":"null","description":"Present when `basis=ledger` and the window is not whole months. The totals then cover the full accounting periods.","uniqueKey":"data.items.[INDEX].oneOf.7.meta.period_snapped_note.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.items.[INDEX].oneOf.7.meta.period_snapped_note","typeLabel":"string | null"},"account_ids_ignored":{"oneOf":[{"type":"boolean","description":"`true` when `account_ids` was ignored.","uniqueKey":"data.items.[INDEX].oneOf.7.meta.account_ids_ignored.oneOf.0","typeLabel":"boolean"},{"type":"null","description":"`true` when `account_ids` was ignored.","uniqueKey":"data.items.[INDEX].oneOf.7.meta.account_ids_ignored.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.items.[INDEX].oneOf.7.meta.account_ids_ignored","typeLabel":"boolean | null"},"account_ids_ignored_reason":{"oneOf":[{"type":"string","description":"Why `account_ids` was ignored.","uniqueKey":"data.items.[INDEX].oneOf.7.meta.account_ids_ignored_reason.oneOf.0","typeLabel":"string"},{"type":"null","description":"Why `account_ids` was ignored.","uniqueKey":"data.items.[INDEX].oneOf.7.meta.account_ids_ignored_reason.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.items.[INDEX].oneOf.7.meta.account_ids_ignored_reason","typeLabel":"string | null"},"basis":{"type":"string","enum":["cash","accrual"],"description":"Accounting basis of the figures: cash (basis=transactions, settled cash movements) or accrual (basis=ledger, the posted double-entry ledger).","uniqueKey":"data.items.[INDEX].oneOf.7.meta.basis","typeLabel":"enum\u003cstring>"},"cash_basis_caveat":{"oneOf":[{"type":"string","description":"Present when `basis=transactions`. Expenses do not include unpaid bills, accruals or non-cash journals.","uniqueKey":"data.items.[INDEX].oneOf.7.meta.cash_basis_caveat.oneOf.0","typeLabel":"string"},{"type":"null","description":"Present when `basis=transactions`. Expenses do not include unpaid bills, accruals or non-cash journals.","uniqueKey":"data.items.[INDEX].oneOf.7.meta.cash_basis_caveat.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.items.[INDEX].oneOf.7.meta.cash_basis_caveat","typeLabel":"string | null"}},"isRequired":true,"uniqueKey":"data.items.[INDEX].oneOf.7.meta","typeLabel":"object"}},"additionalProperties":false,"uniqueKey":"data.items.[INDEX].oneOf.7","typeLabel":"object"}],"uniqueKey":"data.items.[INDEX]","typeLabel":"object"},"description":"The records.","isRequired":true,"uniqueKey":"data","typeLabel":"object[]"}},"required":["data"],"additionalProperties":false,"uniqueKey":"","typeLabel":"object"},"example":{"data":[{"metric":"expenses","value":"100.00","unit":"USD","formula":"sum(expense account balances)","reason":null,"details":{"total":"100.00","by_category":[{"category":"Software","amount":"100.00"}],"currency":"USD","time_series":[{"period_start":"2026-08-01T00:00:00Z","period_end":"2026-08-31T23:59:59.999Z","total":"100.00","categories":[{"category":"Software","amount":"100.00"}]}]},"meta":{"source":"gl","granularity":"monthly","start_date":"2026-08-01T00:00:00Z","end_date":"2026-08-31T23:59:59.999Z","currency":"USD","granularity_note":null,"period_snapped_note":null,"account_ids_ignored":false,"account_ids_ignored_reason":null,"basis":"accrual","cash_basis_caveat":null}}]},"examples":{"Example":{"title":"Example","value":{"data":[{"metric":"expenses","value":"100.00","unit":"USD","formula":"sum(expense account balances)","reason":null,"details":{"total":"100.00","by_category":[{"category":"Software","amount":"100.00"}],"currency":"USD","time_series":[{"period_start":"2026-08-01T00:00:00Z","period_end":"2026-08-31T23:59:59.999Z","total":"100.00","categories":[{"category":"Software","amount":"100.00"}]}]},"meta":{"source":"gl","granularity":"monthly","start_date":"2026-08-01T00:00:00Z","end_date":"2026-08-31T23:59:59.999Z","currency":"USD","granularity_note":null,"period_snapped_note":null,"account_ids_ignored":false,"account_ids_ignored_reason":null,"basis":"accrual","cash_basis_caveat":null}}]}}},"exampleType":"examples"}},"exampleType":"examples"},"5c0bf0ac-5c41-4735-8ea1-4981e8a2655c":{"description":"The request is invalid. `error.fields` lists the fields to correct. Nothing was changed.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message","request_id"],"properties":{"code":{"type":"string","description":"Machine-readable error code.","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","description":"Technical description for developers.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"request_id":{"type":"string","description":"Unique request ID for support escalation.","isRequired":true,"uniqueKey":"error.request_id","typeLabel":"string"},"fields":{"type":"object","additionalProperties":{"type":"string","uniqueKey":"error.fields.additionalProperties","typeLabel":"string"},"description":"Present only on VALIDATION_ERROR. Maps failing field paths to reason strings.","uniqueKey":"error.fields","typeLabel":"object"},"details":{"type":"object","additionalProperties":true,"description":"Optional redacted diagnostic details. Request validation uses fields or field_errors.","uniqueKey":"error.details","typeLabel":"object"},"suggested_action":{"type":"string","description":"A suggested next step.","uniqueKey":"error.suggested_action","typeLabel":"string"},"documentation_url":{"type":"string","format":"uri","description":"Link to documentation about this error.","uniqueKey":"error.documentation_url","typeLabel":"string\u003curi>"}},"description":"Error details.","isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"example":{"error":{"code":"VALIDATION_ERROR","message":"Invalid path, query or request body.","request_id":"req_example"}},"examples":{"Example":{"title":"Example","value":{"error":{"code":"VALIDATION_ERROR","message":"Invalid path, query or request body.","request_id":"req_example"}}}},"exampleType":"examples"}},"exampleType":"examples"},"c9e93163-d9aa-4d50-bdd0-630dbb0d0902":{"description":"The API key is missing, invalid or expired.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message","request_id"],"properties":{"code":{"type":"string","description":"Machine-readable error code.","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","description":"Technical description for developers.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"request_id":{"type":"string","description":"Unique request ID for support escalation.","isRequired":true,"uniqueKey":"error.request_id","typeLabel":"string"},"fields":{"type":"object","additionalProperties":{"type":"string","uniqueKey":"error.fields.additionalProperties","typeLabel":"string"},"description":"Present only on VALIDATION_ERROR. Maps failing field paths to reason strings.","uniqueKey":"error.fields","typeLabel":"object"},"details":{"type":"object","additionalProperties":true,"description":"Optional redacted diagnostic details. Request validation uses fields or field_errors.","uniqueKey":"error.details","typeLabel":"object"},"suggested_action":{"type":"string","description":"A suggested next step.","uniqueKey":"error.suggested_action","typeLabel":"string"},"documentation_url":{"type":"string","format":"uri","description":"Link to documentation about this error.","uniqueKey":"error.documentation_url","typeLabel":"string\u003curi>"}},"description":"Error details.","isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"example":{"error":{"code":"UNAUTHORIZED","message":"Invalid or expired API Key","request_id":"req_example","suggested_action":"Send an API key in X-API-Key, or an OAuth access token as Authorization: Bearer. Refresh an expired access token.","documentation_url":"https://entendre.ai/docs/get-started/authentication"}},"examples":{"Example":{"title":"Example","value":{"error":{"code":"UNAUTHORIZED","message":"Invalid or expired API Key","request_id":"req_example","suggested_action":"Send an API key in X-API-Key, or an OAuth access token as Authorization: Bearer. Refresh an expired access token.","documentation_url":"https://entendre.ai/docs/get-started/authentication"}}}},"exampleType":"examples"}},"headers":{"WWW-Authenticate":{"description":"Bearer challenge with `realm=\"entendre\"` and `resource_metadata`, the URL of the protected-resource metadata (RFC 9728). `error=\"invalid_token\"` is added when the credential that was sent is invalid or expired.","schema":{"type":"string"}}},"exampleType":"examples"},"db40cac2-2d77-45b3-914a-4f7f2fd119ae":{"description":"The API key does not have the required scope or is not associated with a user, or the action needs a review in the dashboard.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message","request_id"],"properties":{"code":{"type":"string","description":"Machine-readable error code.","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","description":"Technical description for developers.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"request_id":{"type":"string","description":"Unique request ID for support escalation.","isRequired":true,"uniqueKey":"error.request_id","typeLabel":"string"},"fields":{"type":"object","additionalProperties":{"type":"string","uniqueKey":"error.fields.additionalProperties","typeLabel":"string"},"description":"Present only on VALIDATION_ERROR. Maps failing field paths to reason strings.","uniqueKey":"error.fields","typeLabel":"object"},"details":{"type":"object","additionalProperties":true,"description":"Optional redacted diagnostic details. Request validation uses fields or field_errors.","uniqueKey":"error.details","typeLabel":"object"},"suggested_action":{"type":"string","description":"A suggested next step.","uniqueKey":"error.suggested_action","typeLabel":"string"},"documentation_url":{"type":"string","format":"uri","description":"Link to documentation about this error.","uniqueKey":"error.documentation_url","typeLabel":"string\u003curi>"}},"description":"Error details.","isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"example":{"error":{"code":"FORBIDDEN","message":"Insufficient access to organization","request_id":"req_example"}},"examples":{"Example":{"title":"Example","value":{"error":{"code":"FORBIDDEN","message":"Insufficient access to organization","request_id":"req_example"}}}},"exampleType":"examples"}},"exampleType":"examples"},"6fa58edb-940d-49c7-b4ea-9ada10dbf581":{"description":"The resource does not exist, or your organization cannot access it.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message","request_id"],"properties":{"code":{"type":"string","description":"Machine-readable error code.","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","description":"Technical description for developers.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"request_id":{"type":"string","description":"Unique request ID for support escalation.","isRequired":true,"uniqueKey":"error.request_id","typeLabel":"string"},"fields":{"type":"object","additionalProperties":{"type":"string","uniqueKey":"error.fields.additionalProperties","typeLabel":"string"},"description":"Present only on VALIDATION_ERROR. Maps failing field paths to reason strings.","uniqueKey":"error.fields","typeLabel":"object"},"details":{"type":"object","additionalProperties":true,"description":"Optional redacted diagnostic details. Request validation uses fields or field_errors.","uniqueKey":"error.details","typeLabel":"object"},"suggested_action":{"type":"string","description":"A suggested next step.","uniqueKey":"error.suggested_action","typeLabel":"string"},"documentation_url":{"type":"string","format":"uri","description":"Link to documentation about this error.","uniqueKey":"error.documentation_url","typeLabel":"string\u003curi>"}},"description":"Error details.","isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"example":{"error":{"code":"RESOURCE_NOT_FOUND","message":"Resource not found","request_id":"req_example"}},"examples":{"Example":{"title":"Example","value":{"error":{"code":"RESOURCE_NOT_FOUND","message":"Resource not found","request_id":"req_example"}}}},"exampleType":"examples"}},"exampleType":"examples"},"22239bc6-7ed1-4dfb-a428-32d0eb171f1f":{"description":"Too many requests. If the response has a `Retry-After` header, wait that many seconds before you retry. Otherwise, read `error.message`.","headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer","minimum":1}}},"content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message","request_id"],"properties":{"code":{"type":"string","description":"Machine-readable error code.","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","description":"Technical description for developers.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"request_id":{"type":"string","description":"Unique request ID for support escalation.","isRequired":true,"uniqueKey":"error.request_id","typeLabel":"string"},"fields":{"type":"object","additionalProperties":{"type":"string","uniqueKey":"error.fields.additionalProperties","typeLabel":"string"},"description":"Present only on VALIDATION_ERROR. Maps failing field paths to reason strings.","uniqueKey":"error.fields","typeLabel":"object"},"details":{"type":"object","additionalProperties":true,"description":"Optional redacted diagnostic details. Request validation uses fields or field_errors.","uniqueKey":"error.details","typeLabel":"object"},"suggested_action":{"type":"string","description":"A suggested next step.","uniqueKey":"error.suggested_action","typeLabel":"string"},"documentation_url":{"type":"string","format":"uri","description":"Link to documentation about this error.","uniqueKey":"error.documentation_url","typeLabel":"string\u003curi>"}},"description":"Error details.","isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"example":{"error":{"code":"RATE_LIMITED","message":"Rate limit exceeded. Retry after 30s.","request_id":"req_example"}},"examples":{"Example":{"title":"Example","value":{"error":{"code":"RATE_LIMITED","message":"Rate limit exceeded. Retry after 30s.","request_id":"req_example"}}}},"exampleType":"examples"}},"exampleType":"examples"},"80807859-6b17-48b6-b03a-0d6c6397f4b5":{"description":"An unexpected error occurred. A write can still have taken effect; check the resource before you retry. Give the `request_id` to support.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message","request_id"],"properties":{"code":{"type":"string","description":"Machine-readable error code.","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","description":"Technical description for developers.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"request_id":{"type":"string","description":"Unique request ID for support escalation.","isRequired":true,"uniqueKey":"error.request_id","typeLabel":"string"},"fields":{"type":"object","additionalProperties":{"type":"string","uniqueKey":"error.fields.additionalProperties","typeLabel":"string"},"description":"Present only on VALIDATION_ERROR. Maps failing field paths to reason strings.","uniqueKey":"error.fields","typeLabel":"object"},"details":{"type":"object","additionalProperties":true,"description":"Optional redacted diagnostic details. Request validation uses fields or field_errors.","uniqueKey":"error.details","typeLabel":"object"},"suggested_action":{"type":"string","description":"A suggested next step.","uniqueKey":"error.suggested_action","typeLabel":"string"},"documentation_url":{"type":"string","format":"uri","description":"Link to documentation about this error.","uniqueKey":"error.documentation_url","typeLabel":"string\u003curi>"}},"description":"Error details.","isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"example":{"error":{"code":"INTERNAL_ERROR","message":"Internal server error","request_id":"req_example"}},"examples":{"Example":{"title":"Example","value":{"error":{"code":"INTERNAL_ERROR","message":"Internal server error","request_id":"req_example"}}}},"exampleType":"examples"}},"exampleType":"examples"},"59b23539-4395-40b4-859c-8ec2985e195f":{"description":"A service that this operation needs is unavailable. If the response has a `Retry-After` header, wait that many seconds. Check for earlier accepted work before you send the request again.","headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer","minimum":1}}},"content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message","request_id"],"properties":{"code":{"type":"string","description":"Machine-readable error code.","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","description":"Technical description for developers.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"request_id":{"type":"string","description":"Unique request ID for support escalation.","isRequired":true,"uniqueKey":"error.request_id","typeLabel":"string"},"fields":{"type":"object","additionalProperties":{"type":"string","uniqueKey":"error.fields.additionalProperties","typeLabel":"string"},"description":"Present only on VALIDATION_ERROR. Maps failing field paths to reason strings.","uniqueKey":"error.fields","typeLabel":"object"},"details":{"type":"object","additionalProperties":true,"description":"Optional redacted diagnostic details. Request validation uses fields or field_errors.","uniqueKey":"error.details","typeLabel":"object"},"suggested_action":{"type":"string","description":"A suggested next step.","uniqueKey":"error.suggested_action","typeLabel":"string"},"documentation_url":{"type":"string","format":"uri","description":"Link to documentation about this error.","uniqueKey":"error.documentation_url","typeLabel":"string\u003curi>"}},"description":"Error details.","isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"example":{"error":{"code":"SERVICE_UNAVAILABLE","message":"Service unavailable.","request_id":"req_example"}},"examples":{"Example":{"title":"Example","value":{"error":{"code":"SERVICE_UNAVAILABLE","message":"Service unavailable.","request_id":"req_example"}}}},"exampleType":"examples"}},"exampleType":"examples"}},"security":{"1fe0c3f6-35d9-41d2-ac91-13356ced44bb":{"ApiKey":{"type":"apiKey","in":"header","name":"X-API-Key","description":"Your organization API key. See [Authentication](/get-started/authentication).","scopes":[],"schemeName":"ApiKey"}}},"servers":{"9e59403a-73c1-494e-9818-59dd36bdbfad":{"url":"https://api.entendre.finance","description":"Production API."}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"apiKey","in":"header","name":"X-API-Key","description":"Your organization API key. See [Authentication](/get-started/authentication).","scopes":[],"schemeName":"ApiKey"},"schema":{"title":"X-API-Key","type":"string","description":"Your organization API key. See [Authentication](/get-started/authentication).","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"ApiKey","name":"X-API-Key"}],"title":"ApiKey"}]},"originalFileLocation":"openapi-public-preview.json"},"subdomain":"entendre","siteName":"Entendre Docs","title":"Get financial insights - Entendre Docs","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-09-18T18:02:22.557Z","originalFileLocation":"api-reference/reporting/financial-insights/get-financial-insights.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Returns selected financial metrics and their formulas, including revenue, profit, expenses, spending, burn rate, runway and cash flow.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Entendre Docs\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/entendre/Mf9zE4F1cDdIJzLg/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/docs/mintlify-assets/_mintlify/favicons/entendre/Mf9zE4F1cDdIJzLg/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/entendre/Mf9zE4F1cDdIJzLg/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/entendre/Mf9zE4F1cDdIJzLg/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/entendre/Mf9zE4F1cDdIJzLg/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/entendre/Mf9zE4F1cDdIJzLg/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/entendre/Mf9zE4F1cDdIJzLg/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/entendre/Mf9zE4F1cDdIJzLg/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/entendre/Mf9zE4F1cDdIJzLg/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Get financial insights - Entendre Docs\">\u003cmeta data-mint-head property=\"og:description\" content=\"Returns selected financial metrics and their formulas, including revenue, profit, expenses, spending, burn rate, runway and cash flow.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Entendre Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://entendre.ai/docs/api-reference/reporting/financial-insights/get-financial-insights\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://entendre.mintlify.site/docs/_mintlify/api/og/v2?division=Financial+Insights\u0026amp;title=Get+financial+insights\u0026amp;description=Returns+selected+financial+metrics+and+their+formulas%2C+including+revenue%2C+profit%2C+expenses%2C+spending%2C+burn+rate%2C+runway+and+cash+flow.\u0026amp;theme=455e3eee472c81219447aa36\u0026amp;signature=a013199f415b95d3df9d4209bd66c7d89240c4957b98c81a89ae00d2e57d21e8\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Get financial insights - Entendre Docs\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Returns selected financial metrics and their formulas, including revenue, profit, expenses, spending, burn rate, runway and cash flow.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://entendre.mintlify.site/docs/_mintlify/api/og/v2?division=Financial+Insights\u0026amp;title=Get+financial+insights\u0026amp;description=Returns+selected+financial+metrics+and+their+formulas%2C+including+revenue%2C+profit%2C+expenses%2C+spending%2C+burn+rate%2C+runway+and+cash+flow.\u0026amp;theme=455e3eee472c81219447aa36\u0026amp;signature=a013199f415b95d3df9d4209bd66c7d89240c4957b98c81a89ae00d2e57d21e8\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/docs/mintlify-assets/_mintlify/favicons/entendre/Mf9zE4F1cDdIJzLg/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Entendre Docs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#6366F1\">\u003clink data-mint-head rel=\"canonical\" href=\"https://entendre.ai/docs/api-reference/reporting/financial-insights/get-financial-insights\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/docs/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/docs/api-reference/reporting/financial-insights/get-financial-insights.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://entendre.ai/#organization\",\"name\":\"Entendre Docs\",\"url\":\"https://entendre.ai\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/entendre/iLG_yPYNFEzW9piO/logo.svg?fit=max\u0026auto=format\u0026n=iLG_yPYNFEzW9piO\u0026q=85\u0026s=e7ab9f91191f7aa74918c227c0675fc6\"}},{\"@type\":\"WebSite\",\"@id\":\"https://entendre.ai/docs#website\",\"name\":\"Entendre Docs\",\"url\":\"https://entendre.ai/docs\",\"publisher\":{\"@id\":\"https://entendre.ai/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://entendre.ai/docs/api-reference/reporting/financial-insights/get-financial-insights#webpage\",\"url\":\"https://entendre.ai/docs/api-reference/reporting/financial-insights/get-financial-insights\",\"name\":\"Get financial insights\",\"description\":\"Returns selected financial metrics and their formulas, including revenue, profit, expenses, spending, burn rate, runway and cash flow.\",\"dateModified\":\"2026-09-18T18:02:22.557Z\",\"isPartOf\":{\"@id\":\"https://entendre.ai/docs#website\"},\"breadcrumb\":{\"@id\":\"https://entendre.ai/docs/api-reference/reporting/financial-insights/get-financial-insights#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://entendre.ai/docs/api-reference/reporting/financial-insights/get-financial-insights#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Reporting\",\"item\":\"https://entendre.ai/docs/api-reference/reporting/income-statement/get-income-statement\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Get financial insights\",\"item\":\"https://entendre.ai/docs/api-reference/reporting/financial-insights/get-financial-insights\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://entendre.ai/docs/api-reference/reporting/financial-insights/get-financial-insights#apireference\",\"headline\":\"Get financial insights\",\"name\":\"Get financial insights\",\"description\":\"Returns selected financial metrics and their formulas, including revenue, profit, expenses, spending, burn rate, runway and cash flow.\",\"url\":\"https://entendre.ai/docs/api-reference/reporting/financial-insights/get-financial-insights\",\"mainEntityOfPage\":{\"@id\":\"https://entendre.ai/docs/api-reference/reporting/financial-insights/get-financial-insights#webpage\"},\"dateModified\":\"2026-09-18T18:02:22.557Z\",\"publisher\":{\"@id\":\"https://entendre.ai/#organization\"},\"isPartOf\":{\"@id\":\"https://entendre.ai/docs#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Entendre Docs\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"Entendre Docs\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/docs/api-reference/reporting/financial-insights/get-financial-insights.md","siteName":"Entendre Docs","nav":{"global":null,"tabs":[{"tab":"Docs","pages":[{"title":"Docs","href":"/get-started/introduction"}]},{"tab":"API Reference","groups":[{"group":"Using the API","pages":[{"title":"Overview","href":"/api-reference/overview"}]},{"group":"Core","pages":[{"group":"Organization","pages":[{"title":"Get organization","openapi":"openapi-public-preview.json GET /v1/organization","href":"/api-reference/core/organization/get-organization"},{"title":"Update organization","openapi":"openapi-public-preview.json PATCH /v1/organization","href":"/api-reference/core/organization/update-organization"},{"title":"List organization members","openapi":"openapi-public-preview.json GET /v1/organization/members","href":"/api-reference/core/organization/list-organization-members"}]},{"group":"Transactions","pages":[{"title":"List transactions","openapi":"openapi-public-preview.json GET /v1/transactions","href":"/api-reference/core/transactions/list-transactions"},{"title":"Create transaction","openapi":"openapi-public-preview.json POST /v1/transactions","href":"/api-reference/core/transactions/create-transaction"},{"title":"Update transaction","openapi":"openapi-public-preview.json PATCH /v1/transactions/{transaction_id}","href":"/api-reference/core/transactions/update-transaction"},{"title":"Delete transaction","openapi":"openapi-public-preview.json DELETE /v1/transactions/{transaction_id}","href":"/api-reference/core/transactions/delete-transaction"}]},{"group":"Sources","pages":[{"title":"List sources","openapi":"openapi-public-preview.json GET /v1/sources","href":"/api-reference/core/sources/list-sources"},{"title":"Create source","openapi":"openapi-public-preview.json POST /v1/sources","href":"/api-reference/core/sources/create-source"},{"title":"Update source","openapi":"openapi-public-preview.json PATCH /v1/sources/{source_id}","href":"/api-reference/core/sources/update-source"},{"title":"Delete source","openapi":"openapi-public-preview.json DELETE /v1/sources/{source_id}","href":"/api-reference/core/sources/delete-source"},{"title":"Import transactions from source","openapi":"openapi-public-preview.json POST /v1/sources/{source_id}/imports","href":"/api-reference/core/sources/import-transactions-from-source"}]},{"group":"Assets","pages":[{"title":"List assets","openapi":"openapi-public-preview.json GET /v1/assets","href":"/api-reference/core/assets/list-assets"},{"title":"Create manual asset","openapi":"openapi-public-preview.json POST /v1/assets","href":"/api-reference/core/assets/create-manual-asset"},{"title":"Update manual asset","openapi":"openapi-public-preview.json PATCH /v1/assets/{asset_id}","href":"/api-reference/core/assets/update-manual-asset"},{"title":"Delete manual asset","openapi":"openapi-public-preview.json DELETE /v1/assets/{asset_id}","href":"/api-reference/core/assets/delete-manual-asset"}]},{"group":"Journals","pages":[{"title":"List journals","openapi":"openapi-public-preview.json GET /v1/journal-entries","href":"/api-reference/core/journals/list-journals"},{"title":"Create journal","openapi":"openapi-public-preview.json POST /v1/journal-entries","href":"/api-reference/core/journals/create-journal"},{"title":"Update journal","openapi":"openapi-public-preview.json PATCH /v1/journal-entries/{journal_id}","href":"/api-reference/core/journals/update-journal"},{"title":"Delete journal","openapi":"openapi-public-preview.json DELETE /v1/journal-entries/{journal_id}","href":"/api-reference/core/journals/delete-journal"},{"title":"Post journal","openapi":"openapi-public-preview.json POST /v1/journal-entries/{journal_id}/post","href":"/api-reference/core/journals/post-journal"},{"title":"Unpost journal","openapi":"openapi-public-preview.json POST /v1/journal-entries/{journal_id}/unpost","href":"/api-reference/core/journals/unpost-journal"},{"title":"Reverse journal","openapi":"openapi-public-preview.json POST /v1/journal-entries/{journal_id}/reverse","href":"/api-reference/core/journals/reverse-journal"},{"title":"Sync journals","openapi":"openapi-public-preview.json POST /v1/journal-entries/syncs","href":"/api-reference/core/journals/sync-journals"},{"title":"List journal sync jobs","openapi":"openapi-public-preview.json GET /v1/journal-entries/syncs","href":"/api-reference/core/journals/list-journal-sync-jobs"}]},{"group":"Documents","pages":[{"title":"List documents","openapi":"openapi-public-preview.json GET /v1/vault/documents","href":"/api-reference/core/documents/list-documents"},{"title":"Upload document","openapi":"openapi-public-preview.json POST /v1/vault/documents","href":"/api-reference/core/documents/upload-document"},{"title":"Update document","openapi":"openapi-public-preview.json PATCH /v1/vault/documents/{document_id}","href":"/api-reference/core/documents/update-document"},{"title":"Delete document","openapi":"openapi-public-preview.json DELETE /v1/vault/documents/{document_id}","href":"/api-reference/core/documents/delete-document"}]},{"group":"Legal Entities","pages":[{"title":"List legal entities","openapi":"openapi-public-preview.json GET /v1/legal-entities","href":"/api-reference/core/legal-entities/list-legal-entities"},{"title":"Create legal entity","openapi":"openapi-public-preview.json POST /v1/legal-entities","href":"/api-reference/core/legal-entities/create-legal-entity"},{"title":"Update legal entity","openapi":"openapi-public-preview.json PATCH /v1/legal-entities/{legal_entity_id}","href":"/api-reference/core/legal-entities/update-legal-entity"},{"title":"Delete legal entity","openapi":"openapi-public-preview.json DELETE /v1/legal-entities/{legal_entity_id}","href":"/api-reference/core/legal-entities/delete-legal-entity"}]},{"group":"Ledger Accounts","pages":[{"title":"List ledger accounts","openapi":"openapi-public-preview.json GET /v1/ledger-accounts","href":"/api-reference/core/ledger-accounts/list-ledger-accounts"},{"title":"Create ledger account","openapi":"openapi-public-preview.json POST /v1/ledger-accounts","href":"/api-reference/core/ledger-accounts/create-ledger-account"},{"title":"Update ledger account","openapi":"openapi-public-preview.json PATCH /v1/ledger-accounts/{ledger_account_id}","href":"/api-reference/core/ledger-accounts/update-ledger-account"},{"title":"Delete ledger account","openapi":"openapi-public-preview.json DELETE /v1/ledger-accounts/{ledger_account_id}","href":"/api-reference/core/ledger-accounts/delete-ledger-account"}]},{"group":"Tags","pages":[{"title":"List tags","openapi":"openapi-public-preview.json GET /v1/tags","href":"/api-reference/core/tags/list-tags"},{"title":"Create tag","openapi":"openapi-public-preview.json POST /v1/tags","href":"/api-reference/core/tags/create-tag"},{"title":"Update tag","openapi":"openapi-public-preview.json PATCH /v1/tags/{tag_id}","href":"/api-reference/core/tags/update-tag"},{"title":"Delete tag","openapi":"openapi-public-preview.json DELETE /v1/tags/{tag_id}","href":"/api-reference/core/tags/delete-tag"}]}]},{"group":"Accounting","pages":[{"group":"Accruals","pages":[{"title":"Find vendors for accruals","openapi":"openapi-public-preview.json GET /v1/vault/vendors","href":"/api-reference/accounting/accruals/find-vendors-for-accruals"},{"title":"List accruals","openapi":"openapi-public-preview.json GET /v1/accruals","href":"/api-reference/accounting/accruals/list-accruals"},{"title":"Post accrual entries","openapi":"openapi-public-preview.json POST /v1/accruals","href":"/api-reference/accounting/accruals/post-accrual-entries"},{"title":"Reverse accrual","openapi":"openapi-public-preview.json POST /v1/accruals/{accrual_id}/reverse","href":"/api-reference/accounting/accruals/reverse-accrual"}]},{"group":"Cash Application","pages":[{"title":"List eligible invoices","openapi":"openapi-public-preview.json GET /v1/cash-applications/invoices","href":"/api-reference/accounting/cash-application/list-eligible-invoices"},{"title":"Refresh Stripe invoice","openapi":"openapi-public-preview.json POST /v1/cash-applications/invoices/refresh","href":"/api-reference/accounting/cash-application/refresh-stripe-invoice"},{"title":"Preview cash application","openapi":"openapi-public-preview.json POST /v1/cash-applications/preview","href":"/api-reference/accounting/cash-application/preview-cash-application"},{"title":"List cash applications","openapi":"openapi-public-preview.json GET /v1/cash-applications","href":"/api-reference/accounting/cash-application/list-cash-applications"},{"title":"Create and apply cash application","openapi":"openapi-public-preview.json POST /v1/cash-applications","href":"/api-reference/accounting/cash-application/create-and-apply-cash-application"},{"title":"Update cash application","openapi":"openapi-public-preview.json PATCH /v1/cash-applications/{application_id}","href":"/api-reference/accounting/cash-application/update-cash-application"},{"title":"Apply cash application","openapi":"openapi-public-preview.json POST /v1/cash-applications/{application_id}/apply","href":"/api-reference/accounting/cash-application/apply-cash-application"},{"title":"Unapply cash application","openapi":"openapi-public-preview.json POST /v1/cash-applications/{application_id}/unapply","href":"/api-reference/accounting/cash-application/unapply-cash-application"},{"title":"Complete cash application","openapi":"openapi-public-preview.json POST /v1/cash-applications/{application_id}/complete","href":"/api-reference/accounting/cash-application/complete-cash-application"},{"title":"Void cash application","openapi":"openapi-public-preview.json POST /v1/cash-applications/{application_id}/void","href":"/api-reference/accounting/cash-application/void-cash-application"}]},{"group":"Classification","pages":[{"title":"Classify transactions","openapi":"openapi-public-preview.json POST /v1/classifications","href":"/api-reference/accounting/classification/classify-transactions"},{"title":"Get classification status","openapi":"openapi-public-preview.json GET /v1/classifications/{classification_id}","href":"/api-reference/accounting/classification/get-classification"}]},{"group":"Cost Basis","pages":[{"title":"Get cost basis settings","openapi":"openapi-public-preview.json GET /v1/settings/cost-basis","href":"/api-reference/accounting/cost-basis/get-cost-basis-settings"},{"title":"Update cost basis settings","openapi":"openapi-public-preview.json PUT /v1/settings/cost-basis","href":"/api-reference/accounting/cost-basis/update-cost-basis-settings"}]},{"group":"Purpose Accounts","pages":[{"title":"List purpose accounts","openapi":"openapi-public-preview.json GET /v1/organization/purpose-accounts","href":"/api-reference/accounting/purpose-accounts/list-purpose-accounts"},{"title":"Set realized gain or loss account","openapi":"openapi-public-preview.json PUT /v1/organization/purpose-accounts","href":"/api-reference/accounting/purpose-accounts/set-purpose-account"}]},{"group":"Revaluation","pages":[{"title":"List revaluations","openapi":"openapi-public-preview.json GET /v1/revaluations","href":"/api-reference/accounting/revaluation/list-revaluations"},{"title":"Create revaluation","openapi":"openapi-public-preview.json POST /v1/revaluations","href":"/api-reference/accounting/revaluation/create-revaluation"}]},{"group":"Accounting Periods","pages":[{"title":"List accounting periods","openapi":"openapi-public-preview.json GET /v1/accounting-periods","href":"/api-reference/accounting/accounting-periods/list-accounting-periods"},{"title":"Check period readiness","openapi":"openapi-public-preview.json GET /v1/accounting-periods/{period_id}/close-preflight","href":"/api-reference/accounting/accounting-periods/check-period-readiness"},{"title":"Close accounting period","openapi":"openapi-public-preview.json POST /v1/accounting-periods/{period_id}/close","href":"/api-reference/accounting/accounting-periods/close-accounting-period"},{"title":"Reopen accounting period","openapi":"openapi-public-preview.json POST /v1/accounting-periods/{period_id}/reopen","href":"/api-reference/accounting/accounting-periods/reopen-accounting-period"}]}]},{"group":"Reporting","pages":[{"group":"Income Statement","pages":[{"title":"Get income statement","openapi":"openapi-public-preview.json GET /v1/reports/income-statement","href":"/api-reference/reporting/income-statement/get-income-statement"}]},{"group":"Balance Sheet","pages":[{"title":"Get balance sheet","openapi":"openapi-public-preview.json GET /v1/reports/balance-sheet","href":"/api-reference/reporting/balance-sheet/get-balance-sheet"}]},{"group":"Trial Balance","pages":[{"title":"Get trial balance","openapi":"openapi-public-preview.json GET /v1/reports/trial-balance","href":"/api-reference/reporting/trial-balance/get-trial-balance"}]},{"group":"Closing Positions","pages":[{"title":"Get closing positions","openapi":"openapi-public-preview.json GET /v1/reports/closing-positions","href":"/api-reference/reporting/closing-positions/get-closing-positions"}]},{"group":"Treasury Balances","pages":[{"title":"Get treasury balances","openapi":"openapi-public-preview.json GET /v1/reports/treasury-balances","href":"/api-reference/reporting/treasury-balances/get-treasury-balances"},{"title":"Refresh treasury balances","openapi":"openapi-public-preview.json POST /v1/reports/treasury-balances/refresh","href":"/api-reference/reporting/treasury-balances/refresh-treasury-balances"}]},{"group":"Realized Gains \u0026 Losses","pages":[{"title":"Get realized gains \u0026 losses","openapi":"openapi-public-preview.json GET /v1/reports/realized-gains","href":"/api-reference/reporting/realized-gains-and-losses/get-realized-gains-and-losses"}]},{"group":"Asset Tax Lots","pages":[{"title":"Get asset tax lots","openapi":"openapi-public-preview.json GET /v1/reports/asset-tax-lots","href":"/api-reference/reporting/asset-tax-lots/get-asset-tax-lots"}]},{"group":"Schedule of Dispositions","pages":[{"title":"Get schedule of dispositions","description":"Returns asset disposals with their dates, quantities, proceeds and cost basis, linked to their transactions and acquisition lots.","openapi":"openapi-public-preview.json GET /v1/reports/schedule-of-dispositions","href":"/api-reference/reporting/schedule-of-dispositions/get-schedule-of-dispositions"}]},{"group":"Financial Insights","pages":[{"title":"Get financial insights","openapi":"openapi-public-preview.json GET /v1/reports/financial-insights","href":"/api-reference/reporting/financial-insights/get-financial-insights"}]}]},{"group":"Agents","pages":[{"group":"Agents","pages":[{"title":"List agents","description":"Lists agents with their configuration, owner, reviewer, schedule and latest run state, ordered by name.","openapi":"openapi-public-preview.json GET /v1/agents","href":"/api-reference/agents/agents/list-agents"},{"title":"Create agent","openapi":"openapi-public-preview.json POST /v1/agents","href":"/api-reference/agents/agents/create-agent"},{"title":"Update agent","openapi":"openapi-public-preview.json PATCH /v1/agents/{agent_id}","href":"/api-reference/agents/agents/update-agent"},{"title":"Delete agent","openapi":"openapi-public-preview.json DELETE /v1/agents/{agent_id}","href":"/api-reference/agents/agents/delete-agent"},{"title":"Run agent","openapi":"openapi-public-preview.json POST /v1/agents/{agent_id}/runs","href":"/api-reference/agents/agents/run-agent"},{"title":"List agent runs","openapi":"openapi-public-preview.json GET /v1/agents/{agent_id}/runs","href":"/api-reference/agents/agents/list-agent-runs"},{"title":"Cancel agent run","openapi":"openapi-public-preview.json POST /v1/agents/{agent_id}/runs/{run_id}/cancel","href":"/api-reference/agents/agents/cancel-agent-run"}]},{"group":"Memory","pages":[{"title":"List memory","openapi":"openapi-public-preview.json GET /v1/memory","href":"/api-reference/agents/memory/list-memory"},{"title":"Search memory","openapi":"openapi-public-preview.json GET /v1/memory/search","href":"/api-reference/agents/memory/search-memory"},{"title":"Read memory","openapi":"openapi-public-preview.json GET /v1/memory/file","href":"/api-reference/agents/memory/read-memory"},{"title":"Write memory","openapi":"openapi-public-preview.json PUT /v1/memory/file","href":"/api-reference/agents/memory/write-memory"},{"title":"Delete memory","openapi":"openapi-public-preview.json DELETE /v1/memory/file","href":"/api-reference/agents/memory/delete-memory"}]}]},{"group":"Integrations","pages":[{"group":"Connections","pages":[{"title":"List integrations","openapi":"openapi-public-preview.json GET /v1/integrations","href":"/api-reference/integrations/connections/list-integrations"},{"title":"List connections","openapi":"openapi-public-preview.json GET /v1/connections","href":"/api-reference/integrations/connections/list-connections"},{"title":"Connect provider","openapi":"openapi-public-preview.json POST /v1/connections","href":"/api-reference/integrations/connections/connect-provider"},{"title":"Update connection","openapi":"openapi-public-preview.json PATCH /v1/connections/{connection_id}","href":"/api-reference/integrations/connections/update-connection"},{"title":"Reauthorize connection","openapi":"openapi-public-preview.json POST /v1/connections/{connection_id}/reauthorize","href":"/api-reference/integrations/connections/reauthorize-connection"},{"title":"Disconnect connection","openapi":"openapi-public-preview.json DELETE /v1/connections/{connection_id}","href":"/api-reference/integrations/connections/disconnect-provider"}]},{"group":"GL Mapping","pages":[{"title":"List external accounts","openapi":"openapi-public-preview.json GET /v1/connections/{connection_id}/external-accounts","href":"/api-reference/integrations/gl-mapping/list-external-ledger-accounts"},{"title":"List external entities","openapi":"openapi-public-preview.json GET /v1/connections/{connection_id}/external-entities","href":"/api-reference/integrations/gl-mapping/list-external-legal-entities"},{"title":"List account mappings","openapi":"openapi-public-preview.json GET /v1/connections/{connection_id}/account-mappings","href":"/api-reference/integrations/gl-mapping/list-account-mappings"},{"title":"Set account mapping","openapi":"openapi-public-preview.json PUT /v1/connections/{connection_id}/account-mappings/{ledger_account_id}","href":"/api-reference/integrations/gl-mapping/map-ledger-account-to-erp"},{"title":"Remove account mapping","openapi":"openapi-public-preview.json DELETE /v1/connections/{connection_id}/account-mappings/{ledger_account_id}","href":"/api-reference/integrations/gl-mapping/remove-erp-account-mapping"},{"title":"List entity mappings","openapi":"openapi-public-preview.json GET /v1/connections/{connection_id}/entity-mappings","href":"/api-reference/integrations/gl-mapping/list-entity-mappings"},{"title":"Set entity mapping","openapi":"openapi-public-preview.json PUT /v1/connections/{connection_id}/entity-mappings/{legal_entity_id}","href":"/api-reference/integrations/gl-mapping/map-legal-entity-to-erp"},{"title":"Remove entity mapping","openapi":"openapi-public-preview.json DELETE /v1/connections/{connection_id}/entity-mappings/{legal_entity_id}","href":"/api-reference/integrations/gl-mapping/remove-erp-entity-mapping"},{"title":"List accounting imports","openapi":"openapi-public-preview.json GET /v1/connections/{connection_id}/imports","href":"/api-reference/integrations/gl-mapping/list-erp-imports"},{"title":"Import accounting data","openapi":"openapi-public-preview.json POST /v1/connections/{connection_id}/imports","href":"/api-reference/integrations/gl-mapping/import-from-erp"}]}]},{"group":"Firms","pages":[{"group":"Request","pages":[{"title":"List requests","openapi":"openapi-public-preview.json GET /v1/firm/requests","href":"/api-reference/firms/request/list-requests"},{"title":"Create request","openapi":"openapi-public-preview.json POST /v1/firm/requests","href":"/api-reference/firms/request/create-request"},{"title":"Resend request","openapi":"openapi-public-preview.json POST /v1/firm/requests/{request_id}/resend","href":"/api-reference/firms/request/resend-request"},{"title":"Cancel request","openapi":"openapi-public-preview.json POST /v1/firm/requests/{request_id}/cancel","href":"/api-reference/firms/request/cancel-request"}]},{"group":"Client","pages":[{"title":"List clients","openapi":"openapi-public-preview.json GET /v1/firm/clients","href":"/api-reference/firms/client/list-clients"},{"title":"Create client","openapi":"openapi-public-preview.json POST /v1/firm/clients","href":"/api-reference/firms/client/create-client"},{"title":"Update client","openapi":"openapi-public-preview.json PATCH /v1/firm/clients/{client_id}","href":"/api-reference/firms/client/update-client"},{"title":"Unlink client","openapi":"openapi-public-preview.json DELETE /v1/firm/clients/{client_id}","href":"/api-reference/firms/client/unlink-client"}]},{"group":"Team","pages":[{"title":"List team members","openapi":"openapi-public-preview.json GET /v1/firm/members","href":"/api-reference/firms/team/list-team-members"},{"title":"Update team member","openapi":"openapi-public-preview.json PATCH /v1/firm/members/{member_id}","href":"/api-reference/firms/team/update-team-member"},{"title":"Remove team member","openapi":"openapi-public-preview.json DELETE /v1/firm/members/{member_id}","href":"/api-reference/firms/team/remove-team-member"},{"title":"List invitations","openapi":"openapi-public-preview.json GET /v1/firm/invitations","href":"/api-reference/firms/team/list-invitations"},{"title":"Invite team member","openapi":"openapi-public-preview.json POST /v1/firm/invitations","href":"/api-reference/firms/team/invite-team-member"},{"title":"Resend invitation","openapi":"openapi-public-preview.json POST /v1/firm/invitations/{invitation_id}/resend","href":"/api-reference/firms/team/resend-invitation"},{"title":"Revoke invitation","openapi":"openapi-public-preview.json DELETE /v1/firm/invitations/{invitation_id}","href":"/api-reference/firms/team/revoke-invitation"}]},{"group":"Settings","pages":[{"title":"Get firm settings","openapi":"openapi-public-preview.json GET /v1/firm/settings","href":"/api-reference/firms/settings/get-firm-settings"},{"title":"Update firm settings","openapi":"openapi-public-preview.json PATCH /v1/firm/settings","href":"/api-reference/firms/settings/update-firm-settings"}]}]}]}]},"basePath":"","title":"Get financial insights - Entendre Docs","buildId":"dpl_AHzSCQPRq6mP9FZXEa5AbDZTffie","deploymentId":"dpl_AHzSCQPRq6mP9FZXEa5AbDZTffie","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-C0w-WQJ2.js","utils-C5d2irbo.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-CJr73d5s.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-B9xqpnhe.js","snippetPresets-C6Ms_vrL.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","conditional-requirements-CFM0id0Q.js","ApiExamples-C4vTqKLT.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-Dvb1kse5.js","shallow-BIuit-p4.js","getApiPlaygroundDisplay-B4qYxU7P.js","CodeSnippet-DbbDcn2_.js","CodeSnippets-P3qMtezt.js","Page-DLEGoKJA.js","getPastedJson-rlg7qTiW.js","icon-ChyN3MIj.js","MethodPill-BDbONhDa.js","DuplicateIcon-CJlrtq8z.js","createIcon-BDOguHRU.js","DynamicMarkdown-mBxoveKr.js","SectionHeading-CAMJotVi.js","axios-vUo_bRtp.js","Markdown-BNXMbgxP.js","clsx-4BR7cppx.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-CAwBMBkB.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-CJogWhER.js"]}