{"templateId":"markdown","versions":[{"version":"v1.39","label":"v1.39 STS","link":"/products/custody/data-export/overview","default":true,"active":true,"folderId":"c15a2701"},{"version":"v1.38","label":"v1.38 STS","link":"/products/custody/v1.38/data-export/overview","default":false,"active":false,"folderId":"c15a2701"},{"version":"v1.34","label":"v1.34 LTS","link":"/products/custody/v1.34/data-export/overview","default":false,"active":false,"folderId":"c15a2701"},{"version":"v1.26","label":"v1.26 LTS","link":"/products/custody/v1.26/data-export/overview","default":false,"active":false,"folderId":"c15a2701"},{"version":"v1.19","label":"v1.19 LTS","link":"/products/custody/v1.19/data-export/overview","default":false,"active":false,"folderId":"c15a2701"},{"version":"v1.15","label":"v1.15 LTS","link":"/products/custody/v1.15/data-export/overview","default":false,"active":false,"folderId":"c15a2701"}],"sharedDataIds":{"sidebar":"sidebar-products/custody/@v1.15/sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":["admonition"]},"type":"markdown"},"seo":{"title":"Data export","description":"User guides, API reference, and support resources.","siteUrl":"https://docs.ripple.com","lang":"en-US","llmstxt":{"hide":false,"sections":[{"title":"Table of contents","includeFiles":["**/*"],"excludeFiles":[]}],"excludeFiles":[]}},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"data-export","__idx":0},"children":["Data export"]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"info","name":"Executive summary"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["The Portfolio Data Export Service generates reconciliation-grade financial reports from ","Ripple Custody"," as downloadable CSV or JSON files."]}]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["The service offers two report types: ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Position Reports"]}," (point-in-time balance snapshots) and ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Movement Reports"]}," (transaction history over a date range)."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Every export includes request metadata and financial control totals, so you can prove a file is complete and untampered."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["The service exposes REST endpoints only, so you can automate extractions from your own scheduled jobs."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["The service enforces access per domain: you receive data only for domains where you hold a role with read access."]}]}]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"success","name":"Why this matters"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Finance, Compliance, and Operations teams need a standardized, auditable way to extract cross-system data for daily reconciliation, regulatory reporting, and audit evidence. The export service replaces custom database queries and one-off scripts with a single, consistent data contract that feeds your core banking system, data lake, and reconciliation pipelines directly—without post-processing."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["For architects and operators"]},": Column order, names, and types are fixed contracts. Schema-breaking changes trigger a version bump and a changelog entry, so you can build stable downstream pipelines against these reports."]}]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"warning","name":"Availability"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The export service delivers REST APIs only in this release. A UI export experience and additional report types are planned for later phases. The service integrates ","Ripple Custody"," as its first data source."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"what-you-can-export","__idx":1},"children":["What you can export"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The service provides two report types. Each report is a separate endpoint that returns a single file per request."]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Report"},"children":["Report"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"What it contains"},"children":["What it contains"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Use it to"},"children":["Use it to"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/custody/data-export/position-report"},"children":["Position Report"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["A point-in-time balance snapshot. Each row is one account-and-asset balance as of a timestamp you choose."]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Verify end-of-day balances against your core systems, calculate regulatory capital, and generate tax reporting."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/custody/data-export/movement-report"},"children":["Movement Report"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["A transaction history for a date range. Each row is one transfer, including amounts, fees, on-chain details, and counterparties."]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Reconcile movements for specific audit periods, remediate reconciliation breaks, and satisfy tax reporting requirements."]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"how-the-service-works","__idx":2},"children":["How the service works"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["You request a report by sending an authenticated ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["POST"]}," request to the relevant endpoint with your scope and filters in the request body. The service authorizes the request, gathers the data, converts every financial value to human-readable decimal form, computes control totals, and returns the result as a CSV or JSON file."]},{"$$mdtype":"Tag","name":"Diagram","attributes":{"data-language":"mermaid","diagramType":"mermaid","diagramSource":"flowchart LR\n    A[\"Your service or job\"] -->|\"1. POST request with filters\"| B[\"Export service\"]\n    B -->|\"2. Verify domain access\"| C[\"Authorization\"]\n    C -->|\"3. Gather data\"| D[\"Balances and transactions\"]\n    D -->|\"4. Convert decimals + sum control totals\"| E[\"Report builder\"]\n    E -->|\"5. Return CSV or JSON\"| A\n","diagramHtml":"<svg id=\"diagram-1cdb697002f5921545476a3503013be4978f2bc5989d97f3563d5e50fedba572\" width=\"100%\" xmlns=\"http://www.w3.org/2000/svg\" class=\"flowchart\" style=\"max-width: 1844.390625px;\" viewBox=\"0 0 1844.390625 129\" role=\"graphics-document document\" aria-roledescription=\"flowchart-v2\"><style>#diagram-1cdb697002f5921545476a3503013be4978f2bc5989d97f3563d5e50fedba572{font-family:\"Redocly Mermaid Sans\",\"Redocly Mermaid CJK\",sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#diagram-1cdb697002f5921545476a3503013be4978f2bc5989d97f3563d5e50fedba572 .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#diagram-1cdb697002f5921545476a3503013be4978f2bc5989d97f3563d5e50fedba572 .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#diagram-1cdb697002f5921545476a3503013be4978f2bc5989d97f3563d5e50fedba572 .error-icon{fill:#552222;}#diagram-1cdb697002f5921545476a3503013be4978f2bc5989d97f3563d5e50fedba572 .error-text{fill:#552222;stroke:#552222;}#diagram-1cdb697002f5921545476a3503013be4978f2bc5989d97f3563d5e50fedba572 .edge-thickness-normal{stroke-width:1px;}#diagram-1cdb697002f5921545476a3503013be4978f2bc5989d97f3563d5e50fedba572 .edge-thickness-thick{stroke-width:3.5px;}#diagram-1cdb697002f5921545476a3503013be4978f2bc5989d97f3563d5e50fedba572 .edge-pattern-solid{stroke-dasharray:0;}#diagram-1cdb697002f5921545476a3503013be4978f2bc5989d97f3563d5e50fedba572 .edge-thickness-invisible{stroke-width:0;fill:none;}#diagram-1cdb697002f5921545476a3503013be4978f2bc5989d97f3563d5e50fedba572 .edge-pattern-dashed{stroke-dasharray:3;}#diagram-1cdb697002f5921545476a3503013be4978f2bc5989d97f3563d5e50fedba572 .edge-pattern-dotted{stroke-dasharray:2;}#diagram-1cdb697002f5921545476a3503013be4978f2bc5989d97f3563d5e50fedba572 .marker{fill:#333333;stroke:#333333;}#diagram-1cdb697002f5921545476a3503013be4978f2bc5989d97f3563d5e50fedba572 .marker.cross{stroke:#333333;}#diagram-1cdb697002f5921545476a3503013be4978f2bc5989d97f3563d5e50fedba572 svg{font-family:\"Redocly Mermaid Sans\",\"Redocly Mermaid CJK\",sans-serif;font-size:16px;}#diagram-1cdb697002f5921545476a3503013be4978f2bc5989d97f3563d5e50fedba572 p{margin:0;}#diagram-1cdb697002f5921545476a3503013be4978f2bc5989d97f3563d5e50fedba572 .label{font-family:\"Redocly Mermaid Sans\",\"Redocly Mermaid CJK\",sans-serif;color:#333;}#diagram-1cdb697002f5921545476a3503013be4978f2bc5989d97f3563d5e50fedba572 .cluster-label text{fill:#333;}#diagram-1cdb697002f5921545476a3503013be4978f2bc5989d97f3563d5e50fedba572 .cluster-label span{color:#333;}#diagram-1cdb697002f5921545476a3503013be4978f2bc5989d97f3563d5e50fedba572 .cluster-label span p{background-color:transparent;}#diagram-1cdb697002f5921545476a3503013be4978f2bc5989d97f3563d5e50fedba572 .label text,#diagram-1cdb697002f5921545476a3503013be4978f2bc5989d97f3563d5e50fedba572 span{fill:#333;color:#333;}#diagram-1cdb697002f5921545476a3503013be4978f2bc5989d97f3563d5e50fedba572 .node rect,#diagram-1cdb697002f5921545476a3503013be4978f2bc5989d97f3563d5e50fedba572 .node circle,#diagram-1cdb697002f5921545476a3503013be4978f2bc5989d97f3563d5e50fedba572 .node ellipse,#diagram-1cdb697002f5921545476a3503013be4978f2bc5989d97f3563d5e50fedba572 .node polygon,#diagram-1cdb697002f5921545476a3503013be4978f2bc5989d97f3563d5e50fedba572 .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#diagram-1cdb697002f5921545476a3503013be4978f2bc5989d97f3563d5e50fedba572 .rough-node .label text,#diagram-1cdb697002f5921545476a3503013be4978f2bc5989d97f3563d5e50fedba572 .node .label text,#diagram-1cdb697002f5921545476a3503013be4978f2bc5989d97f3563d5e50fedba572 .image-shape .label,#diagram-1cdb697002f5921545476a3503013be4978f2bc5989d97f3563d5e50fedba572 .icon-shape .label{text-anchor:middle;}#diagram-1cdb697002f5921545476a3503013be4978f2bc5989d97f3563d5e50fedba572 .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#diagram-1cdb697002f5921545476a3503013be4978f2bc5989d97f3563d5e50fedba572 .rough-node .label,#diagram-1cdb697002f5921545476a3503013be4978f2bc5989d97f3563d5e50fedba572 .node .label,#diagram-1cdb697002f5921545476a3503013be4978f2bc5989d97f3563d5e50fedba572 .image-shape .label,#diagram-1cdb697002f5921545476a3503013be4978f2bc5989d97f3563d5e50fedba572 .icon-shape .label{text-align:center;}#diagram-1cdb697002f5921545476a3503013be4978f2bc5989d97f3563d5e50fedba572 .node.clickable{cursor:pointer;}#diagram-1cdb697002f5921545476a3503013be4978f2bc5989d97f3563d5e50fedba572 .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#diagram-1cdb697002f5921545476a3503013be4978f2bc5989d97f3563d5e50fedba572 .arrowheadPath{fill:#333333;}#diagram-1cdb697002f5921545476a3503013be4978f2bc5989d97f3563d5e50fedba572 .edgePath .path{stroke:#333333;stroke-width:1px;}#diagram-1cdb697002f5921545476a3503013be4978f2bc5989d97f3563d5e50fedba572 .flowchart-link{stroke:#333333;fill:none;}#diagram-1cdb697002f5921545476a3503013be4978f2bc5989d97f3563d5e50fedba572 .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#diagram-1cdb697002f5921545476a3503013be4978f2bc5989d97f3563d5e50fedba572 .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#diagram-1cdb697002f5921545476a3503013be4978f2bc5989d97f3563d5e50fedba572 .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#diagram-1cdb697002f5921545476a3503013be4978f2bc5989d97f3563d5e50fedba572 .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#diagram-1cdb697002f5921545476a3503013be4978f2bc5989d97f3563d5e50fedba572 .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#diagram-1cdb697002f5921545476a3503013be4978f2bc5989d97f3563d5e50fedba572 .cluster text{fill:#333;}#diagram-1cdb697002f5921545476a3503013be4978f2bc5989d97f3563d5e50fedba572 .cluster span{color:#333;}#diagram-1cdb697002f5921545476a3503013be4978f2bc5989d97f3563d5e50fedba572 div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:\"Redocly Mermaid Sans\",\"Redocly Mermaid CJK\",sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#diagram-1cdb697002f5921545476a3503013be4978f2bc5989d97f3563d5e50fedba572 .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#diagram-1cdb697002f5921545476a3503013be4978f2bc5989d97f3563d5e50fedba572 rect.text{fill:none;stroke-width:0;}#diagram-1cdb697002f5921545476a3503013be4978f2bc5989d97f3563d5e50fedba572 .icon-shape,#diagram-1cdb697002f5921545476a3503013be4978f2bc5989d97f3563d5e50fedba572 .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#diagram-1cdb697002f5921545476a3503013be4978f2bc5989d97f3563d5e50fedba572 .icon-shape p,#diagram-1cdb697002f5921545476a3503013be4978f2bc5989d97f3563d5e50fedba572 .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#diagram-1cdb697002f5921545476a3503013be4978f2bc5989d97f3563d5e50fedba572 .icon-shape .label rect,#diagram-1cdb697002f5921545476a3503013be4978f2bc5989d97f3563d5e50fedba572 .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#diagram-1cdb697002f5921545476a3503013be4978f2bc5989d97f3563d5e50fedba572 .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#diagram-1cdb697002f5921545476a3503013be4978f2bc5989d97f3563d5e50fedba572 .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#diagram-1cdb697002f5921545476a3503013be4978f2bc5989d97f3563d5e50fedba572 .node .neo-node{stroke:#9370DB;}#diagram-1cdb697002f5921545476a3503013be4978f2bc5989d97f3563d5e50fedba572 [data-look=\"neo\"].node rect,#diagram-1cdb697002f5921545476a3503013be4978f2bc5989d97f3563d5e50fedba572 [data-look=\"neo\"].cluster rect,#diagram-1cdb697002f5921545476a3503013be4978f2bc5989d97f3563d5e50fedba572 [data-look=\"neo\"].node polygon{stroke:#9370DB;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#diagram-1cdb697002f5921545476a3503013be4978f2bc5989d97f3563d5e50fedba572 [data-look=\"neo\"].swimlane.cluster rect{filter:none;}#diagram-1cdb697002f5921545476a3503013be4978f2bc5989d97f3563d5e50fedba572 [data-look=\"neo\"].node path{stroke:#9370DB;stroke-width:1px;}#diagram-1cdb697002f5921545476a3503013be4978f2bc5989d97f3563d5e50fedba572 [data-look=\"neo\"].node .outer-path{filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#diagram-1cdb697002f5921545476a3503013be4978f2bc5989d97f3563d5e50fedba572 [data-look=\"neo\"].node .neo-line path{stroke:#9370DB;filter:none;}#diagram-1cdb697002f5921545476a3503013be4978f2bc5989d97f3563d5e50fedba572 [data-look=\"neo\"].node circle{stroke:#9370DB;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#diagram-1cdb697002f5921545476a3503013be4978f2bc5989d97f3563d5e50fedba572 [data-look=\"neo\"].node circle .state-start{fill:#000000;}#diagram-1cdb697002f5921545476a3503013be4978f2bc5989d97f3563d5e50fedba572 [data-look=\"neo\"].icon-shape .icon{fill:#9370DB;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#diagram-1cdb697002f5921545476a3503013be4978f2bc5989d97f3563d5e50fedba572 [data-look=\"neo\"].icon-shape .icon-neo path{stroke:#9370DB;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#diagram-1cdb697002f5921545476a3503013be4978f2bc5989d97f3563d5e50fedba572 :root{--mermaid-font-family:\"Redocly Mermaid Sans\",\"Redocly Mermaid CJK\",sans-serif;}#diagram-1cdb697002f5921545476a3503013be4978f2bc5989d97f3563d5e50fedba572 :root{--mermaid-font-family:\"Redocly Mermaid Sans\",\"Redocly Mermaid CJK\",sans-serif;}</style><g><marker id=\"diagram-1cdb697002f5921545476a3503013be4978f2bc5989d97f3563d5e50fedba572_flowchart-v2-pointEnd\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refX=\"5\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"8\" markerHeight=\"8\" orient=\"auto\"><path d=\"M 0 0 L 10 5 L 0 10 z\" class=\"arrowMarkerPath\" style=\"stroke-width: 1; stroke-dasharray: 1, 0;\"></path></marker><marker id=\"diagram-1cdb697002f5921545476a3503013be4978f2bc5989d97f3563d5e50fedba572_flowchart-v2-pointStart\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refX=\"4.5\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"8\" markerHeight=\"8\" orient=\"auto\"><path d=\"M 0 5 L 10 10 L 10 0 z\" class=\"arrowMarkerPath\" style=\"stroke-width: 1; stroke-dasharray: 1, 0;\"></path></marker><marker id=\"diagram-1cdb697002f5921545476a3503013be4978f2bc5989d97f3563d5e50fedba572_flowchart-v2-pointEnd-margin\" class=\"marker flowchart-v2\" viewBox=\"0 0 11.5 14\" refX=\"11.5\" refY=\"7\" markerUnits=\"userSpaceOnUse\" markerWidth=\"10.5\" markerHeight=\"14\" orient=\"auto\"><path d=\"M 0 0 L 11.5 7 L 0 14 z\" class=\"arrowMarkerPath\" style=\"stroke-width: 0; stroke-dasharray: 1, 0;\"></path></marker><marker id=\"diagram-1cdb697002f5921545476a3503013be4978f2bc5989d97f3563d5e50fedba572_flowchart-v2-pointStart-margin\" class=\"marker flowchart-v2\" viewBox=\"0 0 11.5 14\" refX=\"1\" refY=\"7\" markerUnits=\"userSpaceOnUse\" markerWidth=\"11.5\" markerHeight=\"14\" orient=\"auto\"><polygon points=\"0,7 11.5,14 11.5,0\" class=\"arrowMarkerPath\" style=\"stroke-width: 0; stroke-dasharray: 1, 0;\"></polygon></marker><marker id=\"diagram-1cdb697002f5921545476a3503013be4978f2bc5989d97f3563d5e50fedba572_flowchart-v2-circleEnd\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refX=\"11\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"11\" markerHeight=\"11\" orient=\"auto\"><circle cx=\"5\" cy=\"5\" r=\"5\" class=\"arrowMarkerPath\" style=\"stroke-width: 1; stroke-dasharray: 1, 0;\"></circle></marker><marker id=\"diagram-1cdb697002f5921545476a3503013be4978f2bc5989d97f3563d5e50fedba572_flowchart-v2-circleStart\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refX=\"-1\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"11\" markerHeight=\"11\" orient=\"auto\"><circle cx=\"5\" cy=\"5\" r=\"5\" class=\"arrowMarkerPath\" style=\"stroke-width: 1; stroke-dasharray: 1, 0;\"></circle></marker><marker id=\"diagram-1cdb697002f5921545476a3503013be4978f2bc5989d97f3563d5e50fedba572_flowchart-v2-circleEnd-margin\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refY=\"5\" refX=\"12.25\" markerUnits=\"userSpaceOnUse\" markerWidth=\"14\" markerHeight=\"14\" orient=\"auto\"><circle cx=\"5\" cy=\"5\" r=\"5\" class=\"arrowMarkerPath\" style=\"stroke-width: 0; stroke-dasharray: 1, 0;\"></circle></marker><marker id=\"diagram-1cdb697002f5921545476a3503013be4978f2bc5989d97f3563d5e50fedba572_flowchart-v2-circleStart-margin\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refX=\"-2\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"14\" markerHeight=\"14\" orient=\"auto\"><circle cx=\"5\" cy=\"5\" r=\"5\" class=\"arrowMarkerPath\" style=\"stroke-width: 0; stroke-dasharray: 1, 0;\"></circle></marker><marker id=\"diagram-1cdb697002f5921545476a3503013be4978f2bc5989d97f3563d5e50fedba572_flowchart-v2-crossEnd\" class=\"marker cross flowchart-v2\" viewBox=\"0 0 11 11\" refX=\"12\" refY=\"5.2\" markerUnits=\"userSpaceOnUse\" markerWidth=\"11\" markerHeight=\"11\" orient=\"auto\"><path d=\"M 1,1 l 9,9 M 10,1 l -9,9\" class=\"arrowMarkerPath\" style=\"stroke-width: 2; stroke-dasharray: 1, 0;\"></path></marker><marker id=\"diagram-1cdb697002f5921545476a3503013be4978f2bc5989d97f3563d5e50fedba572_flowchart-v2-crossStart\" class=\"marker cross flowchart-v2\" viewBox=\"0 0 11 11\" refX=\"-1\" refY=\"5.2\" markerUnits=\"userSpaceOnUse\" markerWidth=\"11\" markerHeight=\"11\" orient=\"auto\"><path d=\"M 1,1 l 9,9 M 10,1 l -9,9\" class=\"arrowMarkerPath\" style=\"stroke-width: 2; stroke-dasharray: 1, 0;\"></path></marker><marker id=\"diagram-1cdb697002f5921545476a3503013be4978f2bc5989d97f3563d5e50fedba572_flowchart-v2-crossEnd-margin\" class=\"marker cross flowchart-v2\" viewBox=\"0 0 15 15\" refX=\"17.7\" refY=\"7.5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"12\" markerHeight=\"12\" orient=\"auto\"><path d=\"M 1,1 L 14,14 M 1,14 L 14,1\" class=\"arrowMarkerPath\" style=\"stroke-width: 2.5;\"></path></marker><marker id=\"diagram-1cdb697002f5921545476a3503013be4978f2bc5989d97f3563d5e50fedba572_flowchart-v2-crossStart-margin\" class=\"marker cross flowchart-v2\" viewBox=\"0 0 15 15\" refX=\"-3.5\" refY=\"7.5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"12\" markerHeight=\"12\" orient=\"auto\"><path d=\"M 1,1 L 14,14 M 1,14 L 14,1\" class=\"arrowMarkerPath\" style=\"stroke-width: 2.5; stroke-dasharray: 1, 0;\"></path></marker><g class=\"root\"><g class=\"clusters\"></g><g class=\"edgePaths\"><path d=\"M206.156,55.64L226.99,52.2C247.823,48.76,289.49,41.88,330.49,38.44C371.49,35,411.823,35,431.99,35L452.156,35\" id=\"diagram-1cdb697002f5921545476a3503013be4978f2bc5989d97f3563d5e50fedba572-L_A_B_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_A_B_0\" data-points=\"W3sieCI6MjA2LjE1NjI1LCJ5Ijo1NS42NDAxMjI3MjUwNTQwNH0seyJ4IjozMzEuMTU2MjUsInkiOjM1fSx7IngiOjQ1Ni4xNTYyNSwieSI6MzV9XQ==\" data-look=\"classic\" marker-end=\"url(#diagram-1cdb697002f5921545476a3503013be4978f2bc5989d97f3563d5e50fedba572_flowchart-v2-pointEnd)\"></path><path d=\"M621.047,35L639.681,35C658.315,35,695.583,35,732.324,35C769.065,35,805.279,35,823.385,35L841.492,35\" id=\"diagram-1cdb697002f5921545476a3503013be4978f2bc5989d97f3563d5e50fedba572-L_B_C_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_B_C_0\" data-points=\"W3sieCI6NjIxLjA0Njg3NSwieSI6MzV9LHsieCI6NzMyLjg1MTU2MjUsInkiOjM1fSx7IngiOjg0NS40OTIxODc1LCJ5IjozNX1d\" data-look=\"classic\" marker-end=\"url(#diagram-1cdb697002f5921545476a3503013be4978f2bc5989d97f3563d5e50fedba572_flowchart-v2-pointEnd)\"></path><path d=\"M1006.711,35L1019.892,35C1033.073,35,1059.435,35,1084.991,35C1110.547,35,1135.297,35,1147.672,35L1160.047,35\" id=\"diagram-1cdb697002f5921545476a3503013be4978f2bc5989d97f3563d5e50fedba572-L_C_D_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_C_D_0\" data-points=\"W3sieCI6MTAwNi43MTA5Mzc1LCJ5IjozNX0seyJ4IjoxMDg1Ljc5Njg3NSwieSI6MzV9LHsieCI6MTE2NC4wNDY4NzUsInkiOjM1fV0=\" data-look=\"classic\" marker-end=\"url(#diagram-1cdb697002f5921545476a3503013be4978f2bc5989d97f3563d5e50fedba572_flowchart-v2-pointEnd)\"></path><path d=\"M1418.688,35L1439.521,35C1460.354,35,1502.021,35,1543.031,38.575C1584.041,42.149,1624.395,49.298,1644.572,52.873L1664.749,56.447\" id=\"diagram-1cdb697002f5921545476a3503013be4978f2bc5989d97f3563d5e50fedba572-L_D_E_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_D_E_0\" data-points=\"W3sieCI6MTQxOC42ODc1LCJ5IjozNX0seyJ4IjoxNTQzLjY4NzUsInkiOjM1fSx7IngiOjE2NjguNjg3NSwieSI6NTcuMTQ0OTE0NTI1MTE4NzY0fV0=\" data-look=\"classic\" marker-end=\"url(#diagram-1cdb697002f5921545476a3503013be4978f2bc5989d97f3563d5e50fedba572_flowchart-v2-pointEnd)\"></path><path d=\"M1668.688,86.855L1647.854,90.546C1627.021,94.237,1585.354,101.618,1522.467,105.309C1459.581,109,1375.474,109,1299.159,109C1222.844,109,1154.32,109,1093.443,109C1032.565,109,979.333,109,920.509,109C861.685,109,797.268,109,732.685,109C668.102,109,603.352,109,536.402,109C469.453,109,400.305,109,345.555,105.669C290.805,102.337,250.454,95.674,230.278,92.343L210.103,89.012\" id=\"diagram-1cdb697002f5921545476a3503013be4978f2bc5989d97f3563d5e50fedba572-L_E_A_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_E_A_0\" data-points=\"W3sieCI6MTY2OC42ODc1LCJ5Ijo4Ni44NTUwODU0NzQ4ODEyNH0seyJ4IjoxNTQzLjY4NzUsInkiOjEwOX0seyJ4IjoxMjkxLjM2NzE4NzUsInkiOjEwOX0seyJ4IjoxMDg1Ljc5Njg3NSwieSI6MTA5fSx7IngiOjkyNi4xMDE1NjI1LCJ5IjoxMDl9LHsieCI6NzMyLjg1MTU2MjUsInkiOjEwOX0seyJ4Ijo1MzguNjAxNTYyNSwieSI6MTA5fSx7IngiOjMzMS4xNTYyNSwieSI6MTA5fSx7IngiOjIwNi4xNTYyNSwieSI6ODguMzU5ODc3Mjc0OTQ1OTZ9XQ==\" data-look=\"classic\" marker-end=\"url(#diagram-1cdb697002f5921545476a3503013be4978f2bc5989d97f3563d5e50fedba572_flowchart-v2-pointEnd)\"></path></g><g class=\"edgeLabels\"><g class=\"edgeLabel\" transform=\"translate(331.15625, 35)\"><g class=\"label\" data-id=\"L_A_B_0\" transform=\"translate(-100, -24)\"><foreignObject width=\"200\" height=\"48\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table; white-space: break-spaces; line-height: 1.5; max-width: 200px; text-align: center; width: 200px;\"><span class=\"edgeLabel\"><p>1. POST request with filters</p></span></div></foreignObject></g></g><g class=\"edgeLabel\" transform=\"translate(732.8515625, 35)\"><g class=\"label\" data-id=\"L_B_C_0\" transform=\"translate(-86.8046875, -12)\"><foreignObject width=\"173.609375\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"><p>2. Verify domain access</p></span></div></foreignObject></g></g><g class=\"edgeLabel\" transform=\"translate(1085.796875, 35)\"><g class=\"label\" data-id=\"L_C_D_0\" transform=\"translate(-53.25, -12)\"><foreignObject width=\"106.5\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"><p>3. Gather data</p></span></div></foreignObject></g></g><g class=\"edgeLabel\" transform=\"translate(1543.6875, 35)\"><g class=\"label\" data-id=\"L_D_E_0\" transform=\"translate(-100, -24)\"><foreignObject width=\"200\" height=\"48\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table; white-space: break-spaces; line-height: 1.5; max-width: 200px; text-align: center; width: 200px;\"><span class=\"edgeLabel\"><p>4. Convert decimals + sum control totals</p></span></div></foreignObject></g></g><g class=\"edgeLabel\" transform=\"translate(926.1015625, 109)\"><g class=\"label\" data-id=\"L_E_A_0\" transform=\"translate(-81.4453125, -12)\"><foreignObject width=\"162.890625\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"><p>5. Return CSV or JSON</p></span></div></foreignObject></g></g></g><g class=\"nodes\"><g class=\"node default\" id=\"diagram-1cdb697002f5921545476a3503013be4978f2bc5989d97f3563d5e50fedba572-flowchart-A-0\" data-look=\"classic\" transform=\"translate(107.078125, 72)\"><rect class=\"basic label-container\" style=\"\" x=\"-99.078125\" y=\"-27\" width=\"198.15625\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-69.078125, -12)\"><rect></rect><foreignObject width=\"138.15625\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>Your service or job</p></span></div></foreignObject></g></g><g class=\"node default\" id=\"diagram-1cdb697002f5921545476a3503013be4978f2bc5989d97f3563d5e50fedba572-flowchart-B-1\" data-look=\"classic\" transform=\"translate(538.6015625, 35)\"><rect class=\"basic label-container\" style=\"\" x=\"-82.4453125\" y=\"-27\" width=\"164.890625\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-52.4453125, -12)\"><rect></rect><foreignObject width=\"104.890625\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>Export service</p></span></div></foreignObject></g></g><g class=\"node default\" id=\"diagram-1cdb697002f5921545476a3503013be4978f2bc5989d97f3563d5e50fedba572-flowchart-C-3\" data-look=\"classic\" transform=\"translate(926.1015625, 35)\"><rect class=\"basic label-container\" style=\"\" x=\"-80.609375\" y=\"-27\" width=\"161.21875\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-50.609375, -12)\"><rect></rect><foreignObject width=\"101.21875\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>Authorization</p></span></div></foreignObject></g></g><g class=\"node default\" id=\"diagram-1cdb697002f5921545476a3503013be4978f2bc5989d97f3563d5e50fedba572-flowchart-D-5\" data-look=\"classic\" transform=\"translate(1291.3671875, 35)\"><rect class=\"basic label-container\" style=\"\" x=\"-127.3203125\" y=\"-27\" width=\"254.640625\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-97.3203125, -12)\"><rect></rect><foreignObject width=\"194.640625\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>Balances and transactions</p></span></div></foreignObject></g></g><g class=\"node default\" id=\"diagram-1cdb697002f5921545476a3503013be4978f2bc5989d97f3563d5e50fedba572-flowchart-E-7\" data-look=\"classic\" transform=\"translate(1752.5390625, 72)\"><rect class=\"basic label-container\" style=\"\" x=\"-83.8515625\" y=\"-27\" width=\"167.703125\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-53.8515625, -12)\"><rect></rect><foreignObject width=\"107.703125\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>Report builder</p></span></div></foreignObject></g></g></g></g></g><defs><filter id=\"diagram-1cdb697002f5921545476a3503013be4978f2bc5989d97f3563d5e50fedba572-drop-shadow\" height=\"130%\" width=\"130%\"><feDropShadow dx=\"4\" dy=\"4\" stdDeviation=\"0\" flood-opacity=\"0.06\" flood-color=\"#000000\"></feDropShadow></filter></defs><defs><filter id=\"diagram-1cdb697002f5921545476a3503013be4978f2bc5989d97f3563d5e50fedba572-drop-shadow-small\" height=\"150%\" width=\"150%\"><feDropShadow dx=\"2\" dy=\"2\" stdDeviation=\"0\" flood-opacity=\"0.06\" flood-color=\"#000000\"></feDropShadow></filter></defs></svg>","diagramHtmlDark":"<svg id=\"diagram-cd2cb76e5dfecd26aff969a4a7bcbd8490059e24a1e4bbdd26cdfc61fdd14430\" width=\"100%\" xmlns=\"http://www.w3.org/2000/svg\" class=\"flowchart\" style=\"max-width: 1844.390625px;\" viewBox=\"0 0 1844.390625 129\" role=\"graphics-document document\" aria-roledescription=\"flowchart-v2\"><style>#diagram-cd2cb76e5dfecd26aff969a4a7bcbd8490059e24a1e4bbdd26cdfc61fdd14430{font-family:\"Redocly Mermaid Sans\",\"Redocly Mermaid CJK\",sans-serif;font-size:16px;fill:#ccc;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#diagram-cd2cb76e5dfecd26aff969a4a7bcbd8490059e24a1e4bbdd26cdfc61fdd14430 .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#diagram-cd2cb76e5dfecd26aff969a4a7bcbd8490059e24a1e4bbdd26cdfc61fdd14430 .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#diagram-cd2cb76e5dfecd26aff969a4a7bcbd8490059e24a1e4bbdd26cdfc61fdd14430 .error-icon{fill:#a44141;}#diagram-cd2cb76e5dfecd26aff969a4a7bcbd8490059e24a1e4bbdd26cdfc61fdd14430 .error-text{fill:#ddd;stroke:#ddd;}#diagram-cd2cb76e5dfecd26aff969a4a7bcbd8490059e24a1e4bbdd26cdfc61fdd14430 .edge-thickness-normal{stroke-width:1px;}#diagram-cd2cb76e5dfecd26aff969a4a7bcbd8490059e24a1e4bbdd26cdfc61fdd14430 .edge-thickness-thick{stroke-width:3.5px;}#diagram-cd2cb76e5dfecd26aff969a4a7bcbd8490059e24a1e4bbdd26cdfc61fdd14430 .edge-pattern-solid{stroke-dasharray:0;}#diagram-cd2cb76e5dfecd26aff969a4a7bcbd8490059e24a1e4bbdd26cdfc61fdd14430 .edge-thickness-invisible{stroke-width:0;fill:none;}#diagram-cd2cb76e5dfecd26aff969a4a7bcbd8490059e24a1e4bbdd26cdfc61fdd14430 .edge-pattern-dashed{stroke-dasharray:3;}#diagram-cd2cb76e5dfecd26aff969a4a7bcbd8490059e24a1e4bbdd26cdfc61fdd14430 .edge-pattern-dotted{stroke-dasharray:2;}#diagram-cd2cb76e5dfecd26aff969a4a7bcbd8490059e24a1e4bbdd26cdfc61fdd14430 .marker{fill:lightgrey;stroke:lightgrey;}#diagram-cd2cb76e5dfecd26aff969a4a7bcbd8490059e24a1e4bbdd26cdfc61fdd14430 .marker.cross{stroke:lightgrey;}#diagram-cd2cb76e5dfecd26aff969a4a7bcbd8490059e24a1e4bbdd26cdfc61fdd14430 svg{font-family:\"Redocly Mermaid Sans\",\"Redocly Mermaid CJK\",sans-serif;font-size:16px;}#diagram-cd2cb76e5dfecd26aff969a4a7bcbd8490059e24a1e4bbdd26cdfc61fdd14430 p{margin:0;}#diagram-cd2cb76e5dfecd26aff969a4a7bcbd8490059e24a1e4bbdd26cdfc61fdd14430 .label{font-family:\"Redocly Mermaid Sans\",\"Redocly Mermaid CJK\",sans-serif;color:#ccc;}#diagram-cd2cb76e5dfecd26aff969a4a7bcbd8490059e24a1e4bbdd26cdfc61fdd14430 .cluster-label text{fill:#F9FFFE;}#diagram-cd2cb76e5dfecd26aff969a4a7bcbd8490059e24a1e4bbdd26cdfc61fdd14430 .cluster-label span{color:#F9FFFE;}#diagram-cd2cb76e5dfecd26aff969a4a7bcbd8490059e24a1e4bbdd26cdfc61fdd14430 .cluster-label span p{background-color:transparent;}#diagram-cd2cb76e5dfecd26aff969a4a7bcbd8490059e24a1e4bbdd26cdfc61fdd14430 .label text,#diagram-cd2cb76e5dfecd26aff969a4a7bcbd8490059e24a1e4bbdd26cdfc61fdd14430 span{fill:#ccc;color:#ccc;}#diagram-cd2cb76e5dfecd26aff969a4a7bcbd8490059e24a1e4bbdd26cdfc61fdd14430 .node rect,#diagram-cd2cb76e5dfecd26aff969a4a7bcbd8490059e24a1e4bbdd26cdfc61fdd14430 .node circle,#diagram-cd2cb76e5dfecd26aff969a4a7bcbd8490059e24a1e4bbdd26cdfc61fdd14430 .node ellipse,#diagram-cd2cb76e5dfecd26aff969a4a7bcbd8490059e24a1e4bbdd26cdfc61fdd14430 .node polygon,#diagram-cd2cb76e5dfecd26aff969a4a7bcbd8490059e24a1e4bbdd26cdfc61fdd14430 .node path{fill:#1f2020;stroke:#ccc;stroke-width:1px;}#diagram-cd2cb76e5dfecd26aff969a4a7bcbd8490059e24a1e4bbdd26cdfc61fdd14430 .rough-node .label text,#diagram-cd2cb76e5dfecd26aff969a4a7bcbd8490059e24a1e4bbdd26cdfc61fdd14430 .node .label text,#diagram-cd2cb76e5dfecd26aff969a4a7bcbd8490059e24a1e4bbdd26cdfc61fdd14430 .image-shape .label,#diagram-cd2cb76e5dfecd26aff969a4a7bcbd8490059e24a1e4bbdd26cdfc61fdd14430 .icon-shape .label{text-anchor:middle;}#diagram-cd2cb76e5dfecd26aff969a4a7bcbd8490059e24a1e4bbdd26cdfc61fdd14430 .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#diagram-cd2cb76e5dfecd26aff969a4a7bcbd8490059e24a1e4bbdd26cdfc61fdd14430 .rough-node .label,#diagram-cd2cb76e5dfecd26aff969a4a7bcbd8490059e24a1e4bbdd26cdfc61fdd14430 .node .label,#diagram-cd2cb76e5dfecd26aff969a4a7bcbd8490059e24a1e4bbdd26cdfc61fdd14430 .image-shape .label,#diagram-cd2cb76e5dfecd26aff969a4a7bcbd8490059e24a1e4bbdd26cdfc61fdd14430 .icon-shape .label{text-align:center;}#diagram-cd2cb76e5dfecd26aff969a4a7bcbd8490059e24a1e4bbdd26cdfc61fdd14430 .node.clickable{cursor:pointer;}#diagram-cd2cb76e5dfecd26aff969a4a7bcbd8490059e24a1e4bbdd26cdfc61fdd14430 .root .anchor path{fill:lightgrey!important;stroke-width:0;stroke:lightgrey;}#diagram-cd2cb76e5dfecd26aff969a4a7bcbd8490059e24a1e4bbdd26cdfc61fdd14430 .arrowheadPath{fill:lightgrey;}#diagram-cd2cb76e5dfecd26aff969a4a7bcbd8490059e24a1e4bbdd26cdfc61fdd14430 .edgePath .path{stroke:lightgrey;stroke-width:1px;}#diagram-cd2cb76e5dfecd26aff969a4a7bcbd8490059e24a1e4bbdd26cdfc61fdd14430 .flowchart-link{stroke:lightgrey;fill:none;}#diagram-cd2cb76e5dfecd26aff969a4a7bcbd8490059e24a1e4bbdd26cdfc61fdd14430 .edgeLabel{background-color:hsl(0, 0%, 34.4117647059%);text-align:center;}#diagram-cd2cb76e5dfecd26aff969a4a7bcbd8490059e24a1e4bbdd26cdfc61fdd14430 .edgeLabel p{background-color:hsl(0, 0%, 34.4117647059%);}#diagram-cd2cb76e5dfecd26aff969a4a7bcbd8490059e24a1e4bbdd26cdfc61fdd14430 .edgeLabel rect{opacity:0.5;background-color:hsl(0, 0%, 34.4117647059%);fill:hsl(0, 0%, 34.4117647059%);}#diagram-cd2cb76e5dfecd26aff969a4a7bcbd8490059e24a1e4bbdd26cdfc61fdd14430 .labelBkg{background-color:rgba(87.75, 87.75, 87.75, 0.5);}#diagram-cd2cb76e5dfecd26aff969a4a7bcbd8490059e24a1e4bbdd26cdfc61fdd14430 .cluster rect{fill:hsl(180, 1.5873015873%, 28.3529411765%);stroke:rgba(255, 255, 255, 0.25);stroke-width:1px;}#diagram-cd2cb76e5dfecd26aff969a4a7bcbd8490059e24a1e4bbdd26cdfc61fdd14430 .cluster text{fill:#F9FFFE;}#diagram-cd2cb76e5dfecd26aff969a4a7bcbd8490059e24a1e4bbdd26cdfc61fdd14430 .cluster span{color:#F9FFFE;}#diagram-cd2cb76e5dfecd26aff969a4a7bcbd8490059e24a1e4bbdd26cdfc61fdd14430 div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:\"Redocly Mermaid Sans\",\"Redocly Mermaid CJK\",sans-serif;font-size:12px;background:hsl(20, 1.5873015873%, 12.3529411765%);border:1px solid rgba(255, 255, 255, 0.25);border-radius:2px;pointer-events:none;z-index:100;}#diagram-cd2cb76e5dfecd26aff969a4a7bcbd8490059e24a1e4bbdd26cdfc61fdd14430 .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#ccc;}#diagram-cd2cb76e5dfecd26aff969a4a7bcbd8490059e24a1e4bbdd26cdfc61fdd14430 rect.text{fill:none;stroke-width:0;}#diagram-cd2cb76e5dfecd26aff969a4a7bcbd8490059e24a1e4bbdd26cdfc61fdd14430 .icon-shape,#diagram-cd2cb76e5dfecd26aff969a4a7bcbd8490059e24a1e4bbdd26cdfc61fdd14430 .image-shape{background-color:hsl(0, 0%, 34.4117647059%);text-align:center;}#diagram-cd2cb76e5dfecd26aff969a4a7bcbd8490059e24a1e4bbdd26cdfc61fdd14430 .icon-shape p,#diagram-cd2cb76e5dfecd26aff969a4a7bcbd8490059e24a1e4bbdd26cdfc61fdd14430 .image-shape p{background-color:hsl(0, 0%, 34.4117647059%);padding:2px;}#diagram-cd2cb76e5dfecd26aff969a4a7bcbd8490059e24a1e4bbdd26cdfc61fdd14430 .icon-shape .label rect,#diagram-cd2cb76e5dfecd26aff969a4a7bcbd8490059e24a1e4bbdd26cdfc61fdd14430 .image-shape .label rect{opacity:0.5;background-color:hsl(0, 0%, 34.4117647059%);fill:hsl(0, 0%, 34.4117647059%);}#diagram-cd2cb76e5dfecd26aff969a4a7bcbd8490059e24a1e4bbdd26cdfc61fdd14430 .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#diagram-cd2cb76e5dfecd26aff969a4a7bcbd8490059e24a1e4bbdd26cdfc61fdd14430 .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#diagram-cd2cb76e5dfecd26aff969a4a7bcbd8490059e24a1e4bbdd26cdfc61fdd14430 .node .neo-node{stroke:#ccc;}#diagram-cd2cb76e5dfecd26aff969a4a7bcbd8490059e24a1e4bbdd26cdfc61fdd14430 [data-look=\"neo\"].node rect,#diagram-cd2cb76e5dfecd26aff969a4a7bcbd8490059e24a1e4bbdd26cdfc61fdd14430 [data-look=\"neo\"].cluster rect,#diagram-cd2cb76e5dfecd26aff969a4a7bcbd8490059e24a1e4bbdd26cdfc61fdd14430 [data-look=\"neo\"].node polygon{stroke:url(#diagram-cd2cb76e5dfecd26aff969a4a7bcbd8490059e24a1e4bbdd26cdfc61fdd14430-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#diagram-cd2cb76e5dfecd26aff969a4a7bcbd8490059e24a1e4bbdd26cdfc61fdd14430 [data-look=\"neo\"].swimlane.cluster rect{filter:none;}#diagram-cd2cb76e5dfecd26aff969a4a7bcbd8490059e24a1e4bbdd26cdfc61fdd14430 [data-look=\"neo\"].node path{stroke:url(#diagram-cd2cb76e5dfecd26aff969a4a7bcbd8490059e24a1e4bbdd26cdfc61fdd14430-gradient);stroke-width:1px;}#diagram-cd2cb76e5dfecd26aff969a4a7bcbd8490059e24a1e4bbdd26cdfc61fdd14430 [data-look=\"neo\"].node .outer-path{filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#diagram-cd2cb76e5dfecd26aff969a4a7bcbd8490059e24a1e4bbdd26cdfc61fdd14430 [data-look=\"neo\"].node .neo-line path{stroke:#ccc;filter:none;}#diagram-cd2cb76e5dfecd26aff969a4a7bcbd8490059e24a1e4bbdd26cdfc61fdd14430 [data-look=\"neo\"].node circle{stroke:url(#diagram-cd2cb76e5dfecd26aff969a4a7bcbd8490059e24a1e4bbdd26cdfc61fdd14430-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#diagram-cd2cb76e5dfecd26aff969a4a7bcbd8490059e24a1e4bbdd26cdfc61fdd14430 [data-look=\"neo\"].node circle .state-start{fill:#000000;}#diagram-cd2cb76e5dfecd26aff969a4a7bcbd8490059e24a1e4bbdd26cdfc61fdd14430 [data-look=\"neo\"].icon-shape .icon{fill:url(#diagram-cd2cb76e5dfecd26aff969a4a7bcbd8490059e24a1e4bbdd26cdfc61fdd14430-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#diagram-cd2cb76e5dfecd26aff969a4a7bcbd8490059e24a1e4bbdd26cdfc61fdd14430 [data-look=\"neo\"].icon-shape .icon-neo path{stroke:url(#diagram-cd2cb76e5dfecd26aff969a4a7bcbd8490059e24a1e4bbdd26cdfc61fdd14430-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#diagram-cd2cb76e5dfecd26aff969a4a7bcbd8490059e24a1e4bbdd26cdfc61fdd14430 :root{--mermaid-font-family:\"Redocly Mermaid Sans\",\"Redocly Mermaid CJK\",sans-serif;}#diagram-cd2cb76e5dfecd26aff969a4a7bcbd8490059e24a1e4bbdd26cdfc61fdd14430 :root{--mermaid-font-family:\"Redocly Mermaid Sans\",\"Redocly Mermaid CJK\",sans-serif;}</style><g><marker id=\"diagram-cd2cb76e5dfecd26aff969a4a7bcbd8490059e24a1e4bbdd26cdfc61fdd14430_flowchart-v2-pointEnd\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refX=\"5\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"8\" markerHeight=\"8\" orient=\"auto\"><path d=\"M 0 0 L 10 5 L 0 10 z\" class=\"arrowMarkerPath\" style=\"stroke-width: 1; stroke-dasharray: 1, 0;\"></path></marker><marker id=\"diagram-cd2cb76e5dfecd26aff969a4a7bcbd8490059e24a1e4bbdd26cdfc61fdd14430_flowchart-v2-pointStart\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refX=\"4.5\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"8\" markerHeight=\"8\" orient=\"auto\"><path d=\"M 0 5 L 10 10 L 10 0 z\" class=\"arrowMarkerPath\" style=\"stroke-width: 1; stroke-dasharray: 1, 0;\"></path></marker><marker id=\"diagram-cd2cb76e5dfecd26aff969a4a7bcbd8490059e24a1e4bbdd26cdfc61fdd14430_flowchart-v2-pointEnd-margin\" class=\"marker flowchart-v2\" viewBox=\"0 0 11.5 14\" refX=\"11.5\" refY=\"7\" markerUnits=\"userSpaceOnUse\" markerWidth=\"10.5\" markerHeight=\"14\" orient=\"auto\"><path d=\"M 0 0 L 11.5 7 L 0 14 z\" class=\"arrowMarkerPath\" style=\"stroke-width: 0; stroke-dasharray: 1, 0;\"></path></marker><marker id=\"diagram-cd2cb76e5dfecd26aff969a4a7bcbd8490059e24a1e4bbdd26cdfc61fdd14430_flowchart-v2-pointStart-margin\" class=\"marker flowchart-v2\" viewBox=\"0 0 11.5 14\" refX=\"1\" refY=\"7\" markerUnits=\"userSpaceOnUse\" markerWidth=\"11.5\" markerHeight=\"14\" orient=\"auto\"><polygon points=\"0,7 11.5,14 11.5,0\" class=\"arrowMarkerPath\" style=\"stroke-width: 0; stroke-dasharray: 1, 0;\"></polygon></marker><marker id=\"diagram-cd2cb76e5dfecd26aff969a4a7bcbd8490059e24a1e4bbdd26cdfc61fdd14430_flowchart-v2-circleEnd\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refX=\"11\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"11\" markerHeight=\"11\" orient=\"auto\"><circle cx=\"5\" cy=\"5\" r=\"5\" class=\"arrowMarkerPath\" style=\"stroke-width: 1; stroke-dasharray: 1, 0;\"></circle></marker><marker id=\"diagram-cd2cb76e5dfecd26aff969a4a7bcbd8490059e24a1e4bbdd26cdfc61fdd14430_flowchart-v2-circleStart\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refX=\"-1\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"11\" markerHeight=\"11\" orient=\"auto\"><circle cx=\"5\" cy=\"5\" r=\"5\" class=\"arrowMarkerPath\" style=\"stroke-width: 1; stroke-dasharray: 1, 0;\"></circle></marker><marker id=\"diagram-cd2cb76e5dfecd26aff969a4a7bcbd8490059e24a1e4bbdd26cdfc61fdd14430_flowchart-v2-circleEnd-margin\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refY=\"5\" refX=\"12.25\" markerUnits=\"userSpaceOnUse\" markerWidth=\"14\" markerHeight=\"14\" orient=\"auto\"><circle cx=\"5\" cy=\"5\" r=\"5\" class=\"arrowMarkerPath\" style=\"stroke-width: 0; stroke-dasharray: 1, 0;\"></circle></marker><marker id=\"diagram-cd2cb76e5dfecd26aff969a4a7bcbd8490059e24a1e4bbdd26cdfc61fdd14430_flowchart-v2-circleStart-margin\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refX=\"-2\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"14\" markerHeight=\"14\" orient=\"auto\"><circle cx=\"5\" cy=\"5\" r=\"5\" class=\"arrowMarkerPath\" style=\"stroke-width: 0; stroke-dasharray: 1, 0;\"></circle></marker><marker id=\"diagram-cd2cb76e5dfecd26aff969a4a7bcbd8490059e24a1e4bbdd26cdfc61fdd14430_flowchart-v2-crossEnd\" class=\"marker cross flowchart-v2\" viewBox=\"0 0 11 11\" refX=\"12\" refY=\"5.2\" markerUnits=\"userSpaceOnUse\" markerWidth=\"11\" markerHeight=\"11\" orient=\"auto\"><path d=\"M 1,1 l 9,9 M 10,1 l -9,9\" class=\"arrowMarkerPath\" style=\"stroke-width: 2; stroke-dasharray: 1, 0;\"></path></marker><marker id=\"diagram-cd2cb76e5dfecd26aff969a4a7bcbd8490059e24a1e4bbdd26cdfc61fdd14430_flowchart-v2-crossStart\" class=\"marker cross flowchart-v2\" viewBox=\"0 0 11 11\" refX=\"-1\" refY=\"5.2\" markerUnits=\"userSpaceOnUse\" markerWidth=\"11\" markerHeight=\"11\" orient=\"auto\"><path d=\"M 1,1 l 9,9 M 10,1 l -9,9\" class=\"arrowMarkerPath\" style=\"stroke-width: 2; stroke-dasharray: 1, 0;\"></path></marker><marker id=\"diagram-cd2cb76e5dfecd26aff969a4a7bcbd8490059e24a1e4bbdd26cdfc61fdd14430_flowchart-v2-crossEnd-margin\" class=\"marker cross flowchart-v2\" viewBox=\"0 0 15 15\" refX=\"17.7\" refY=\"7.5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"12\" markerHeight=\"12\" orient=\"auto\"><path d=\"M 1,1 L 14,14 M 1,14 L 14,1\" class=\"arrowMarkerPath\" style=\"stroke-width: 2.5;\"></path></marker><marker id=\"diagram-cd2cb76e5dfecd26aff969a4a7bcbd8490059e24a1e4bbdd26cdfc61fdd14430_flowchart-v2-crossStart-margin\" class=\"marker cross flowchart-v2\" viewBox=\"0 0 15 15\" refX=\"-3.5\" refY=\"7.5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"12\" markerHeight=\"12\" orient=\"auto\"><path d=\"M 1,1 L 14,14 M 1,14 L 14,1\" class=\"arrowMarkerPath\" style=\"stroke-width: 2.5; stroke-dasharray: 1, 0;\"></path></marker><g class=\"root\"><g class=\"clusters\"></g><g class=\"edgePaths\"><path d=\"M206.156,55.64L226.99,52.2C247.823,48.76,289.49,41.88,330.49,38.44C371.49,35,411.823,35,431.99,35L452.156,35\" id=\"diagram-cd2cb76e5dfecd26aff969a4a7bcbd8490059e24a1e4bbdd26cdfc61fdd14430-L_A_B_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_A_B_0\" data-points=\"W3sieCI6MjA2LjE1NjI1LCJ5Ijo1NS42NDAxMjI3MjUwNTQwNH0seyJ4IjozMzEuMTU2MjUsInkiOjM1fSx7IngiOjQ1Ni4xNTYyNSwieSI6MzV9XQ==\" data-look=\"classic\" marker-end=\"url(#diagram-cd2cb76e5dfecd26aff969a4a7bcbd8490059e24a1e4bbdd26cdfc61fdd14430_flowchart-v2-pointEnd)\"></path><path d=\"M621.047,35L639.681,35C658.315,35,695.583,35,732.324,35C769.065,35,805.279,35,823.385,35L841.492,35\" id=\"diagram-cd2cb76e5dfecd26aff969a4a7bcbd8490059e24a1e4bbdd26cdfc61fdd14430-L_B_C_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_B_C_0\" data-points=\"W3sieCI6NjIxLjA0Njg3NSwieSI6MzV9LHsieCI6NzMyLjg1MTU2MjUsInkiOjM1fSx7IngiOjg0NS40OTIxODc1LCJ5IjozNX1d\" data-look=\"classic\" marker-end=\"url(#diagram-cd2cb76e5dfecd26aff969a4a7bcbd8490059e24a1e4bbdd26cdfc61fdd14430_flowchart-v2-pointEnd)\"></path><path d=\"M1006.711,35L1019.892,35C1033.073,35,1059.435,35,1084.991,35C1110.547,35,1135.297,35,1147.672,35L1160.047,35\" id=\"diagram-cd2cb76e5dfecd26aff969a4a7bcbd8490059e24a1e4bbdd26cdfc61fdd14430-L_C_D_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_C_D_0\" data-points=\"W3sieCI6MTAwNi43MTA5Mzc1LCJ5IjozNX0seyJ4IjoxMDg1Ljc5Njg3NSwieSI6MzV9LHsieCI6MTE2NC4wNDY4NzUsInkiOjM1fV0=\" data-look=\"classic\" marker-end=\"url(#diagram-cd2cb76e5dfecd26aff969a4a7bcbd8490059e24a1e4bbdd26cdfc61fdd14430_flowchart-v2-pointEnd)\"></path><path d=\"M1418.688,35L1439.521,35C1460.354,35,1502.021,35,1543.031,38.575C1584.041,42.149,1624.395,49.298,1644.572,52.873L1664.749,56.447\" id=\"diagram-cd2cb76e5dfecd26aff969a4a7bcbd8490059e24a1e4bbdd26cdfc61fdd14430-L_D_E_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_D_E_0\" data-points=\"W3sieCI6MTQxOC42ODc1LCJ5IjozNX0seyJ4IjoxNTQzLjY4NzUsInkiOjM1fSx7IngiOjE2NjguNjg3NSwieSI6NTcuMTQ0OTE0NTI1MTE4NzY0fV0=\" data-look=\"classic\" marker-end=\"url(#diagram-cd2cb76e5dfecd26aff969a4a7bcbd8490059e24a1e4bbdd26cdfc61fdd14430_flowchart-v2-pointEnd)\"></path><path d=\"M1668.688,86.855L1647.854,90.546C1627.021,94.237,1585.354,101.618,1522.467,105.309C1459.581,109,1375.474,109,1299.159,109C1222.844,109,1154.32,109,1093.443,109C1032.565,109,979.333,109,920.509,109C861.685,109,797.268,109,732.685,109C668.102,109,603.352,109,536.402,109C469.453,109,400.305,109,345.555,105.669C290.805,102.337,250.454,95.674,230.278,92.343L210.103,89.012\" id=\"diagram-cd2cb76e5dfecd26aff969a4a7bcbd8490059e24a1e4bbdd26cdfc61fdd14430-L_E_A_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_E_A_0\" data-points=\"W3sieCI6MTY2OC42ODc1LCJ5Ijo4Ni44NTUwODU0NzQ4ODEyNH0seyJ4IjoxNTQzLjY4NzUsInkiOjEwOX0seyJ4IjoxMjkxLjM2NzE4NzUsInkiOjEwOX0seyJ4IjoxMDg1Ljc5Njg3NSwieSI6MTA5fSx7IngiOjkyNi4xMDE1NjI1LCJ5IjoxMDl9LHsieCI6NzMyLjg1MTU2MjUsInkiOjEwOX0seyJ4Ijo1MzguNjAxNTYyNSwieSI6MTA5fSx7IngiOjMzMS4xNTYyNSwieSI6MTA5fSx7IngiOjIwNi4xNTYyNSwieSI6ODguMzU5ODc3Mjc0OTQ1OTZ9XQ==\" data-look=\"classic\" marker-end=\"url(#diagram-cd2cb76e5dfecd26aff969a4a7bcbd8490059e24a1e4bbdd26cdfc61fdd14430_flowchart-v2-pointEnd)\"></path></g><g class=\"edgeLabels\"><g class=\"edgeLabel\" transform=\"translate(331.15625, 35)\"><g class=\"label\" data-id=\"L_A_B_0\" transform=\"translate(-100, -24)\"><foreignObject width=\"200\" height=\"48\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table; white-space: break-spaces; line-height: 1.5; max-width: 200px; text-align: center; width: 200px;\"><span class=\"edgeLabel\"><p>1. POST request with filters</p></span></div></foreignObject></g></g><g class=\"edgeLabel\" transform=\"translate(732.8515625, 35)\"><g class=\"label\" data-id=\"L_B_C_0\" transform=\"translate(-86.8046875, -12)\"><foreignObject width=\"173.609375\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"><p>2. Verify domain access</p></span></div></foreignObject></g></g><g class=\"edgeLabel\" transform=\"translate(1085.796875, 35)\"><g class=\"label\" data-id=\"L_C_D_0\" transform=\"translate(-53.25, -12)\"><foreignObject width=\"106.5\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"><p>3. Gather data</p></span></div></foreignObject></g></g><g class=\"edgeLabel\" transform=\"translate(1543.6875, 35)\"><g class=\"label\" data-id=\"L_D_E_0\" transform=\"translate(-100, -24)\"><foreignObject width=\"200\" height=\"48\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table; white-space: break-spaces; line-height: 1.5; max-width: 200px; text-align: center; width: 200px;\"><span class=\"edgeLabel\"><p>4. Convert decimals + sum control totals</p></span></div></foreignObject></g></g><g class=\"edgeLabel\" transform=\"translate(926.1015625, 109)\"><g class=\"label\" data-id=\"L_E_A_0\" transform=\"translate(-81.4453125, -12)\"><foreignObject width=\"162.890625\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"><p>5. Return CSV or JSON</p></span></div></foreignObject></g></g></g><g class=\"nodes\"><g class=\"node default\" id=\"diagram-cd2cb76e5dfecd26aff969a4a7bcbd8490059e24a1e4bbdd26cdfc61fdd14430-flowchart-A-0\" data-look=\"classic\" transform=\"translate(107.078125, 72)\"><rect class=\"basic label-container\" style=\"\" x=\"-99.078125\" y=\"-27\" width=\"198.15625\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-69.078125, -12)\"><rect></rect><foreignObject width=\"138.15625\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>Your service or job</p></span></div></foreignObject></g></g><g class=\"node default\" id=\"diagram-cd2cb76e5dfecd26aff969a4a7bcbd8490059e24a1e4bbdd26cdfc61fdd14430-flowchart-B-1\" data-look=\"classic\" transform=\"translate(538.6015625, 35)\"><rect class=\"basic label-container\" style=\"\" x=\"-82.4453125\" y=\"-27\" width=\"164.890625\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-52.4453125, -12)\"><rect></rect><foreignObject width=\"104.890625\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>Export service</p></span></div></foreignObject></g></g><g class=\"node default\" id=\"diagram-cd2cb76e5dfecd26aff969a4a7bcbd8490059e24a1e4bbdd26cdfc61fdd14430-flowchart-C-3\" data-look=\"classic\" transform=\"translate(926.1015625, 35)\"><rect class=\"basic label-container\" style=\"\" x=\"-80.609375\" y=\"-27\" width=\"161.21875\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-50.609375, -12)\"><rect></rect><foreignObject width=\"101.21875\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>Authorization</p></span></div></foreignObject></g></g><g class=\"node default\" id=\"diagram-cd2cb76e5dfecd26aff969a4a7bcbd8490059e24a1e4bbdd26cdfc61fdd14430-flowchart-D-5\" data-look=\"classic\" transform=\"translate(1291.3671875, 35)\"><rect class=\"basic label-container\" style=\"\" x=\"-127.3203125\" y=\"-27\" width=\"254.640625\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-97.3203125, -12)\"><rect></rect><foreignObject width=\"194.640625\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>Balances and transactions</p></span></div></foreignObject></g></g><g class=\"node default\" id=\"diagram-cd2cb76e5dfecd26aff969a4a7bcbd8490059e24a1e4bbdd26cdfc61fdd14430-flowchart-E-7\" data-look=\"classic\" transform=\"translate(1752.5390625, 72)\"><rect class=\"basic label-container\" style=\"\" x=\"-83.8515625\" y=\"-27\" width=\"167.703125\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-53.8515625, -12)\"><rect></rect><foreignObject width=\"107.703125\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>Report builder</p></span></div></foreignObject></g></g></g></g></g><defs><filter id=\"diagram-cd2cb76e5dfecd26aff969a4a7bcbd8490059e24a1e4bbdd26cdfc61fdd14430-drop-shadow\" height=\"130%\" width=\"130%\"><feDropShadow dx=\"4\" dy=\"4\" stdDeviation=\"0\" flood-opacity=\"0.06\" flood-color=\"#FFFFFF\"></feDropShadow></filter></defs><defs><filter id=\"diagram-cd2cb76e5dfecd26aff969a4a7bcbd8490059e24a1e4bbdd26cdfc61fdd14430-drop-shadow-small\" height=\"150%\" width=\"150%\"><feDropShadow dx=\"2\" dy=\"2\" stdDeviation=\"0\" flood-opacity=\"0.06\" flood-color=\"#FFFFFF\"></feDropShadow></filter></defs><linearGradient id=\"diagram-cd2cb76e5dfecd26aff969a4a7bcbd8490059e24a1e4bbdd26cdfc61fdd14430-gradient\" gradientUnits=\"objectBoundingBox\" x1=\"0%\" y1=\"0%\" x2=\"100%\" y2=\"0%\"><stop offset=\"0%\" stop-color=\"#cccccc\" stop-opacity=\"1\"></stop><stop offset=\"100%\" stop-color=\"hsl(180, 0%, 18.3529411765%)\" stop-opacity=\"1\"></stop></linearGradient></svg>"},"children":["flowchart LR\n    A[\"Your service or job\"] -->|\"1. POST request with filters\"| B[\"Export service\"]\n    B -->|\"2. Verify domain access\"| C[\"Authorization\"]\n    C -->|\"3. Gather data\"| D[\"Balances and transactions\"]\n    D -->|\"4. Convert decimals + sum control totals\"| E[\"Report builder\"]\n    E -->|\"5. Return CSV or JSON\"| A\n"]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Request"]},": You send a ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["POST"]}," request with a bearer token and a JSON body that defines the target domain, scope, and filters."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Authorize"]},": The service verifies that you hold a role with read access in the target domain. It checks access ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":["before"]}," running any data query."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Gather data"]},": The service reads balances or transactions for the accounts in scope. Position balances are read from historical balance records at the requested timestamp. The export service does not recalculate positions from transaction history. Movement data reflects recorded transfers."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Convert and verify"]},": The service converts every financial value from its raw blockchain denomination to its native decimal unit, and sums each financial column into a control total."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Return"]},": The service returns the report as a single file with a metadata header."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The service is synchronous: each request returns the complete file in one response, and there is no pagination. If a report would exceed an ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/custody/data-export/reference#operational-limits"},"children":["operational limit"]},", the service rejects the request before it generates the file — narrow the scope with filters or a shorter date range, then request again."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"key-concepts","__idx":3},"children":["Key concepts"]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"export-metadata","__idx":4},"children":["Export metadata"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Every export carries a metadata header that identifies who generated it and with what parameters. This gives you a self-describing, auditable artifact."]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Field"},"children":["Field"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Description"},"children":["Description"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Export ID"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["A UUID for the export. The service also returns this value in the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["X-Export-Id"]}," response header for support tracing."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Request author"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The identity that generated the export, in ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["providerId:loginId"]}," form."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Generation timestamp"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The UTC time when the service generated the export."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Filters"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The exact set of filters the service applied to the request."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Record count"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The number of rows in the report."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Control totals"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Financial column sums for reconciliation. See ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"#control-totals"},"children":["Control totals"]},"."]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"control-totals","__idx":5},"children":["Control totals"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Every export includes financial control totals—the sums of each monetary column, computed as the service builds the file. This is a banking-standard integrity check."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["When your downstream system ingests a report, it re-sums the same columns and compares its result against the control totals in the metadata header. If the totals and the record count match, the file is complete and uncorrupted. If they diverge, your system can reject the file and request a new export. Because the totals travel inside the file, you can verify integrity without calling back to the service."]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"info"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Control totals are integrity checksums, not real-world monetary values. A single total can aggregate rows across multiple assets with different decimal scales, so the number doesn't represent a portfolio value or a per-asset total. Use it only to confirm that your extract matches the source, by re-summing the same column and comparing."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"financial-precision","__idx":6},"children":["Financial precision"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The service exports all amounts as decimal strings in the asset's native unit, with precision matching the asset's decimal places—for example, ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["3.000000"]}," XRP rather than ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["3000000"]}," drops. It never exports raw blockchain denominations (except the Movement Report's explicit ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["rawTransactionValue"]}," column) or scientific notation."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Financial values are always ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["strings"]},", in both CSV and JSON. Parse them as strings, never as floating-point numbers: bare numbers lose precision beyond roughly 15 significant digits, and some assets carry many more decimal places than that. For details, see ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/custody/data-export/reference#financial-precision"},"children":["Financial precision"]},"."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"domain-scope-and-access-control","__idx":7},"children":["Domain scope and access control"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The service checks access against the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["target domain only"]},". To generate a report for a domain, you must hold a profile in that exact domain with a role that grants read access to the relevant entity type—accounts for Position Reports, transactions for Movement Reports. A profile in a parent domain doesn't grant access to its children."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["To consolidate data across a domain tree, set ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["includeChildDomains"]}," to ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["true"]},". The service checks each child domain individually and includes only the ones you can access. It silently omits children you can't access—you receive a valid report for the domains you're entitled to."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["For the full access model, see ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/custody/data-export/reference#access-control"},"children":["Access control"]},"."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"output-formats","__idx":8},"children":["Output formats"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The service provides two machine-readable formats. Select one with the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["format"]}," field:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["CSV"]},": UTF-8 with a byte order mark for spreadsheet compatibility. Financial values are quoted strings."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["JSON"]},": A metadata envelope with a ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["data"]}," array of row objects."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["For the full format specification, see ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/custody/data-export/reference#output-formats"},"children":["Output formats"]},"."]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"next-steps","__idx":9},"children":["Next steps"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Page"},"children":["Page"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Description"},"children":["Description"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/custody/data-export/position-report"},"children":["Position Report"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Generate a point-in-time balance snapshot, including request fields, filters, and output columns."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/custody/data-export/movement-report"},"children":["Movement Report"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Generate a transaction history for a date range, including status filters and output columns."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/custody/data-export/reference"},"children":["Export reference"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Look up output formats, financial precision rules, access control, operational limits, and error responses."]}]}]}]}]}]},"headings":[{"value":"Data export","id":"data-export","depth":1},{"value":"What you can export","id":"what-you-can-export","depth":2},{"value":"How the service works","id":"how-the-service-works","depth":2},{"value":"Key concepts","id":"key-concepts","depth":2},{"value":"Export metadata","id":"export-metadata","depth":3},{"value":"Control totals","id":"control-totals","depth":3},{"value":"Financial precision","id":"financial-precision","depth":3},{"value":"Domain scope and access control","id":"domain-scope-and-access-control","depth":3},{"value":"Output formats","id":"output-formats","depth":3},{"value":"Next steps","id":"next-steps","depth":2}],"frontmatter":{"seo":{"title":"Data export"}},"lastModified":"2026-08-04T20:25:11.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/products/custody/data-export/overview","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}