{"openapi":"3.0.3","info":{"description":"Canonical public read and notification endpoints provided by StellarAtlas.","title":"StellarAtlas Public API","contact":{"name":"StellarAtlas","email":"info@StellarAtlas.io"},"version":"v1"},"components":{"schemas":{"HubbleError":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"error":{"type":"string"}},"required":["code","error"]},"HubbleExplorerTradeNotFound":{"type":"object","additionalProperties":false,"properties":{"entity":{"type":"string","enum":["trades"]},"window":{"type":"object","additionalProperties":false,"properties":{"minLedger":{"type":"integer","minimum":1,"maximum":4294967295,"example":63490364},"maxLedger":{"type":"integer","minimum":1,"maximum":4294967295,"example":63490364}},"required":["minLedger","maxLedger"]},"coverage":{"$ref":"#/components/schemas/HubbleLedgerCoverage"},"coverageStatus":{"type":"string","enum":["complete","partial_or_unknown"],"example":"partial_or_unknown","description":"Complete only when every ledger in the selected window lies inside a completed manifest interval, including supplemental intervals. The global coverage can still contain gaps outside that window."},"source":{"type":"string","enum":["stellar_hubble"]},"semantics":{"type":"string","example":"Historical observations in the selected ledger window; not current-chain state."},"record":{"type":"object","nullable":true,"enum":[null]},"code":{"type":"string"},"error":{"type":"string"}},"required":["entity","window","coverage","coverageStatus","source","semantics","record","code","error"]},"HubbleLedgerCoverage":{"type":"object","additionalProperties":false,"properties":{"contiguousFirstLedger":{"type":"string","pattern":"^[0-9]+$","example":"2","nullable":true},"contiguousLastLedger":{"type":"string","pattern":"^[0-9]+$","example":"63489999","nullable":true},"contiguousLedgerCount":{"type":"string","pattern":"^[0-9]+$","example":"63489998"},"supplementalLedgerCount":{"type":"string","pattern":"^[0-9]+$","example":"64"},"totalLedgerCount":{"type":"string","pattern":"^[0-9]+$","example":"63490062"},"nextLedger":{"type":"string","pattern":"^[0-9]+$","example":"63490000"},"minimumLedger":{"type":"string","pattern":"^[0-9]+$","example":"2","nullable":true},"maximumLedger":{"type":"string","pattern":"^[0-9]+$","example":"63490367","nullable":true},"gapCount":{"type":"integer","minimum":0,"example":1},"completedRanges":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"firstLedger":{"type":"string","pattern":"^[0-9]+$","example":"63490304"},"lastLedger":{"type":"string","pattern":"^[0-9]+$","example":"63490367"}},"required":["firstLedger","lastLedger"]},"description":"Disjoint merged completed manifest intervals, including supplemental imports. An interval does not imply the earlier historical gap is ingested."}},"required":["contiguousFirstLedger","contiguousLastLedger","contiguousLedgerCount","supplementalLedgerCount","totalLedgerCount","nextLedger","minimumLedger","maximumLedger","gapCount"],"description":"Representative response shape and values, not a current coverage or availability report. Counts are distinct ingested ledgers, not rows or checkpoints. The sample deliberately contains one gap.","example":{"completedRanges":[{"firstLedger":"2","lastLedger":"63489999"},{"firstLedger":"63490304","lastLedger":"63490367"}],"contiguousFirstLedger":"2","contiguousLastLedger":"63489999","contiguousLedgerCount":"63489998","supplementalLedgerCount":"64","totalLedgerCount":"63490062","nextLedger":"63490000","minimumLedger":"2","maximumLedger":"63490367","gapCount":1}},"HubbleExplorerTradeDetail":{"type":"object","additionalProperties":false,"properties":{"entity":{"type":"string","enum":["trades"]},"window":{"type":"object","additionalProperties":false,"properties":{"minLedger":{"type":"integer","minimum":1,"maximum":4294967295,"example":63490364},"maxLedger":{"type":"integer","minimum":1,"maximum":4294967295,"example":63490364}},"required":["minLedger","maxLedger"]},"coverage":{"$ref":"#/components/schemas/HubbleLedgerCoverage"},"coverageStatus":{"type":"string","enum":["complete","partial_or_unknown"],"example":"partial_or_unknown","description":"Complete only when every ledger in the selected window lies inside a completed manifest interval, including supplemental intervals. The global coverage can still contain gaps outside that window."},"source":{"type":"string","enum":["stellar_hubble"]},"semantics":{"type":"string","example":"Historical observations in the selected ledger window; not current-chain state."},"record":{"$ref":"#/components/schemas/HubbleExplorerTrade"}},"required":["entity","window","coverage","coverageStatus","source","semantics","record"]},"HubbleExplorerTrade":{"type":"object","additionalProperties":false,"properties":{"ledgerSequence":{"type":"integer","minimum":1,"maximum":4294967295,"example":63490364},"closedAt":{"type":"string","format":"date-time","example":"2026-07-15T16:43:50.000Z"},"sourceRecord":{"type":"object","additionalProperties":false,"properties":{"batchId":{"type":"string","format":"uuid","example":"3dca0dce-5e01-4620-a95b-e95ce4a58323"},"digest":{"type":"string","pattern":"^[0-9a-f]{64}$","example":"78dadc18671e087b3e9169c34601c932d5215aafc1d14ae7ec81e9bf0ddc2426"},"rowNumber":{"type":"string","pattern":"^[0-9]+$","example":"128947","description":"Exact decimal identifier; keep as a string, never a JavaScript number."}},"required":["batchId","digest","rowNumber"],"description":"Provenance of this parsed row in a completed batch with matching digest."},"sellingAsset":{"$ref":"#/components/schemas/HubbleExplorerAsset"},"buyingAsset":{"$ref":"#/components/schemas/HubbleExplorerAsset"},"amountPrecision":{"type":"string","enum":["source_float64"],"description":"Source ETL amount was Float64. String serialization does not recover lost precision; not exact atomic units."},"id":{"type":"string","pattern":"^[0-9]+:[0-9]+$","example":"272689036991197185:0"},"operationId":{"type":"string","pattern":"^[0-9]+$","example":"272689036991197185","description":"Exact decimal identifier; keep as a string, never a JavaScript number."},"order":{"type":"integer","minimum":0,"example":0},"seller":{"type":"string","pattern":"^G[A-Z2-7]{55}$","example":"GCX7LOMYJM54CXJPNTDZPMFSTQTQJTR5XR4DKZXLSWJG3R4B7GOADWXZ","nullable":true},"buyer":{"type":"string","pattern":"^G[A-Z2-7]{55}$","example":"GCX7LOMYJM54CXJPNTDZPMFSTQTQJTR5XR4DKZXLSWJG3R4B7GOADWXZ","nullable":true},"sellingAmount":{"type":"string","example":"0.0009571"},"buyingAmount":{"type":"string","example":"0.0488962"},"price":{"type":"object","additionalProperties":false,"properties":{"numerator":{"type":"string","pattern":"^-?[0-9]+$","example":"123"},"denominator":{"type":"string","pattern":"^-?[0-9]+$","example":"123"}},"required":["numerator","denominator"],"description":"Exact source rational terms; divide numerator by denominator only for display.","example":{"numerator":"488962","denominator":"9571"}}},"required":["ledgerSequence","closedAt","sourceRecord","sellingAsset","buyingAsset","amountPrecision","id","operationId","order","seller","buyer","sellingAmount","buyingAmount","price"],"description":"A parsed trade with exact IDs and price terms. Amount strings retain source Float64 precision.","example":{"ledgerSequence":63490364,"closedAt":"2026-07-15T16:43:50.000Z","sourceRecord":{"batchId":"3dca0dce-5e01-4620-a95b-e95ce4a58323","digest":"78dadc18671e087b3e9169c34601c932d5215aafc1d14ae7ec81e9bf0ddc2426","rowNumber":"13056"},"sellingAsset":{"id":"F8:GBGRBCUB6L7LH4JQ6EPDP7REH2DDACMCUQI76M3P6DM52QWU2Z5LIEVW","type":"credit_alphanum4","code":"F8","issuer":"GBGRBCUB6L7LH4JQ6EPDP7REH2DDACMCUQI76M3P6DM52QWU2Z5LIEVW"},"buyingAsset":{"id":"224:GBN42AP5SK3IPTEJ2KAY7DLCAH6YQSMI3H6CCZLWW7KIJCYJ3X57JZ6R","type":"credit_alphanum4","code":"224","issuer":"GBN42AP5SK3IPTEJ2KAY7DLCAH6YQSMI3H6CCZLWW7KIJCYJ3X57JZ6R"},"amountPrecision":"source_float64","id":"272689036991197185:0","operationId":"272689036991197185","order":0,"seller":null,"buyer":"GAFB7IYPCYZCODQBB5BR5JO45JC4PPVLARUAXQSFHWTLH2KMHPWJ36GD","sellingAmount":"0.0009571","buyingAmount":"0.0488962","price":{"numerator":"488962","denominator":"9571"}}},"HubbleExplorerAsset":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","pattern":"^(native|[A-Za-z0-9]{1,12}:G[A-Z2-7]{55})$","example":"USDC:GBVVYDFLEBUNSWBHNJS3RSLLJTMJ46PJXTTMA3V6YJ4KDRMAEJIDUSDC"},"type":{"type":"string","example":"credit_alphanum4"},"code":{"type":"string","nullable":true,"maxLength":12,"example":"USDC","description":"Null for native XLM."},"issuer":{"type":"string","pattern":"^G[A-Z2-7]{55}$","example":"GBVVYDFLEBUNSWBHNJS3RSLLJTMJ46PJXTTMA3V6YJ4KDRMAEJIDUSDC","nullable":true,"description":"Null for native XLM."}},"required":["id","type","code","issuer"],"description":"An asset identity observed in the selected history window, not a current registry or holder snapshot.","example":{"id":"USDC:GBVVYDFLEBUNSWBHNJS3RSLLJTMJ46PJXTTMA3V6YJ4KDRMAEJIDUSDC","type":"credit_alphanum4","code":"USDC","issuer":"GBVVYDFLEBUNSWBHNJS3RSLLJTMJ46PJXTTMA3V6YJ4KDRMAEJIDUSDC"}},"HubbleExplorerOfferNotFound":{"type":"object","additionalProperties":false,"properties":{"entity":{"type":"string","enum":["offers"]},"window":{"type":"object","additionalProperties":false,"properties":{"minLedger":{"type":"integer","minimum":1,"maximum":4294967295,"example":63490364},"maxLedger":{"type":"integer","minimum":1,"maximum":4294967295,"example":63490364}},"required":["minLedger","maxLedger"]},"coverage":{"$ref":"#/components/schemas/HubbleLedgerCoverage"},"coverageStatus":{"type":"string","enum":["complete","partial_or_unknown"],"example":"partial_or_unknown","description":"Complete only when every ledger in the selected window lies inside a completed manifest interval, including supplemental intervals. The global coverage can still contain gaps outside that window."},"source":{"type":"string","enum":["stellar_hubble"]},"semantics":{"type":"string","example":"Historical observations in the selected ledger window; not current-chain state."},"record":{"type":"object","nullable":true,"enum":[null]},"code":{"type":"string"},"error":{"type":"string"}},"required":["entity","window","coverage","coverageStatus","source","semantics","record","code","error"]},"HubbleExplorerOfferDetail":{"type":"object","additionalProperties":false,"properties":{"entity":{"type":"string","enum":["offers"]},"window":{"type":"object","additionalProperties":false,"properties":{"minLedger":{"type":"integer","minimum":1,"maximum":4294967295,"example":63490364},"maxLedger":{"type":"integer","minimum":1,"maximum":4294967295,"example":63490364}},"required":["minLedger","maxLedger"]},"coverage":{"$ref":"#/components/schemas/HubbleLedgerCoverage"},"coverageStatus":{"type":"string","enum":["complete","partial_or_unknown"],"example":"partial_or_unknown","description":"Complete only when every ledger in the selected window lies inside a completed manifest interval, including supplemental intervals. The global coverage can still contain gaps outside that window."},"source":{"type":"string","enum":["stellar_hubble"]},"semantics":{"type":"string","example":"Historical observations in the selected ledger window; not current-chain state."},"record":{"$ref":"#/components/schemas/HubbleExplorerOffer"}},"required":["entity","window","coverage","coverageStatus","source","semantics","record"]},"HubbleExplorerOffer":{"type":"object","additionalProperties":false,"properties":{"ledgerSequence":{"type":"integer","minimum":1,"maximum":4294967295,"example":63490364},"closedAt":{"type":"string","format":"date-time","example":"2026-07-15T16:43:50.000Z"},"sourceRecord":{"type":"object","additionalProperties":false,"properties":{"batchId":{"type":"string","format":"uuid","example":"3dca0dce-5e01-4620-a95b-e95ce4a58323"},"digest":{"type":"string","pattern":"^[0-9a-f]{64}$","example":"78dadc18671e087b3e9169c34601c932d5215aafc1d14ae7ec81e9bf0ddc2426"},"rowNumber":{"type":"string","pattern":"^[0-9]+$","example":"128947","description":"Exact decimal identifier; keep as a string, never a JavaScript number."}},"required":["batchId","digest","rowNumber"],"description":"Provenance of this parsed row in a completed batch with matching digest."},"sellingAsset":{"$ref":"#/components/schemas/HubbleExplorerAsset"},"buyingAsset":{"$ref":"#/components/schemas/HubbleExplorerAsset"},"amountPrecision":{"type":"string","enum":["source_float64"],"description":"Source ETL amount was Float64. String serialization does not recover lost precision; not exact atomic units."},"id":{"type":"string","pattern":"^[0-9]+$","example":"1848813589","description":"Exact decimal identifier; keep as a string, never a JavaScript number."},"seller":{"type":"string","pattern":"^G[A-Z2-7]{55}$","example":"GCX7LOMYJM54CXJPNTDZPMFSTQTQJTR5XR4DKZXLSWJG3R4B7GOADWXZ"},"amount":{"type":"string","example":"1074.6636081"},"price":{"type":"object","additionalProperties":false,"properties":{"numerator":{"type":"string","pattern":"^-?[0-9]+$","example":"123"},"denominator":{"type":"string","pattern":"^-?[0-9]+$","example":"123"}},"required":["numerator","denominator"],"description":"Exact source rational terms; divide numerator by denominator only for display.","example":{"numerator":"488962","denominator":"9571"}},"deleted":{"type":"boolean","example":false},"lastModifiedLedger":{"type":"integer","minimum":1,"maximum":4294967295,"example":63490364}},"required":["ledgerSequence","closedAt","sourceRecord","sellingAsset","buyingAsset","amountPrecision","id","seller","amount","price","deleted","lastModifiedLedger"],"description":"Historical offer change in the selected window, not the current order book.","example":{"ledgerSequence":63490364,"closedAt":"2026-07-15T16:43:50.000Z","sourceRecord":{"batchId":"3dca0dce-5e01-4620-a95b-e95ce4a58323","digest":"78dadc18671e087b3e9169c34601c932d5215aafc1d14ae7ec81e9bf0ddc2426","rowNumber":"33493"},"sellingAsset":{"id":"USDC:GA5ZSEJYB37JRC5AVCIA5MOP4RHTM335X2KGX3IHOJAPP5RE34K4KZVN","type":"credit_alphanum4","code":"USDC","issuer":"GA5ZSEJYB37JRC5AVCIA5MOP4RHTM335X2KGX3IHOJAPP5RE34K4KZVN"},"buyingAsset":{"id":"PYUSD:GDQE7IXJ4HUHV6RQHIUPRJSEZE4DRS5WY577O2FY6YQ5LVWZ7JZTU2V5","type":"credit_alphanum12","code":"PYUSD","issuer":"GDQE7IXJ4HUHV6RQHIUPRJSEZE4DRS5WY577O2FY6YQ5LVWZ7JZTU2V5"},"amountPrecision":"source_float64","id":"1848813589","seller":"GA3RVV4CG6RCHZ4P3JQFS3PZHW3ZYIERNZL7JOTG7FUWSIQJSUNKNQ3Y","amount":"1074.6636081","price":{"numerator":"5003537","denominator":"5000000"},"deleted":false,"lastModifiedLedger":63490364}},"HubbleExplorerOfferPage":{"type":"object","additionalProperties":false,"properties":{"entity":{"type":"string","enum":["offers"]},"window":{"type":"object","additionalProperties":false,"properties":{"minLedger":{"type":"integer","minimum":1,"maximum":4294967295,"example":63490364},"maxLedger":{"type":"integer","minimum":1,"maximum":4294967295,"example":63490364}},"required":["minLedger","maxLedger"]},"coverage":{"$ref":"#/components/schemas/HubbleLedgerCoverage"},"coverageStatus":{"type":"string","enum":["complete","partial_or_unknown"],"example":"partial_or_unknown","description":"Complete only when every ledger in the selected window lies inside a completed manifest interval, including supplemental intervals. The global coverage can still contain gaps outside that window."},"source":{"type":"string","enum":["stellar_hubble"]},"semantics":{"type":"string","example":"Historical observations in the selected ledger window; not current-chain state."},"rows":{"type":"array","items":{"$ref":"#/components/schemas/HubbleExplorerOffer"}},"limit":{"type":"integer","minimum":1,"maximum":100,"example":10},"offset":{"type":"integer","minimum":0,"maximum":10000,"example":0},"nextOffset":{"type":"integer","nullable":true,"example":null,"description":"Follow with unchanged filters; null ends results. Offsets above 10000 are rejected: narrow the ledger window to continue. Not a frozen snapshot under backfill."}},"required":["entity","window","coverage","coverageStatus","source","semantics","rows","limit","offset","nextOffset"]},"HubbleExplorerContractNotFound":{"type":"object","additionalProperties":false,"properties":{"entity":{"type":"string","enum":["contracts"]},"window":{"type":"object","additionalProperties":false,"properties":{"minLedger":{"type":"integer","minimum":1,"maximum":4294967295,"example":63491202},"maxLedger":{"type":"integer","minimum":1,"maximum":4294967295,"example":63491202}},"required":["minLedger","maxLedger"]},"coverage":{"$ref":"#/components/schemas/HubbleLedgerCoverage"},"coverageStatus":{"type":"string","enum":["complete","partial_or_unknown"],"example":"partial_or_unknown","description":"Complete only when every ledger in the selected window lies inside a completed manifest interval, including supplemental intervals. The global coverage can still contain gaps outside that window."},"source":{"type":"string","enum":["stellar_hubble"]},"semantics":{"type":"string","example":"Historical observations in the selected ledger window; not current-chain state."},"record":{"type":"object","nullable":true,"enum":[null]},"code":{"type":"string"},"error":{"type":"string"}},"required":["entity","window","coverage","coverageStatus","source","semantics","record","code","error"]},"HubbleExplorerContractDetail":{"type":"object","additionalProperties":false,"properties":{"entity":{"type":"string","enum":["contracts"]},"window":{"type":"object","additionalProperties":false,"properties":{"minLedger":{"type":"integer","minimum":1,"maximum":4294967295,"example":63491202},"maxLedger":{"type":"integer","minimum":1,"maximum":4294967295,"example":63491202}},"required":["minLedger","maxLedger"]},"coverage":{"$ref":"#/components/schemas/HubbleLedgerCoverage"},"coverageStatus":{"type":"string","enum":["complete","partial_or_unknown"],"example":"partial_or_unknown","description":"Complete only when every ledger in the selected window lies inside a completed manifest interval, including supplemental intervals. The global coverage can still contain gaps outside that window."},"source":{"type":"string","enum":["stellar_hubble"]},"semantics":{"type":"string","example":"Historical observations in the selected ledger window; not current-chain state."},"record":{"$ref":"#/components/schemas/HubbleExplorerContract"}},"required":["entity","window","coverage","coverageStatus","source","semantics","record"]},"HubbleExplorerContract":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","pattern":"^C[A-Z2-7]{55}$","example":"CDL74RF5BLYR2YBLCCI7F5FB6TPSCLKEJUBSD2RSVWZ4YHF3VMFAIGWA"}},"required":["id"],"description":"Observed contract identity. The documented state example uses ledger 63491202; not a complete deployed-contract registry."},"HubbleExplorerContractPage":{"type":"object","additionalProperties":false,"properties":{"entity":{"type":"string","enum":["contracts"]},"window":{"type":"object","additionalProperties":false,"properties":{"minLedger":{"type":"integer","minimum":1,"maximum":4294967295,"example":63491202},"maxLedger":{"type":"integer","minimum":1,"maximum":4294967295,"example":63491202}},"required":["minLedger","maxLedger"]},"coverage":{"$ref":"#/components/schemas/HubbleLedgerCoverage"},"coverageStatus":{"type":"string","enum":["complete","partial_or_unknown"],"example":"partial_or_unknown","description":"Complete only when every ledger in the selected window lies inside a completed manifest interval, including supplemental intervals. The global coverage can still contain gaps outside that window."},"source":{"type":"string","enum":["stellar_hubble"]},"semantics":{"type":"string","example":"Historical observations in the selected ledger window; not current-chain state."},"rows":{"type":"array","items":{"$ref":"#/components/schemas/HubbleExplorerContract"}},"limit":{"type":"integer","minimum":1,"maximum":100,"example":10},"offset":{"type":"integer","minimum":0,"maximum":10000,"example":0},"nextOffset":{"type":"integer","nullable":true,"example":null,"description":"Follow with unchanged filters; null ends results. Offsets above 10000 are rejected: narrow the ledger window to continue. Not a frozen snapshot under backfill."}},"required":["entity","window","coverage","coverageStatus","source","semantics","rows","limit","offset","nextOffset"]},"HubbleExplorerOperationPage":{"type":"object","additionalProperties":false,"properties":{"entity":{"type":"string","enum":["operations"]},"window":{"type":"object","additionalProperties":false,"properties":{"minLedger":{"type":"integer","minimum":1,"maximum":4294967295,"example":63490364},"maxLedger":{"type":"integer","minimum":1,"maximum":4294967295,"example":63490364}},"required":["minLedger","maxLedger"]},"coverage":{"$ref":"#/components/schemas/HubbleLedgerCoverage"},"coverageStatus":{"type":"string","enum":["complete","partial_or_unknown"],"example":"partial_or_unknown","description":"Complete only when every ledger in the selected window lies inside a completed manifest interval, including supplemental intervals. The global coverage can still contain gaps outside that window."},"source":{"type":"string","enum":["stellar_hubble"]},"semantics":{"type":"string","example":"Historical observations in the selected ledger window; not current-chain state."},"rows":{"type":"array","items":{"$ref":"#/components/schemas/HubbleExplorerOperation"}},"limit":{"type":"integer","minimum":1,"maximum":100,"example":10},"offset":{"type":"integer","minimum":0,"maximum":10000,"example":0},"nextOffset":{"type":"integer","nullable":true,"example":null,"description":"Follow with unchanged filters; null ends results. Offsets above 10000 are rejected: narrow the ledger window to continue. Not a frozen snapshot under backfill."}},"required":["entity","window","coverage","coverageStatus","source","semantics","rows","limit","offset","nextOffset"]},"HubbleExplorerOperation":{"type":"object","additionalProperties":false,"properties":{"ledgerSequence":{"type":"integer","minimum":1,"maximum":4294967295,"example":63490364},"closedAt":{"type":"string","format":"date-time","example":"2026-07-15T16:43:50.000Z"},"sourceRecord":{"type":"object","additionalProperties":false,"properties":{"batchId":{"type":"string","format":"uuid","example":"3dca0dce-5e01-4620-a95b-e95ce4a58323"},"digest":{"type":"string","pattern":"^[0-9a-f]{64}$","example":"78dadc18671e087b3e9169c34601c932d5215aafc1d14ae7ec81e9bf0ddc2426"},"rowNumber":{"type":"string","pattern":"^[0-9]+$","example":"128947","description":"Exact decimal identifier; keep as a string, never a JavaScript number."}},"required":["batchId","digest","rowNumber"],"description":"Provenance of this parsed row in a completed batch with matching digest."},"id":{"type":"string","pattern":"^[0-9]+$","example":"272689036992143361","description":"Exact decimal identifier; keep as a string, never a JavaScript number."},"transactionId":{"type":"string","pattern":"^[0-9]+$","example":"272689036992143360","description":"Exact decimal identifier; keep as a string, never a JavaScript number."},"transactionHash":{"type":"string","nullable":true,"pattern":"^[0-9a-f]{64}$","example":"446670351d9f2af449eda3bfa0e36c3e128e2720443293dd5b585b3bbadeb485","description":"Resolved from a matching completed parsed transaction row; null if unavailable."},"sourceAccount":{"type":"string","pattern":"^G[A-Z2-7]{55}$","example":"GCX7LOMYJM54CXJPNTDZPMFSTQTQJTR5XR4DKZXLSWJG3R4B7GOADWXZ"},"type":{"type":"string","example":"invoke_host_function"},"typeCode":{"type":"integer","minimum":0,"example":24},"details":{"example":{"parameters":[{"type":"Address","value":"AAAAEgAAAAHX/kS9CvEdYCsQkfL0ofTfIS1ETQMh6jKts8wcu6sKBA=="},{"type":"Sym","value":"AAAADwAAAAVwbGFudAAAAA=="},{"value":"AAAAEgAAAAAAAAAAr/W5mEs7wV0vbMeXsLKcJwTOPbx4NWbrlZJtx4H5nAE=","type":"Address"},{"type":"I128","value":"AAAACgAAAAAAAAAAAAAAAAAAAAA="}],"parameters_decoded":[{"type":"Address","value":"CDL74RF5BLYR2YBLCCI7F5FB6TPSCLKEJUBSD2RSVWZ4YHF3VMFAIGWA"},{"type":"Sym","value":"plant"},{"type":"Address","value":"GCX7LOMYJM54CXJPNTDZPMFSTQTQJTR5XR4DKZXLSWJG3R4B7GOADWXZ"},{"type":"I128","value":"0"}],"function":"HostFunctionTypeHostFunctionTypeInvokeContract","parameters_json":["AAAAEgAAAAHX/kS9CvEdYCsQkfL0ofTfIS1ETQMh6jKts8wcu6sKBA==","AAAADwAAAAVwbGFudAAAAA==","AAAAEgAAAAAAAAAAr/W5mEs7wV0vbMeXsLKcJwTOPbx4NWbrlZJtx4H5nAE=","AAAACgAAAAAAAAAAAAAAAAAAAAA="],"parameters_json_decoded":[{"address":"CDL74RF5BLYR2YBLCCI7F5FB6TPSCLKEJUBSD2RSVWZ4YHF3VMFAIGWA"},{"symbol":"plant"},{"address":"GCX7LOMYJM54CXJPNTDZPMFSTQTQJTR5XR4DKZXLSWJG3R4B7GOADWXZ"},{"i128":"0"}],"type":"invoke_contract","asset_balance_changes":[],"ledger_key_hash":["ab6d011fbe26c36d7a2bfda00feddeefe23777563b426945ca3b6a5b8e368385","cb6638600a2f7a9d34cc365cc325e7a2f8c2eb3d3057dcc3745c5870d64b3bd6","1ed1058e76ba6492bb686b40c6476b495c2b06aeec770cf81b57306ec82c17e7","3b1c752d97f13c2d390cc371b7f6935b951bb33b368d3d9e1f9dbe6375b1110a"],"contract_code_hash":null,"contract_id":"CDL74RF5BLYR2YBLCCI7F5FB6TPSCLKEJUBSD2RSVWZ4YHF3VMFAIGWA"},"description":"Operation-specific parsed details; the example is a decoded contract invocation with its address, method, arguments and touched ledger keys. May contain rounded legacy amounts; use typed transaction amounts for exact envelope-derived values."}},"required":["ledgerSequence","closedAt","sourceRecord","id","transactionId","transactionHash","sourceAccount","type","typeCode","details"]},"HubbleExplorerLiquidityPoolNotFound":{"type":"object","additionalProperties":false,"properties":{"entity":{"type":"string","enum":["liquidity-pools"]},"window":{"type":"object","additionalProperties":false,"properties":{"minLedger":{"type":"integer","minimum":1,"maximum":4294967295,"example":63491202},"maxLedger":{"type":"integer","minimum":1,"maximum":4294967295,"example":63491202}},"required":["minLedger","maxLedger"]},"coverage":{"$ref":"#/components/schemas/HubbleLedgerCoverage"},"coverageStatus":{"type":"string","enum":["complete","partial_or_unknown"],"example":"partial_or_unknown","description":"Complete only when every ledger in the selected window lies inside a completed manifest interval, including supplemental intervals. The global coverage can still contain gaps outside that window."},"source":{"type":"string","enum":["stellar_hubble"]},"semantics":{"type":"string","example":"Historical observations in the selected ledger window; not current-chain state."},"record":{"type":"object","nullable":true,"enum":[null]},"code":{"type":"string"},"error":{"type":"string"}},"required":["entity","window","coverage","coverageStatus","source","semantics","record","code","error"]},"HubbleExplorerLiquidityPoolDetail":{"type":"object","additionalProperties":false,"properties":{"entity":{"type":"string","enum":["liquidity-pools"]},"window":{"type":"object","additionalProperties":false,"properties":{"minLedger":{"type":"integer","minimum":1,"maximum":4294967295,"example":63491202},"maxLedger":{"type":"integer","minimum":1,"maximum":4294967295,"example":63491202}},"required":["minLedger","maxLedger"]},"coverage":{"$ref":"#/components/schemas/HubbleLedgerCoverage"},"coverageStatus":{"type":"string","enum":["complete","partial_or_unknown"],"example":"partial_or_unknown","description":"Complete only when every ledger in the selected window lies inside a completed manifest interval, including supplemental intervals. The global coverage can still contain gaps outside that window."},"source":{"type":"string","enum":["stellar_hubble"]},"semantics":{"type":"string","example":"Historical observations in the selected ledger window; not current-chain state."},"record":{"$ref":"#/components/schemas/HubbleExplorerLiquidityPool"}},"required":["entity","window","coverage","coverageStatus","source","semantics","record"]},"HubbleExplorerLiquidityPool":{"type":"object","additionalProperties":false,"properties":{"ledgerSequence":{"type":"integer","minimum":1,"maximum":4294967295,"example":63490364},"closedAt":{"type":"string","format":"date-time","example":"2026-07-15T16:43:50.000Z"},"sourceRecord":{"type":"object","additionalProperties":false,"properties":{"batchId":{"type":"string","format":"uuid","example":"3dca0dce-5e01-4620-a95b-e95ce4a58323"},"digest":{"type":"string","pattern":"^[0-9a-f]{64}$","example":"78dadc18671e087b3e9169c34601c932d5215aafc1d14ae7ec81e9bf0ddc2426"},"rowNumber":{"type":"string","pattern":"^[0-9]+$","example":"128947","description":"Exact decimal identifier; keep as a string, never a JavaScript number."}},"required":["batchId","digest","rowNumber"],"description":"Provenance of this parsed row in a completed batch with matching digest."},"id":{"type":"string","pattern":"^[0-9a-f]{64}$"},"poolAddress":{"type":"string","pattern":"^L[A-Z2-7]{55}$"},"type":{"type":"string","nullable":true},"assetA":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","pattern":"^(native|[A-Za-z0-9]{1,12}:G[A-Z2-7]{55})$","example":"USDC:GBVVYDFLEBUNSWBHNJS3RSLLJTMJ46PJXTTMA3V6YJ4KDRMAEJIDUSDC"},"type":{"type":"string","example":"credit_alphanum4"},"code":{"type":"string","nullable":true,"maxLength":12,"example":"USDC","description":"Null for native XLM."},"issuer":{"type":"string","pattern":"^G[A-Z2-7]{55}$","example":"GBVVYDFLEBUNSWBHNJS3RSLLJTMJ46PJXTTMA3V6YJ4KDRMAEJIDUSDC","nullable":true,"description":"Null for native XLM."}},"required":["id","type","code","issuer"],"description":"An asset identity observed in the selected history window, not a current registry or holder snapshot.","example":{"id":"USDC:GBVVYDFLEBUNSWBHNJS3RSLLJTMJ46PJXTTMA3V6YJ4KDRMAEJIDUSDC","type":"credit_alphanum4","code":"USDC","issuer":"GBVVYDFLEBUNSWBHNJS3RSLLJTMJ46PJXTTMA3V6YJ4KDRMAEJIDUSDC"},"nullable":true},"assetB":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","pattern":"^(native|[A-Za-z0-9]{1,12}:G[A-Z2-7]{55})$","example":"USDC:GBVVYDFLEBUNSWBHNJS3RSLLJTMJ46PJXTTMA3V6YJ4KDRMAEJIDUSDC"},"type":{"type":"string","example":"credit_alphanum4"},"code":{"type":"string","nullable":true,"maxLength":12,"example":"USDC","description":"Null for native XLM."},"issuer":{"type":"string","pattern":"^G[A-Z2-7]{55}$","example":"GBVVYDFLEBUNSWBHNJS3RSLLJTMJ46PJXTTMA3V6YJ4KDRMAEJIDUSDC","nullable":true,"description":"Null for native XLM."}},"required":["id","type","code","issuer"],"description":"An asset identity observed in the selected history window, not a current registry or holder snapshot.","example":{"id":"USDC:GBVVYDFLEBUNSWBHNJS3RSLLJTMJ46PJXTTMA3V6YJ4KDRMAEJIDUSDC","type":"credit_alphanum4","code":"USDC","issuer":"GBVVYDFLEBUNSWBHNJS3RSLLJTMJ46PJXTTMA3V6YJ4KDRMAEJIDUSDC"},"nullable":true},"reserveA":{"type":"string","nullable":true},"reserveB":{"type":"string","nullable":true},"shares":{"type":"string","nullable":true},"feeBasisPoints":{"type":"integer","nullable":true},"trustlineCount":{"type":"string","pattern":"^[0-9]+$","example":"123","description":"Exact decimal identifier; keep as a string, never a JavaScript number.","nullable":true},"amountPrecision":{"type":"string","enum":["source_float64"],"description":"Source ETL amount was Float64. String serialization does not recover lost precision; not exact atomic units."},"deleted":{"type":"boolean"},"lastModifiedLedger":{"type":"integer","minimum":1,"maximum":4294967295,"example":63490364}},"required":["ledgerSequence","closedAt","sourceRecord","id","poolAddress","type","assetA","assetB","reserveA","reserveB","shares","feeBasisPoints","trustlineCount","amountPrecision","deleted","lastModifiedLedger"],"description":"One historical native pool change. State values are null on removal; not current reserves. sourceRecord identifies the completed source batch and exact row.","example":{"id":"f82c4083862934876ec3c9f67fa60521da6a0d83789fa3123bd8dc1d268c03b6","poolAddress":"LD4CYQEDQYUTJB3OYPE7M75GAUQ5U2QNQN4J7IYSHPMNYHJGRQB3MQZG","type":"constant_product","assetA":{"id":"native","type":"native","code":null,"issuer":null},"assetB":{"id":"224:GBN42AP5SK3IPTEJ2KAY7DLCAH6YQSMI3H6CCZLWW7KIJCYJ3X57JZ6R","type":"credit_alphanum4","code":"224","issuer":"GBN42AP5SK3IPTEJ2KAY7DLCAH6YQSMI3H6CCZLWW7KIJCYJ3X57JZ6R"},"reserveA":"1635.3635675","reserveB":"3259.9386692","shares":"83.8077031","feeBasisPoints":30,"trustlineCount":"4","amountPrecision":"source_float64","deleted":false,"lastModifiedLedger":63491202,"ledgerSequence":63491202,"closedAt":"2026-07-15T18:05:02.000Z","sourceRecord":{"batchId":"3dca0dce-5e01-4620-a95b-e95ce4a58323","digest":"78dadc18671e087b3e9169c34601c932d5215aafc1d14ae7ec81e9bf0ddc2426","rowNumber":"30979"}}},"HubbleExplorerLiquidityPoolPage":{"type":"object","additionalProperties":false,"properties":{"entity":{"type":"string","enum":["liquidity-pools"]},"window":{"type":"object","additionalProperties":false,"properties":{"minLedger":{"type":"integer","minimum":1,"maximum":4294967295,"example":63491202},"maxLedger":{"type":"integer","minimum":1,"maximum":4294967295,"example":63491202}},"required":["minLedger","maxLedger"]},"coverage":{"$ref":"#/components/schemas/HubbleLedgerCoverage"},"coverageStatus":{"type":"string","enum":["complete","partial_or_unknown"],"example":"partial_or_unknown","description":"Complete only when every ledger in the selected window lies inside a completed manifest interval, including supplemental intervals. The global coverage can still contain gaps outside that window."},"source":{"type":"string","enum":["stellar_hubble"]},"semantics":{"type":"string","example":"Historical observations in the selected ledger window; not current-chain state."},"rows":{"type":"array","items":{"$ref":"#/components/schemas/HubbleExplorerLiquidityPool"}},"limit":{"type":"integer","minimum":1,"maximum":100,"example":10},"offset":{"type":"integer","minimum":0,"maximum":10000,"example":0},"nextOffset":{"type":"integer","nullable":true,"example":null,"description":"Follow with unchanged filters; null ends results. Offsets above 10000 are rejected: narrow the ledger window to continue. Not a frozen snapshot under backfill."}},"required":["entity","window","coverage","coverageStatus","source","semantics","rows","limit","offset","nextOffset"]},"HubbleAccountBalancePage":{"type":"object","additionalProperties":false,"properties":{"coverage":{"$ref":"#/components/schemas/HubbleLedgerCoverage"},"watermark":{"type":"object","additionalProperties":false,"properties":{"mode":{"type":"string","enum":["latest-ingested-observations"]},"catalogGeneratedAt":{"type":"string","format":"date-time"},"catalogMaximumLedger":{"type":"string","nullable":true,"description":"Maximum parsed ledger known to the cached catalog, not a bound pinned to this query."},"snapshotPinned":{"type":"boolean","enum":[false],"description":"Balances and catalog coverage are not an atomic snapshot. Pages may change during ingestion."},"selectedLedger":{"type":"string","nullable":true,"description":"Requested as_of_ledger upper bound; null means latest ingested observations. Individual holder rows can have an earlier ledger_sequence."},"coverageStatus":{"type":"string","enum":["complete","partial_or_unknown"],"description":"Complete only when published ledger history is continuous from the ledger-2 baseline through the selected ledger; otherwise the holder set may be partial."},"indexStatus":{"type":"string","enum":["ready","building","historical-query"],"description":"Read-model state for the optional indexed holder summary."},"balancePrecision":{"type":"string","enum":["source-float64"],"description":"Balances preserve the warehouse source Float64 precision and are not exact atomic-unit values."}},"required":["mode","catalogGeneratedAt","catalogMaximumLedger","snapshotPinned","selectedLedger","coverageStatus","indexStatus","balancePrecision"]},"account":{"type":"string"},"balanceScope":{"type":"string","enum":["native-and-issued"]},"balances":{"type":"array","items":{"$ref":"#/components/schemas/HubbleAccountBalance"}},"elapsedMilliseconds":{"type":"number"},"limit":{"type":"integer"},"nextCursor":{"type":"string","nullable":true,"description":"Opaque account-scoped keyset cursor. Pass unchanged as after; null ends the result. Native precedes issued assets sorted by code and issuer."}},"required":["coverage","watermark","account","balanceScope","balances","elapsedMilliseconds","limit","nextCursor"]},"HubbleAccountBalance":{"type":"object","additionalProperties":false,"properties":{"asset":{"type":"string"},"assetType":{"type":"string","enum":["native","credit_alphanum4","credit_alphanum12"]},"assetCode":{"type":"string","nullable":true},"assetIssuer":{"type":"string","nullable":true},"balance":{"type":"number","description":"Official Stellar ETL Float64 observation in asset units, not an exact decimal or atomic-unit amount."},"balanceRaw":{"type":"string","nullable":true,"enum":[null],"description":"Unavailable in these parsed source tables; never reconstructed from Float64."},"amountPrecision":{"type":"string","enum":["float64-observation"]},"buyingLiabilities":{"type":"number"},"sellingLiabilities":{"type":"number"},"trustLineLimitRaw":{"type":"string","nullable":true,"pattern":"^[0-9]+$","description":"Exact signed64 source limit as a decimal integer string (atomic units), null for native."},"flags":{"type":"integer"},"lastModifiedLedger":{"type":"integer"},"observedLedger":{"type":"integer"}},"required":["asset","assetType","assetCode","assetIssuer","balance","balanceRaw","amountPrecision","buyingLiabilities","sellingLiabilities","trustLineLimitRaw","flags","lastModifiedLedger","observedLedger"]},"HubbleTransferPage":{"type":"object","additionalProperties":false,"required":["transfers","limit","nextCursor","watermark","elapsedMilliseconds"],"properties":{"transfers":{"type":"array","items":{"$ref":"#/components/schemas/HubbleTransfer"}},"limit":{"type":"integer","minimum":1,"maximum":200},"nextCursor":{"type":"string","nullable":true},"elapsedMilliseconds":{"type":"number"},"watermark":{"type":"object","additionalProperties":false,"required":["minimumLedger","maximumLedger","observedAt","coverage"],"properties":{"minimumLedger":{"type":"integer"},"maximumLedger":{"type":"integer"},"observedAt":{"type":"string","format":"date-time"},"coverage":{"type":"string","enum":["ingested-only"]}}}}},"HubbleTransfer":{"type":"object","additionalProperties":false,"required":["id","ledgerSequence","closedAt","transactionHash","transactionId","operationId","from","to","toMuxed","asset","contractId","eventTopic","amountRaw","amountScale"],"properties":{"id":{"type":"string"},"ledgerSequence":{"type":"integer"},"closedAt":{"type":"string","format":"date-time"},"transactionHash":{"type":"string"},"transactionId":{"type":"string"},"operationId":{"type":"string","nullable":true},"from":{"type":"string","nullable":true},"to":{"type":"string","nullable":true},"toMuxed":{"type":"string","nullable":true},"contractId":{"type":"string"},"eventTopic":{"type":"string"},"amountRaw":{"type":"string","pattern":"^-?[0-9]+$","description":"Exact observed signed i128 atomic units; never a floating-point amount or a guarantee of valid standard token execution."},"amountScale":{"type":"integer","nullable":true,"description":"7 for classic/native assets; null when a contract scale is not known."},"asset":{"type":"object","additionalProperties":false,"required":["id","type","code","issuer"],"properties":{"id":{"type":"string"},"type":{"type":"string"},"code":{"type":"string","nullable":true},"issuer":{"type":"string","nullable":true}}}}},"HubbleAssetRankingPage":{"type":"object","additionalProperties":false,"properties":{"asset":{"type":"string"},"data":{"type":"array","items":{"$ref":"#/components/schemas/HubbleAssetRankingRow"}},"limit":{"type":"integer","minimum":1,"maximum":200},"nextCursor":{"type":"string","nullable":true},"generatedAt":{"type":"string","format":"date-time"},"coverage":{"$ref":"#/components/schemas/HubbleLedgerCoverage"},"coverageStatus":{"type":"string","enum":["complete","partial_or_unknown"]},"amountPrecision":{"type":"string","enum":["source-float64"]},"marketTypes":{"type":"array","items":{"type":"string","enum":["classic_orderbook","native_amm"]}},"semantics":{"type":"string"}},"required":["asset","data","limit","nextCursor","generatedAt","coverage","coverageStatus","amountPrecision","marketTypes","semantics"]},"HubbleAssetRankingRow":{"type":"object","additionalProperties":false,"properties":{"account_id":{"type":"string"},"asset_volume":{"oneOf":[{"type":"string"},{"type":"number"}],"description":"Source ETL Float64 observation; not an exact decimal or atomic-unit amount."},"counter_volume":{"oneOf":[{"type":"string"},{"type":"number"}],"description":"Source ETL Float64 observation; not an exact decimal or atomic-unit amount.","nullable":true},"trade_count":{"oneOf":[{"type":"string","pattern":"^[1-9][0-9]*$"},{"type":"integer","minimum":1,"maximum":4294967295}]},"operation_count":{"oneOf":[{"type":"string","pattern":"^[1-9][0-9]*$"},{"type":"integer","minimum":1,"maximum":4294967295}]},"transaction_count":{"oneOf":[{"type":"string","pattern":"^[1-9][0-9]*$"},{"type":"integer","minimum":1,"maximum":4294967295}],"description":"Distinct trading transactions represented by matching trade observations; does not count every asset-transfer transaction."},"first_ledger":{"oneOf":[{"type":"string","pattern":"^[1-9][0-9]*$"},{"type":"integer","minimum":1,"maximum":4294967295}]},"last_ledger":{"oneOf":[{"type":"string","pattern":"^[1-9][0-9]*$"},{"type":"integer","minimum":1,"maximum":4294967295}]},"score":{"oneOf":[{"type":"string"},{"type":"number"}],"description":"Source ETL Float64 observation; not an exact decimal or atomic-unit amount."}},"required":["account_id","asset_volume","counter_volume","trade_count","operation_count","transaction_count","first_ledger","last_ledger","score"]},"HubbleAssetBalanceHistoryPage":{"type":"object","additionalProperties":false,"properties":{"asset":{"type":"string"},"data":{"type":"array","items":{"$ref":"#/components/schemas/HubbleAssetBalanceHistoryRow"}},"limit":{"type":"integer","minimum":1,"maximum":200},"nextCursor":{"type":"string","nullable":true},"generatedAt":{"type":"string","format":"date-time"},"coverage":{"$ref":"#/components/schemas/HubbleLedgerCoverage"},"coverageStatus":{"type":"string","enum":["complete","partial_or_unknown"]},"amountPrecision":{"type":"string","enum":["source-float64"]},"semantics":{"type":"string"}},"required":["asset","data","limit","nextCursor","generatedAt","coverage","coverageStatus","amountPrecision","semantics"]},"HubbleAssetBalanceHistoryRow":{"type":"object","additionalProperties":false,"properties":{"ledger":{"oneOf":[{"type":"string","pattern":"^[1-9][0-9]*$"},{"type":"integer","minimum":1,"maximum":4294967295}]},"account_id":{"type":"string"},"balance":{"oneOf":[{"type":"string"},{"type":"number"}],"description":"Source ETL Float64 observation; not an exact decimal or atomic-unit amount."},"buying_liabilities":{"oneOf":[{"type":"string"},{"type":"number"}],"description":"Source ETL Float64 observation; not an exact decimal or atomic-unit amount."},"selling_liabilities":{"oneOf":[{"type":"string"},{"type":"number"}],"description":"Source ETL Float64 observation; not an exact decimal or atomic-unit amount."},"trust_line_limit":{"oneOf":[{"type":"string"},{"type":"number"}],"description":"Source ETL Float64 observation; not an exact decimal or atomic-unit amount.","nullable":true},"flags":{"oneOf":[{"type":"string","pattern":"^[1-9][0-9]*$"},{"type":"integer","minimum":1,"maximum":4294967295}]},"sponsor":{"type":"string","nullable":true},"last_modified_ledger":{"oneOf":[{"type":"string","pattern":"^[1-9][0-9]*$"},{"type":"integer","minimum":1,"maximum":4294967295}]},"deleted":{"type":"boolean"},"source_row_number":{"oneOf":[{"type":"string","pattern":"^[1-9][0-9]*$"},{"type":"integer","minimum":1,"maximum":4294967295}]},"source_ingested_at":{"type":"string"},"source_batch_id":{"oneOf":[{"type":"string","pattern":"^[1-9][0-9]*$"},{"type":"integer","minimum":1,"maximum":4294967295}]},"source_sha256":{"type":"string"},"ledger_closed_at":{"type":"string","format":"date-time"}}},"HubbleHolderNotFound":{"type":"object","additionalProperties":false,"properties":{"coverage":{"$ref":"#/components/schemas/HubbleLedgerCoverage"},"watermark":{"type":"object","additionalProperties":false,"properties":{"mode":{"type":"string","enum":["latest-ingested-observations"]},"catalogGeneratedAt":{"type":"string","format":"date-time"},"catalogMaximumLedger":{"type":"string","nullable":true,"description":"Maximum parsed ledger known to the cached catalog, not a bound pinned to this query."},"snapshotPinned":{"type":"boolean","enum":[false],"description":"Balances and catalog coverage are not an atomic snapshot. Pages may change during ingestion."},"selectedLedger":{"type":"string","nullable":true,"description":"Requested as_of_ledger upper bound; null means latest ingested observations. Individual holder rows can have an earlier ledger_sequence."},"coverageStatus":{"type":"string","enum":["complete","partial_or_unknown"],"description":"Complete only when published ledger history is continuous from the ledger-2 baseline through the selected ledger; otherwise the holder set may be partial."},"indexStatus":{"type":"string","enum":["ready","building","historical-query"],"description":"Read-model state for the optional indexed holder summary."},"balancePrecision":{"type":"string","enum":["source-float64"],"description":"Balances preserve the warehouse source Float64 precision and are not exact atomic-unit values."}},"required":["mode","catalogGeneratedAt","catalogMaximumLedger","snapshotPinned","selectedLedger","coverageStatus","indexStatus","balancePrecision"]},"asset":{"type":"string"},"code":{"type":"string","enum":["hubble_record_not_found"]},"error":{"type":"string"}},"required":["coverage","watermark","asset","code","error"]},"HubbleHolderDetail":{"type":"object","additionalProperties":false,"properties":{"coverage":{"$ref":"#/components/schemas/HubbleLedgerCoverage"},"watermark":{"type":"object","additionalProperties":false,"properties":{"mode":{"type":"string","enum":["latest-ingested-observations"]},"catalogGeneratedAt":{"type":"string","format":"date-time"},"catalogMaximumLedger":{"type":"string","nullable":true,"description":"Maximum parsed ledger known to the cached catalog, not a bound pinned to this query."},"snapshotPinned":{"type":"boolean","enum":[false],"description":"Balances and catalog coverage are not an atomic snapshot. Pages may change during ingestion."},"selectedLedger":{"type":"string","nullable":true,"description":"Requested as_of_ledger upper bound; null means latest ingested observations. Individual holder rows can have an earlier ledger_sequence."},"coverageStatus":{"type":"string","enum":["complete","partial_or_unknown"],"description":"Complete only when published ledger history is continuous from the ledger-2 baseline through the selected ledger; otherwise the holder set may be partial."},"indexStatus":{"type":"string","enum":["ready","building","historical-query"],"description":"Read-model state for the optional indexed holder summary."},"balancePrecision":{"type":"string","enum":["source-float64"],"description":"Balances preserve the warehouse source Float64 precision and are not exact atomic-unit values."}},"required":["mode","catalogGeneratedAt","catalogMaximumLedger","snapshotPinned","selectedLedger","coverageStatus","indexStatus","balancePrecision"]},"asset":{"type":"string"},"holder":{"$ref":"#/components/schemas/HubbleHolder"}},"required":["coverage","watermark","asset","holder"]},"HubbleHolder":{"type":"object","additionalProperties":true,"properties":{"account_id":{"type":"string"},"balance":{"oneOf":[{"type":"string"},{"type":"number"}]},"buying_liabilities":{"oneOf":[{"type":"string"},{"type":"number"}]},"selling_liabilities":{"oneOf":[{"type":"string"},{"type":"number"}]},"last_modified_ledger":{"oneOf":[{"type":"string","pattern":"^[1-9][0-9]*$"},{"type":"integer","minimum":1,"maximum":4294967295}],"example":63490364},"ledger_sequence":{"oneOf":[{"type":"string","pattern":"^[1-9][0-9]*$"},{"type":"integer","minimum":1,"maximum":4294967295}],"example":63490364},"asset_code":{"type":"string"},"asset_issuer":{"type":"string"},"trust_line_limit":{"oneOf":[{"type":"string"},{"type":"number"}]},"flags":{"oneOf":[{"type":"string","pattern":"^-?[0-9]+$","example":"123"},{"type":"integer"}],"example":"272689036992143360"}}},"HubbleHolderPage":{"type":"object","additionalProperties":false,"properties":{"coverage":{"$ref":"#/components/schemas/HubbleLedgerCoverage"},"watermark":{"type":"object","additionalProperties":false,"properties":{"mode":{"type":"string","enum":["latest-ingested-observations"]},"catalogGeneratedAt":{"type":"string","format":"date-time"},"catalogMaximumLedger":{"type":"string","nullable":true,"description":"Maximum parsed ledger known to the cached catalog, not a bound pinned to this query."},"snapshotPinned":{"type":"boolean","enum":[false],"description":"Balances and catalog coverage are not an atomic snapshot. Pages may change during ingestion."},"selectedLedger":{"type":"string","nullable":true,"description":"Requested as_of_ledger upper bound; null means latest ingested observations. Individual holder rows can have an earlier ledger_sequence."},"coverageStatus":{"type":"string","enum":["complete","partial_or_unknown"],"description":"Complete only when published ledger history is continuous from the ledger-2 baseline through the selected ledger; otherwise the holder set may be partial."},"indexStatus":{"type":"string","enum":["ready","building","historical-query"],"description":"Read-model state for the optional indexed holder summary."},"balancePrecision":{"type":"string","enum":["source-float64"],"description":"Balances preserve the warehouse source Float64 precision and are not exact atomic-unit values."}},"required":["mode","catalogGeneratedAt","catalogMaximumLedger","snapshotPinned","selectedLedger","coverageStatus","indexStatus","balancePrecision"]},"asset":{"type":"string"},"elapsedMilliseconds":{"type":"number"},"holders":{"type":"array","items":{"$ref":"#/components/schemas/HubbleHolder"}},"indexedSummary":{"type":"object","additionalProperties":false,"properties":{"holderCount":{"type":"string","pattern":"^[0-9]+$","description":"Exact integer count of holders in the latest indexed positive-balance summary."},"balanceTotal":{"type":"number","description":"sourceFloat64 total of latest indexed positive balances; not current-chain total supply."}},"required":["holderCount","balanceTotal"]},"limit":{"type":"integer"},"nextCursor":{"type":"string","nullable":true,"description":"Pass as after with the same asset, sort, order, and as_of_ledger selection; null ends the result. The legacy default account/ascending cursor is an account ID; other selections use an opaque cursor."}},"required":["coverage","watermark","asset","elapsedMilliseconds","holders","indexedSummary","limit","nextCursor"]},"HubbleTypedContractEventPage":{"type":"object","additionalProperties":false,"properties":{"contractId":{"type":"string","pattern":"^C[A-Z2-7]{55}$","example":"CDL74RF5BLYR2YBLCCI7F5FB6TPSCLKEJUBSD2RSVWZ4YHF3VMFAIGWA"},"items":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string"},"transactionId":{"type":"string","pattern":"^-?[0-9]+$"},"transactionHash":{"type":"string"},"operationId":{"type":"string","nullable":true},"ledgerSequence":{"type":"integer","minimum":0},"closedAt":{"type":"string","format":"date-time"},"contractId":{"type":"string"},"type":{"type":"string"},"typeCode":{"type":"integer","minimum":0},"successful":{"type":"boolean"},"inSuccessfulContractCall":{"type":"boolean"},"topicsJson":{"type":"string"},"dataJson":{"type":"string"},"eventXdr":{"type":"string"},"classification":{"type":"object","additionalProperties":false,"properties":{"transactionKind":{"type":"string","enum":["classic","soroban","unknown"]},"eventKind":{"type":"string","enum":["fee","operation","contract","diagnostic","unknown"]},"sorobanExecutionEvidence":{"type":"boolean"},"provenance":{"type":"string","enum":["complete","missing","incomplete","mismatch"]}},"required":["transactionKind","eventKind","sorobanExecutionEvidence","provenance"]}},"required":["id","transactionId","transactionHash","operationId","ledgerSequence","closedAt","contractId","type","typeCode","successful","inSuccessfulContractCall","topicsJson","dataJson","eventXdr","classification"]}},"summary":{"type":"object","required":["total","topics"],"properties":{"total":{"type":"string","pattern":"^[0-9]+$"},"topics":{"type":"array","maxItems":128,"items":{"type":"object","additionalProperties":false,"properties":{"topic":{"type":"string"},"count":{"type":"string","pattern":"^[0-9]+$"}},"required":["topic","count"]}}}},"limit":{"type":"integer","minimum":1,"maximum":200},"nextCursor":{"type":"string","nullable":true},"watermark":{"type":"object","additionalProperties":false,"properties":{"minimumLedger":{"type":"integer","minimum":0},"maximumLedger":{"type":"integer","minimum":0},"observedAt":{"type":"string","format":"date-time"},"coverage":{"type":"string","enum":["ingested-only"]}},"required":["minimumLedger","maximumLedger","observedAt","coverage"]},"coverage":{"type":"object","additionalProperties":false,"properties":{"contiguousFirstLedger":{"type":"string","pattern":"^[0-9]+$","example":"2","nullable":true},"contiguousLastLedger":{"type":"string","pattern":"^[0-9]+$","example":"63489999","nullable":true},"contiguousLedgerCount":{"type":"string","pattern":"^[0-9]+$","example":"63489998"},"supplementalLedgerCount":{"type":"string","pattern":"^[0-9]+$","example":"64"},"totalLedgerCount":{"type":"string","pattern":"^[0-9]+$","example":"63490062"},"nextLedger":{"type":"string","pattern":"^[0-9]+$","example":"63490000"},"minimumLedger":{"type":"string","pattern":"^[0-9]+$","example":"2","nullable":true},"maximumLedger":{"type":"string","pattern":"^[0-9]+$","example":"63490367","nullable":true},"gapCount":{"type":"integer","minimum":0,"example":1},"completedRanges":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"firstLedger":{"type":"string","pattern":"^[0-9]+$","example":"63490304"},"lastLedger":{"type":"string","pattern":"^[0-9]+$","example":"63490367"}},"required":["firstLedger","lastLedger"]},"description":"Disjoint merged completed manifest intervals, including supplemental imports. An interval does not imply the earlier historical gap is ingested."}},"required":["contiguousFirstLedger","contiguousLastLedger","contiguousLedgerCount","supplementalLedgerCount","totalLedgerCount","nextLedger","minimumLedger","maximumLedger","gapCount"],"description":"Representative response shape and values, not a current coverage or availability report. Counts are distinct ingested ledgers, not rows or checkpoints. The sample deliberately contains one gap.","example":{"completedRanges":[{"firstLedger":"2","lastLedger":"63489999"},{"firstLedger":"63490304","lastLedger":"63490367"}],"contiguousFirstLedger":"2","contiguousLastLedger":"63489999","contiguousLedgerCount":"63489998","supplementalLedgerCount":"64","totalLedgerCount":"63490062","nextLedger":"63490000","minimumLedger":"2","maximumLedger":"63490367","gapCount":1}},"elapsedMilliseconds":{"type":"number","minimum":0}},"required":["contractId","items","limit","nextCursor","watermark","coverage","elapsedMilliseconds"]},"HubbleContractEventPage":{"type":"object","additionalProperties":false,"properties":{"columns":{"type":"array","items":{"type":"string"}},"dataset":{"type":"string","enum":["history_contract_events"]},"elapsedMilliseconds":{"type":"number","minimum":0},"limit":{"type":"integer","minimum":1,"maximum":200},"offset":{"type":"integer","minimum":0},"nextOffset":{"type":"integer","nullable":true,"description":"Use this offset with unchanged filters; null ends the result. Offset pages can change during backfill."},"rows":{"type":"array","items":{"$ref":"#/components/schemas/HubbleContractEventRecord"}}},"required":["columns","dataset","elapsedMilliseconds","limit","offset","nextOffset","rows"]},"HubbleContractEventRecord":{"type":"object","additionalProperties":true,"properties":{"transaction_hash":{"type":"string"},"transaction_id":{"oneOf":[{"type":"string","pattern":"^-?[0-9]+$","example":"123"},{"type":"integer"}],"example":"272689036992143360"},"ledger_sequence":{"oneOf":[{"type":"string","pattern":"^[1-9][0-9]*$"},{"type":"integer","minimum":1,"maximum":4294967295}],"example":63490364},"contract_id":{"type":"string"},"type":{"type":"integer"},"topics_decoded":{"type":"array","items":{}},"data_decoded":{},"event_xdr":{"type":"string"},"classification":{"type":"object","additionalProperties":false,"properties":{"transactionKind":{"type":"string","enum":["classic","soroban","unknown"]},"eventKind":{"type":"string","enum":["fee","operation","contract","diagnostic","unknown"]},"sorobanExecutionEvidence":{"type":"boolean"},"provenance":{"type":"string","enum":["complete","missing","incomplete","mismatch"]}},"required":["transactionKind","eventKind","sorobanExecutionEvidence","provenance"]}}},"HubbleLegacyTransferPage":{"type":"object","additionalProperties":false,"properties":{"columns":{"type":"array","items":{"type":"string"}},"dataset":{"type":"string","enum":["token_transfers"]},"elapsedMilliseconds":{"type":"number","minimum":0},"limit":{"type":"integer","minimum":1,"maximum":200},"offset":{"type":"integer","minimum":0},"nextOffset":{"type":"integer","nullable":true,"description":"Use this offset with unchanged filters; null ends the result. Offset pages can change during backfill."},"rows":{"type":"array","items":{"$ref":"#/components/schemas/HubbleTransferRecord"}}},"required":["columns","dataset","elapsedMilliseconds","limit","offset","nextOffset","rows"]},"HubbleTransferRecord":{"type":"object","additionalProperties":true,"properties":{"transaction_hash":{"type":"string"},"ledger_sequence":{"oneOf":[{"type":"string","pattern":"^[1-9][0-9]*$"},{"type":"integer","minimum":1,"maximum":4294967295}],"example":63490364},"from":{"type":"string","nullable":true},"to":{"type":"string","nullable":true},"asset":{"type":"string"},"asset_type":{"type":"string"},"amount_raw":{"type":"string","pattern":"^-?[0-9]+$","example":"123"},"event_topic":{"type":"string"},"closed_at":{"type":"string","description":"ETL UTC timestamp; legacy rows can use a space separator without a timezone suffix."}}},"HubbleAccountTransactionPage":{"type":"object","additionalProperties":false,"properties":{"elapsedMilliseconds":{"type":"number","minimum":0},"limit":{"type":"integer","minimum":1,"maximum":200},"offset":{"type":"integer","minimum":0},"nextOffset":{"type":"integer","nullable":true,"description":"Use this offset with unchanged filters; null ends the result. Offset pages can change during backfill."},"rows":{"type":"array","items":{"$ref":"#/components/schemas/HubbleAccountTransaction"}}},"required":["elapsedMilliseconds","limit","offset","nextOffset","rows"]},"HubbleAccountTransaction":{"type":"object","additionalProperties":true,"properties":{"transaction_id":{"type":"string","pattern":"^-?[0-9]+$","example":"123"},"transaction_hash":{"type":"string"},"relationship":{"type":"string","enum":["source","effect"]},"ledger_sequence":{"oneOf":[{"type":"string","pattern":"^[1-9][0-9]*$"},{"type":"integer","minimum":1,"maximum":4294967295}],"example":63490364},"account":{"type":"string"},"successful":{"type":"boolean"},"closed_at":{"type":"string","description":"ETL UTC timestamp; legacy rows can use a space separator without a timezone suffix."}}},"HubbleContractStatePage":{"type":"object","additionalProperties":false,"properties":{"columns":{"type":"array","items":{"type":"string"}},"dataset":{"type":"string","enum":["contract_data"]},"elapsedMilliseconds":{"type":"number","minimum":0},"limit":{"type":"integer","minimum":1,"maximum":200},"offset":{"type":"integer","minimum":0},"nextOffset":{"type":"integer","nullable":true,"description":"Use this offset with unchanged filters; null ends the result. Offset pages can change during backfill."},"rows":{"type":"array","items":{"$ref":"#/components/schemas/HubbleContractStateRecord"}}},"required":["columns","dataset","elapsedMilliseconds","limit","offset","nextOffset","rows"]},"HubbleContractStateRecord":{"type":"object","additionalProperties":true,"properties":{"contract_id":{"type":"string"},"ledger_sequence":{"oneOf":[{"type":"string","pattern":"^[1-9][0-9]*$"},{"type":"integer","minimum":1,"maximum":4294967295}],"example":63490364},"ledger_key_hash":{"type":"string"},"contract_durability":{"type":"string"},"deleted":{"type":"boolean"},"key_decoded":{},"val_decoded":{},"closed_at":{"type":"string","description":"ETL UTC timestamp; legacy rows can use a space separator without a timezone suffix."}}},"HubbleExplorerTradePage":{"type":"object","additionalProperties":false,"properties":{"entity":{"type":"string","enum":["trades"]},"window":{"type":"object","additionalProperties":false,"properties":{"minLedger":{"type":"integer","minimum":1,"maximum":4294967295,"example":63490364},"maxLedger":{"type":"integer","minimum":1,"maximum":4294967295,"example":63490364}},"required":["minLedger","maxLedger"]},"coverage":{"$ref":"#/components/schemas/HubbleLedgerCoverage"},"coverageStatus":{"type":"string","enum":["complete","partial_or_unknown"],"example":"partial_or_unknown","description":"Complete only when every ledger in the selected window lies inside a completed manifest interval, including supplemental intervals. The global coverage can still contain gaps outside that window."},"source":{"type":"string","enum":["stellar_hubble"]},"semantics":{"type":"string","example":"Historical observations in the selected ledger window; not current-chain state."},"rows":{"type":"array","items":{"$ref":"#/components/schemas/HubbleExplorerTrade"}},"limit":{"type":"integer","minimum":1,"maximum":100,"example":10},"offset":{"type":"integer","minimum":0,"maximum":10000,"example":0},"nextOffset":{"type":"integer","nullable":true,"example":null,"description":"Follow with unchanged filters; null ends results. Offsets above 10000 are rejected: narrow the ledger window to continue. Not a frozen snapshot under backfill."}},"required":["entity","window","coverage","coverageStatus","source","semantics","rows","limit","offset","nextOffset"]},"HubbleLegacyTradePage":{"type":"object","additionalProperties":false,"properties":{"columns":{"type":"array","items":{"type":"string"}},"dataset":{"type":"string","enum":["history_trades"]},"elapsedMilliseconds":{"type":"number","minimum":0},"limit":{"type":"integer","minimum":1,"maximum":200},"offset":{"type":"integer","minimum":0},"nextOffset":{"type":"integer","nullable":true,"description":"Use this offset with unchanged filters; null ends the result. Offset pages can change during backfill."},"rows":{"type":"array","items":{"$ref":"#/components/schemas/HubbleTradeRecord"}}},"required":["columns","dataset","elapsedMilliseconds","limit","offset","nextOffset","rows"]},"HubbleTradeRecord":{"type":"object","additionalProperties":true,"properties":{"history_operation_id":{"oneOf":[{"type":"string","pattern":"^-?[0-9]+$","example":"123"},{"type":"integer"}],"example":"272689036992143360"},"order":{"type":"integer"},"selling_account_address":{"type":"string","nullable":true},"buying_account_address":{"type":"string","nullable":true},"selling_amount":{"oneOf":[{"type":"string"},{"type":"number"}],"description":"Legacy Float64 amount; not an exact atomic-unit value."},"buying_amount":{"oneOf":[{"type":"string"},{"type":"number"}]},"price_n":{"oneOf":[{"type":"string","pattern":"^-?[0-9]+$","example":"123"},{"type":"integer"}],"example":"272689036992143360"},"price_d":{"oneOf":[{"type":"string","pattern":"^-?[0-9]+$","example":"123"},{"type":"integer"}],"example":"272689036992143360"},"ledger_closed_at":{"type":"string","description":"ETL UTC timestamp; legacy rows can use a space separator without a timezone suffix."}}},"HubbleEffectPage":{"type":"object","additionalProperties":false,"properties":{"columns":{"type":"array","items":{"type":"string"}},"dataset":{"type":"string","enum":["history_effects"]},"elapsedMilliseconds":{"type":"number","minimum":0},"limit":{"type":"integer","minimum":1,"maximum":200},"offset":{"type":"integer","minimum":0},"nextOffset":{"type":"integer","nullable":true,"description":"Use this offset with unchanged filters; null ends the result. Offset pages can change during backfill."},"rows":{"type":"array","items":{"$ref":"#/components/schemas/HubbleEffectRecord"}}},"required":["columns","dataset","elapsedMilliseconds","limit","offset","nextOffset","rows"]},"HubbleEffectRecord":{"type":"object","additionalProperties":true,"properties":{"id":{"type":"string"},"operation_id":{"oneOf":[{"type":"string","pattern":"^-?[0-9]+$","example":"123"},{"type":"integer"}],"example":"272689036992143360"},"ledger_sequence":{"oneOf":[{"type":"string","pattern":"^[1-9][0-9]*$"},{"type":"integer","minimum":1,"maximum":4294967295}],"example":63490364},"index":{"type":"integer"},"address":{"type":"string"},"type":{"type":"integer"},"type_string":{"type":"string"},"details":{},"closed_at":{"type":"string","description":"ETL UTC timestamp; legacy rows can use a space separator without a timezone suffix."}}},"HubbleExplorerOperationNotFound":{"type":"object","additionalProperties":false,"properties":{"entity":{"type":"string","enum":["operations"]},"window":{"type":"object","additionalProperties":false,"properties":{"minLedger":{"type":"integer","minimum":1,"maximum":4294967295,"example":63490364},"maxLedger":{"type":"integer","minimum":1,"maximum":4294967295,"example":63490364}},"required":["minLedger","maxLedger"]},"coverage":{"$ref":"#/components/schemas/HubbleLedgerCoverage"},"coverageStatus":{"type":"string","enum":["complete","partial_or_unknown"],"example":"partial_or_unknown","description":"Complete only when every ledger in the selected window lies inside a completed manifest interval, including supplemental intervals. The global coverage can still contain gaps outside that window."},"source":{"type":"string","enum":["stellar_hubble"]},"semantics":{"type":"string","example":"Historical observations in the selected ledger window; not current-chain state."},"record":{"type":"object","nullable":true,"enum":[null]},"code":{"type":"string"},"error":{"type":"string"}},"required":["entity","window","coverage","coverageStatus","source","semantics","record","code","error"]},"HubbleExplorerOperationDetail":{"type":"object","additionalProperties":false,"properties":{"entity":{"type":"string","enum":["operations"]},"window":{"type":"object","additionalProperties":false,"properties":{"minLedger":{"type":"integer","minimum":1,"maximum":4294967295,"example":63490364},"maxLedger":{"type":"integer","minimum":1,"maximum":4294967295,"example":63490364}},"required":["minLedger","maxLedger"]},"coverage":{"$ref":"#/components/schemas/HubbleLedgerCoverage"},"coverageStatus":{"type":"string","enum":["complete","partial_or_unknown"],"example":"partial_or_unknown","description":"Complete only when every ledger in the selected window lies inside a completed manifest interval, including supplemental intervals. The global coverage can still contain gaps outside that window."},"source":{"type":"string","enum":["stellar_hubble"]},"semantics":{"type":"string","example":"Historical observations in the selected ledger window; not current-chain state."},"record":{"$ref":"#/components/schemas/HubbleExplorerOperation"}},"required":["entity","window","coverage","coverageStatus","source","semantics","record"]},"HubbleOperationDetail":{"type":"object","additionalProperties":false,"properties":{"operation":{"$ref":"#/components/schemas/HubbleOperationRecord"},"transaction":{"$ref":"#/components/schemas/HubbleTransactionRecord","nullable":true},"effects":{"type":"array","items":{"$ref":"#/components/schemas/HubbleEffectRecord"}}},"required":["operation","transaction","effects"]},"HubbleTransactionRecord":{"type":"object","additionalProperties":true,"properties":{"id":{"oneOf":[{"type":"string","pattern":"^-?[0-9]+$","example":"123"},{"type":"integer"}],"example":"272689036992143360"},"transaction_hash":{"type":"string"},"ledger_sequence":{"oneOf":[{"type":"string","pattern":"^[1-9][0-9]*$"},{"type":"integer","minimum":1,"maximum":4294967295}],"example":63490364},"account":{"type":"string"},"account_sequence":{"oneOf":[{"type":"string","pattern":"^-?[0-9]+$","example":"123"},{"type":"integer"}],"example":"272689036992143360"},"successful":{"type":"boolean"},"operation_count":{"oneOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"integer","minimum":0}],"example":2},"closed_at":{"type":"string","description":"ETL UTC timestamp; legacy rows can use a space separator without a timezone suffix."}}},"HubbleOperationRecord":{"type":"object","additionalProperties":true,"properties":{"id":{"oneOf":[{"type":"string","pattern":"^-?[0-9]+$","example":"123"},{"type":"integer"}],"example":"272689036992143360"},"transaction_id":{"oneOf":[{"type":"string","pattern":"^-?[0-9]+$","example":"123"},{"type":"integer"}],"example":"272689036992143360"},"ledger_sequence":{"oneOf":[{"type":"string","pattern":"^[1-9][0-9]*$"},{"type":"integer","minimum":1,"maximum":4294967295}],"example":63490364},"source_account":{"type":"string"},"type":{"type":"integer"},"type_string":{"type":"string"},"details":{},"closed_at":{"type":"string","description":"ETL UTC timestamp; legacy rows can use a space separator without a timezone suffix."}}},"HubbleLedgerTransactionPage":{"type":"object","additionalProperties":false,"properties":{"columns":{"type":"array","items":{"type":"string"}},"dataset":{"type":"string","enum":["history_transactions"]},"elapsedMilliseconds":{"type":"number","minimum":0},"limit":{"type":"integer","minimum":1,"maximum":200},"offset":{"type":"integer","minimum":0},"nextOffset":{"type":"integer","nullable":true,"description":"Use this offset with unchanged filters; null ends the result. Offset pages can change during backfill."},"rows":{"type":"array","items":{"$ref":"#/components/schemas/HubbleTransactionRecord"}}},"required":["columns","dataset","elapsedMilliseconds","limit","offset","nextOffset","rows"]},"HubbleLedgerDetail":{"type":"object","additionalProperties":false,"properties":{"ledger":{"$ref":"#/components/schemas/HubbleLedgerRecord"}},"required":["ledger"]},"HubbleLedgerRecord":{"type":"object","additionalProperties":true,"properties":{"sequence":{"oneOf":[{"type":"string","pattern":"^[1-9][0-9]*$"},{"type":"integer","minimum":1,"maximum":4294967295}],"example":63490364},"ledger_hash":{"type":"string","pattern":"^[0-9a-f]{64}$"},"previous_ledger_hash":{"type":"string","pattern":"^[0-9a-f]{64}$"},"closed_at":{"type":"string","description":"ETL UTC timestamp; legacy rows can use a space separator without a timezone suffix."},"transaction_count":{"oneOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"integer","minimum":0}],"example":2},"operation_count":{"oneOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"integer","minimum":0}],"example":3}},"description":"Representative response shape and values, not a current coverage or availability report. Hashes in this example are placeholders, not a verified ledger-header pair.","example":{"sequence":63490364,"ledger_hash":"1111111111111111111111111111111111111111111111111111111111111111","previous_ledger_hash":"2222222222222222222222222222222222222222222222222222222222222222","closed_at":"2026-07-15 16:43:50","transaction_count":2,"operation_count":3}},"MarketCandlePage":{"type":"object","additionalProperties":false,"required":["base","quote","resolution","from","to","candles","source","venues","precision","generatedAt","asOf","coverage"],"properties":{"base":{"type":"string","example":"native","description":"native or exact CODE:ISSUER. Resolve SAC addresses through /v1/assets/{asset} first. Symbol-only identifiers are ambiguous."},"quote":{"type":"string","example":"native","description":"native or exact CODE:ISSUER. Resolve SAC addresses through /v1/assets/{asset} first. Symbol-only identifiers are ambiguous."},"resolution":{"type":"integer","enum":[60,300,900,3600,14400,86400]},"from":{"type":"integer","minimum":0,"maximum":4294967295},"to":{"type":"integer","minimum":0,"maximum":4294967295},"candles":{"type":"array","maxItems":200,"items":{"$ref":"#/components/schemas/MarketCandle"}},"source":{"type":"string","enum":["history_trades"]},"venues":{"type":"array","items":{"type":"string","enum":["classic-dex","native-amm"]}},"precision":{"type":"string","enum":["source_float64"]},"generatedAt":{"type":"string","format":"date-time"},"asOf":{"type":"integer","minimum":0,"maximum":4294967295,"nullable":true,"description":"Last included trade time; null when there are no trades. This is independent of response generation time."},"coverage":{"type":"object","additionalProperties":false,"required":["minLedger","maxLedger","firstSourceTime","lastSourceTime","ledgerRangeComplete","timeRangeComplete","status","emptyBuckets"],"properties":{"minLedger":{"type":"integer","minimum":2,"maximum":4294967295},"maxLedger":{"type":"integer","minimum":2,"maximum":4294967295},"firstSourceTime":{"type":"integer","minimum":0,"maximum":4294967295,"nullable":true},"lastSourceTime":{"type":"integer","minimum":0,"maximum":4294967295,"nullable":true},"ledgerRangeComplete":{"type":"boolean"},"timeRangeComplete":{"type":"boolean"},"status":{"type":"string","enum":["complete","partial"]},"emptyBuckets":{"type":"string","enum":["omitted"]}}}}},"MarketCandle":{"type":"object","additionalProperties":false,"required":["timestamp","open","high","low","close","baseVolume","quoteVolume","tradeCount","firstTradeAt","lastTradeAt"],"properties":{"timestamp":{"type":"integer","minimum":0,"maximum":4294967295,"description":"UTC Unix seconds at the epoch-aligned start of the time bin."},"open":{"type":"string","description":"Quote units per base unit for prices; asset units for volumes. Source Float64 precision."},"high":{"type":"string","description":"Quote units per base unit for prices; asset units for volumes. Source Float64 precision."},"low":{"type":"string","description":"Quote units per base unit for prices; asset units for volumes. Source Float64 precision."},"close":{"type":"string","description":"Quote units per base unit for prices; asset units for volumes. Source Float64 precision."},"baseVolume":{"type":"string","description":"Quote units per base unit for prices; asset units for volumes. Source Float64 precision."},"quoteVolume":{"type":"string","description":"Quote units per base unit for prices; asset units for volumes. Source Float64 precision."},"tradeCount":{"type":"integer","minimum":1},"firstTradeAt":{"type":"integer","minimum":0,"maximum":4294967295},"lastTradeAt":{"type":"integer","minimum":0,"maximum":4294967295}}},"ContractProvenance":{"type":"object","required":["contractId","networkPassphrase","observedLedger","instanceModifiedLedger","checkedAt","executable","wasmSha256","metadata","build","securityAudit"],"properties":{"contractId":{"type":"string","pattern":"^C[A-Z2-7]{55}$","description":"Soroban contract C-address."},"networkPassphrase":{"type":"string"},"observedLedger":{"type":"integer","minimum":0,"description":"Ledger at which the contract executable was observed."},"instanceModifiedLedger":{"type":"integer","nullable":true,"minimum":0},"checkedAt":{"type":"string","format":"date-time"},"executable":{"type":"string","enum":["wasm","stellar_asset","not_found"]},"wasmSha256":{"type":"string","nullable":true,"pattern":"^[a-f0-9]{64}$"},"metadata":{"$ref":"#/components/schemas/ContractProvenanceMetadata"},"build":{"$ref":"#/components/schemas/ContractProvenanceBuild"},"securityAudit":{"type":"string","enum":["not_assessed"],"description":"No security audit assessment is represented by this endpoint."}}},"ContractProvenanceBuild":{"type":"object","required":["status","record"],"properties":{"status":{"type":"string","enum":["verified","not_published","metadata_missing","metadata_invalid","unsupported","invalid","unavailable","builtin","not_found_at_ledger"]},"record":{"type":"object","nullable":true,"required":["repository","commit","sourceUrl","workflowUrl","runUrl","attestationUrl"],"properties":{"repository":{"type":"string"},"commit":{"type":"string","pattern":"^[a-f0-9]{40}$"},"sourceUrl":{"type":"string","format":"uri"},"workflowUrl":{"type":"string","format":"uri"},"runUrl":{"type":"string","format":"uri","nullable":true},"attestationUrl":{"type":"string","format":"uri"}}}}},"ContractProvenanceMetadata":{"type":"object","required":["sourceRepository","homeDomain"],"properties":{"sourceRepository":{"type":"string","nullable":true},"homeDomain":{"type":"string","nullable":true}}},"HubbleExplorerAssetNotFound":{"type":"object","additionalProperties":false,"properties":{"entity":{"type":"string","enum":["assets"]},"window":{"type":"object","additionalProperties":false,"properties":{"minLedger":{"type":"integer","minimum":1,"maximum":4294967295,"example":63490364},"maxLedger":{"type":"integer","minimum":1,"maximum":4294967295,"example":63490364}},"required":["minLedger","maxLedger"]},"coverage":{"$ref":"#/components/schemas/HubbleLedgerCoverage"},"coverageStatus":{"type":"string","enum":["complete","partial_or_unknown"],"example":"partial_or_unknown","description":"Complete only when every ledger in the selected window lies inside a completed manifest interval, including supplemental intervals. The global coverage can still contain gaps outside that window."},"source":{"type":"string","enum":["stellar_hubble"]},"semantics":{"type":"string","example":"Historical observations in the selected ledger window; not current-chain state."},"record":{"type":"object","nullable":true,"enum":[null]},"code":{"type":"string"},"error":{"type":"string"}},"required":["entity","window","coverage","coverageStatus","source","semantics","record","code","error"]},"HubbleExplorerAssetDetail":{"type":"object","additionalProperties":false,"properties":{"entity":{"type":"string","enum":["assets"]},"window":{"type":"object","additionalProperties":false,"properties":{"minLedger":{"type":"integer","minimum":1,"maximum":4294967295,"example":63490364},"maxLedger":{"type":"integer","minimum":1,"maximum":4294967295,"example":63490364}},"required":["minLedger","maxLedger"]},"coverage":{"$ref":"#/components/schemas/HubbleLedgerCoverage"},"coverageStatus":{"type":"string","enum":["complete","partial_or_unknown"],"example":"partial_or_unknown","description":"Complete only when every ledger in the selected window lies inside a completed manifest interval, including supplemental intervals. The global coverage can still contain gaps outside that window."},"source":{"type":"string","enum":["stellar_hubble"]},"semantics":{"type":"string","example":"Historical observations in the selected ledger window; not current-chain state."},"record":{"$ref":"#/components/schemas/HubbleExplorerAsset"}},"required":["entity","window","coverage","coverageStatus","source","semantics","record"]},"HubbleExplorerAssetPage":{"type":"object","additionalProperties":false,"properties":{"entity":{"type":"string","enum":["assets"]},"window":{"type":"object","additionalProperties":false,"properties":{"minLedger":{"type":"integer","minimum":1,"maximum":4294967295,"example":63490364},"maxLedger":{"type":"integer","minimum":1,"maximum":4294967295,"example":63490364}},"required":["minLedger","maxLedger"]},"coverage":{"$ref":"#/components/schemas/HubbleLedgerCoverage"},"coverageStatus":{"type":"string","enum":["complete","partial_or_unknown"],"example":"partial_or_unknown","description":"Complete only when every ledger in the selected window lies inside a completed manifest interval, including supplemental intervals. The global coverage can still contain gaps outside that window."},"source":{"type":"string","enum":["stellar_hubble"]},"semantics":{"type":"string","example":"Historical observations in the selected ledger window; not current-chain state."},"rows":{"type":"array","items":{"$ref":"#/components/schemas/HubbleExplorerAsset"}},"limit":{"type":"integer","minimum":1,"maximum":100,"example":10},"offset":{"type":"integer","minimum":0,"maximum":10000,"example":0},"nextOffset":{"type":"integer","nullable":true,"example":null,"description":"Follow with unchanged filters; null ends results. Offsets above 10000 are rejected: narrow the ledger window to continue. Not a frozen snapshot under backfill."}},"required":["entity","window","coverage","coverageStatus","source","semantics","rows","limit","offset","nextOffset"]},"HubbleTypedTransaction":{"type":"object","additionalProperties":false,"properties":{"transaction":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","pattern":"^-?[0-9]+$"},"hash":{"type":"string","pattern":"^[0-9a-f]{64}$"},"ledgerSequence":{"type":"integer","minimum":0},"closedAt":{"type":"string","format":"date-time"},"sourceAccount":{"type":"string"},"sourceAccountMuxed":{"type":"string","nullable":true},"sequence":{"type":"string","pattern":"^-?[0-9]+$"},"successful":{"type":"boolean"},"operationCount":{"type":"integer","minimum":0},"memoType":{"type":"string"},"memo":{"type":"string"},"feeChargedRaw":{"type":"string","pattern":"^-?[0-9]+$"},"maxFeeRaw":{"type":"string","pattern":"^-?[0-9]+$"},"feeAccount":{"type":"string","nullable":true},"resultCode":{"type":"string"}},"required":["id","hash","ledgerSequence","closedAt","sourceAccount","sourceAccountMuxed","sequence","successful","operationCount","memoType","memo","feeChargedRaw","maxFeeRaw","feeAccount","resultCode"]},"operations":{"type":"object","additionalProperties":false,"properties":{"items":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","pattern":"^-?[0-9]+$"},"transactionId":{"type":"string","pattern":"^-?[0-9]+$"},"index":{"type":"integer","minimum":0},"ledgerSequence":{"type":"integer","minimum":0},"closedAt":{"type":"string","format":"date-time"},"type":{"type":"string"},"typeCode":{"type":"integer","minimum":0},"sourceAccount":{"type":"string"},"sourceAccountMuxed":{"type":"string","nullable":true},"resultCode":{"type":"string"},"traceCode":{"type":"string"},"envelopeDecoded":{"type":"boolean","description":"True only when the stored envelope hash and operation count match this transaction."},"amounts":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"field":{"type":"string"},"decimal":{"type":"string","description":"Exact decimal text; scale describes this serialization, not arbitrary contract token metadata."},"raw":{"type":"string","pattern":"^-?[0-9]+$"},"scale":{"type":"integer","minimum":0},"source":{"type":"string","enum":["envelope","effect"]}},"required":["field","decimal","raw","scale","source"]}},"detailsJson":{"type":"string","description":"Supplemental legacy ETL details; numeric amounts here may be rounded. Use amounts for exact envelope values."}},"required":["id","transactionId","index","ledgerSequence","closedAt","type","typeCode","sourceAccount","sourceAccountMuxed","resultCode","traceCode","envelopeDecoded","amounts","detailsJson"]}},"limit":{"type":"integer","minimum":1,"maximum":200},"nextCursor":{"type":"string","nullable":true}},"required":["items","limit","nextCursor"]},"effects":{"type":"object","additionalProperties":false,"properties":{"items":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string"},"operationId":{"type":"string","pattern":"^-?[0-9]+$"},"index":{"type":"integer","minimum":0},"ledgerSequence":{"type":"integer","minimum":0},"closedAt":{"type":"string","format":"date-time"},"type":{"type":"string"},"typeCode":{"type":"integer","minimum":0},"account":{"type":"string"},"accountMuxed":{"type":"string","nullable":true},"amounts":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"field":{"type":"string"},"decimal":{"type":"string","description":"Exact decimal text; scale describes this serialization, not arbitrary contract token metadata."},"raw":{"type":"string","pattern":"^-?[0-9]+$"},"scale":{"type":"integer","minimum":0},"source":{"type":"string","enum":["envelope","effect"]}},"required":["field","decimal","raw","scale","source"]}},"detailsJson":{"type":"string"}},"required":["id","operationId","index","ledgerSequence","closedAt","type","typeCode","account","accountMuxed","amounts","detailsJson"]}},"limit":{"type":"integer","minimum":1,"maximum":200},"nextCursor":{"type":"string","nullable":true}},"required":["items","limit","nextCursor"]},"events":{"type":"object","additionalProperties":false,"properties":{"items":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string"},"transactionId":{"type":"string","pattern":"^-?[0-9]+$"},"transactionHash":{"type":"string"},"operationId":{"type":"string","nullable":true},"ledgerSequence":{"type":"integer","minimum":0},"closedAt":{"type":"string","format":"date-time"},"contractId":{"type":"string"},"type":{"type":"string"},"typeCode":{"type":"integer","minimum":0},"successful":{"type":"boolean"},"inSuccessfulContractCall":{"type":"boolean"},"topicsJson":{"type":"string"},"dataJson":{"type":"string"},"eventXdr":{"type":"string"},"classification":{"type":"object","additionalProperties":false,"properties":{"transactionKind":{"type":"string","enum":["classic","soroban","unknown"]},"eventKind":{"type":"string","enum":["fee","operation","contract","diagnostic","unknown"]},"sorobanExecutionEvidence":{"type":"boolean"},"provenance":{"type":"string","enum":["complete","missing","incomplete","mismatch"]}},"required":["transactionKind","eventKind","sorobanExecutionEvidence","provenance"]}},"required":["id","transactionId","transactionHash","operationId","ledgerSequence","closedAt","contractId","type","typeCode","successful","inSuccessfulContractCall","topicsJson","dataJson","eventXdr","classification"]}},"limit":{"type":"integer","minimum":1,"maximum":200},"nextCursor":{"type":"string","nullable":true}},"required":["items","limit","nextCursor"]},"observedAt":{"type":"string","format":"date-time"},"coverage":{"type":"string","enum":["ingested-only"]}},"required":["transaction","operations","effects","events","observedAt","coverage"]},"StellarAtlasOrganizationSnapshot":{"properties":{"startDate":{"format":"date-time","type":"string"},"endDate":{"format":"date-time","type":"string"},"organization":{"$ref":"#/components/schemas/StellarAtlasOrganization"}},"type":"object","required":[]},"StellarAtlasOrganization":{"properties":{"dateDiscovered":{"format":"date-time","type":"string"},"dba":{"type":"string"},"description":{"type":"string"},"github":{"type":"string"},"has24HourStats":{"default":false,"type":"boolean"},"has30DayStats":{"default":false,"type":"boolean"},"horizonUrl":{"type":"string"},"id":{"type":"string"},"hasReliableUptime":{"type":"boolean"},"keybase":{"type":"string"},"logo":{"type":"string"},"name":{"type":"string"},"officialEmail":{"type":"string"},"phoneNumber":{"type":"string"},"physicalAddress":{"type":"string"},"subQuorum24HoursAvailability":{"default":0,"type":"number"},"subQuorum30DaysAvailability":{"default":0,"type":"number"},"subQuorumAvailable":{"default":false,"type":"boolean"},"twitter":{"type":"string"},"url":{"type":"string"},"tomlState":{"type":"string"},"tomlWarnings":{"items":{"type":"string"},"type":"array"},"tomlLatestAttempt":{"anyOf":[{"$ref":"#/components/schemas/StellarAtlasOrganization__OrganizationTomlAttemptV1"},{"type":"null"}]},"tomlLatestFailure":{"anyOf":[{"$ref":"#/components/schemas/StellarAtlasOrganization__OrganizationTomlFailureV1"},{"type":"null"}]},"tomlLatestInsecureAttempt":{"anyOf":[{"$ref":"#/components/schemas/StellarAtlasOrganization__OrganizationTomlAttemptV1"},{"type":"null"}]},"stellarToml":{"anyOf":[{"$ref":"#/components/schemas/StellarAtlasOrganization__OrganizationStellarTomlV1"},{"type":"null"}]},"validators":{"default":[],"items":{"type":"string"},"type":"array"}},"type":"object","required":["id","name","validators"]},"StellarAtlasOrganization__OrganizationStellarTomlV1":{"type":"object","required":["content","url"],"properties":{"content":{"type":"string"},"observedAt":{"type":"string","format":"date-time"},"url":{"type":"string"},"warnings":{"type":"array","items":{"type":"string","enum":["TlsCertificateVerificationDisabled"]}}}},"StellarAtlasOrganization__OrganizationTomlAttemptV1":{"type":"object","required":["observedAt","result","state","warnings"],"properties":{"authoritative":{"type":"boolean"},"contentCaptured":{"type":"boolean"},"observedAt":{"type":"string","format":"date-time"},"result":{"type":"string","enum":["success","failure"]},"state":{"type":"string","enum":["Unknown","Ok","RequestTimeout","DNSLookupFailed","HostnameResolutionFailed","ConnectionTimeout","ConnectionRefused","ConnectionResetByPeer","SocketClosedPrematurely","SocketTimeout","HostUnreachable","NotFound","ParsingError","Forbidden","ServerError","UnsupportedVersion","UnspecifiedError","ValidatorNotSEP20Linked","EmptyValidatorsField"]},"warnings":{"type":"array","items":{"type":"string","enum":["TlsCertificateVerificationDisabled"]}}}},"StellarAtlasOrganization__OrganizationTomlFailureV1":{"type":"object","required":["observedAt","result","state","warnings"],"properties":{"authoritative":{"type":"boolean"},"contentCaptured":{"type":"boolean"},"observedAt":{"type":"string","format":"date-time"},"result":{"type":"string","enum":["failure"]},"state":{"$ref":"#/components/schemas/StellarAtlasOrganization__OrganizationTomlAttemptV1/properties/state"},"warnings":{"$ref":"#/components/schemas/StellarAtlasOrganization__OrganizationTomlAttemptV1/properties/warnings"}}},"OrganizationV1":{"allOf":[{"$ref":"#/components/schemas/StellarAtlasOrganization"},{"type":"object","properties":{"tomlLatestAttempt":{"$ref":"#/components/schemas/OrganizationTomlAttemptV1"},"tomlLatestFailure":{"$ref":"#/components/schemas/OrganizationTomlFailureV1"},"tomlLatestInsecureAttempt":{"$ref":"#/components/schemas/OrganizationTomlAttemptV1"},"stellarToml":{"$ref":"#/components/schemas/OrganizationStellarTomlV1"}}}]},"OrganizationStellarTomlV1":{"type":"object","nullable":true,"required":["content","url"],"properties":{"content":{"type":"string"},"observedAt":{"type":"string","format":"date-time"},"url":{"type":"string"},"warnings":{"type":"array","items":{"type":"string","enum":["TlsCertificateVerificationDisabled"]}}}},"OrganizationTomlAttemptV1":{"type":"object","nullable":true,"required":["observedAt","result","state","warnings"],"properties":{"authoritative":{"type":"boolean"},"contentCaptured":{"type":"boolean"},"observedAt":{"type":"string","format":"date-time"},"result":{"type":"string","enum":["success","failure"]},"state":{"type":"string","enum":["Unknown","Ok","RequestTimeout","DNSLookupFailed","HostnameResolutionFailed","ConnectionTimeout","ConnectionRefused","ConnectionResetByPeer","SocketClosedPrematurely","SocketTimeout","HostUnreachable","NotFound","ParsingError","Forbidden","ServerError","UnsupportedVersion","UnspecifiedError","ValidatorNotSEP20Linked","EmptyValidatorsField"]},"warnings":{"type":"array","items":{"type":"string","enum":["TlsCertificateVerificationDisabled"]}}}},"OrganizationTomlFailureV1":{"type":"object","nullable":true,"required":["observedAt","result","state","warnings"],"properties":{"authoritative":{"type":"boolean"},"contentCaptured":{"type":"boolean"},"observedAt":{"type":"string","format":"date-time"},"result":{"type":"string","enum":["failure"]},"state":{"type":"string","enum":["Unknown","Ok","RequestTimeout","DNSLookupFailed","HostnameResolutionFailed","ConnectionTimeout","ConnectionRefused","ConnectionResetByPeer","SocketClosedPrematurely","SocketTimeout","HostUnreachable","NotFound","ParsingError","Forbidden","ServerError","UnsupportedVersion","UnspecifiedError","ValidatorNotSEP20Linked","EmptyValidatorsField"]},"warnings":{"type":"array","items":{"type":"string","enum":["TlsCertificateVerificationDisabled"]}}}},"StellarAtlasNodeSnapshot":{"properties":{"startDate":{"format":"date-time","type":"string"},"endDate":{"format":"date-time","type":"string"},"node":{"$ref":"#/components/schemas/StellarAtlasNode"}},"type":"object","required":[]},"StellarAtlasNode":{"properties":{"active":{"default":false,"type":"boolean","description":"Node accepts connections from other nodes"},"activeInScp":{"default":false,"type":"boolean","description":"Node is active in SCP"},"alias":{"type":"string"},"dateDiscovered":{"format":"date-time","type":"string"},"dateUpdated":{"format":"date-time","type":"string"},"displayName":{"type":"string"},"geoData":{"$ref":"#/components/schemas/StellarAtlasNode__NodeGeoData"},"historyUrl":{"type":"string"},"homeDomain":{"type":"string"},"host":{"type":"string"},"index":{"default":0,"type":"number","description":"Used to compare nodes. The more trustworthy, the higher the index."},"lag":{"default":0,"type":"number","description":"Node externalize lag in milliseconds"},"ip":{"default":"127.0.0.1","type":"string"},"isFullValidator":{"default":false,"type":"boolean"},"isValidating":{"default":false,"type":"boolean","description":"Participating in SCP and externalizing new values"},"isValidator":{"type":"boolean"},"isp":{"type":"string"},"key":{"type":"string","description":"ip:port pair","default":"127.0.0.1:11625"},"ledgerVersion":{"type":"number"},"name":{"type":"string"},"networkId":{"type":"string"},"organizationId":{"type":"string"},"overLoaded":{"default":false,"type":"boolean","description":"When node disconnects with err_load"},"overlayMinVersion":{"type":"number"},"overlayVersion":{"type":"number"},"port":{"type":"number"},"publicKey":{"type":"string"},"quorumSet":{"$ref":"#/components/schemas/StellarAtlasNode__QuorumSet"},"quorumSetHashKey":{"type":"string"},"statistics":{"$ref":"#/components/schemas/StellarAtlasNode__NodeStatistics"},"versionStr":{"type":"string"},"historyArchiveHasError":{"type":"boolean"}},"type":"object","required":["publicKey","quorumSet"]},"StellarAtlasNode__NodeStatistics":{"properties":{"active24HoursPercentage":{"default":0,"type":"number"},"active30DaysPercentage":{"default":0,"type":"number"},"has24HourStats":{"default":false,"type":"boolean"},"has30DayStats":{"default":false,"type":"boolean"},"overLoaded24HoursPercentage":{"default":0,"type":"number"},"overLoaded30DaysPercentage":{"default":0,"type":"number"},"validating24HoursPercentage":{"default":0,"type":"number"},"validating30DaysPercentage":{"default":0,"type":"number"}},"type":"object"},"StellarAtlasNode__QuorumSet":{"properties":{"innerQuorumSets":{"items":{"$ref":"#/components/schemas/StellarAtlasNode__QuorumSet"},"type":"array"},"threshold":{"type":"number"},"validators":{"items":{"type":"string"},"type":"array"}},"type":"object","required":["innerQuorumSets","threshold","validators"]},"StellarAtlasNode__NodeGeoData":{"properties":{"countryCode":{"type":"string"},"countryName":{"type":"string"},"latitude":{"type":"number"},"longitude":{"type":"number"}},"type":"object"},"KnownOrganizationsResponse":{"type":"object","required":["generatedAt","count","organizations","page","scope","scopeTotals","source"],"properties":{"generatedAt":{"type":"string","format":"date-time"},"count":{"type":"integer","minimum":0},"organizations":{"type":"array","items":{"$ref":"#/components/schemas/KnownOrganization"}},"page":{"$ref":"#/components/schemas/KnownInventoryPage"},"scope":{"$ref":"#/components/schemas/KnownOrganizationScope"},"scopeTotals":{"type":"object","required":["current","archived","all-known"],"additionalProperties":false,"properties":{"current":{"type":"integer","minimum":0},"archived":{"type":"integer","minimum":0},"all-known":{"type":"integer","minimum":0}}},"source":{"type":"string","enum":["postgres_canonical"]}}},"KnownOrganizationScope":{"type":"string","enum":["current","archived","all-known"],"default":"all-known"},"KnownInventoryPage":{"type":"object","required":["hasMore","limit","offset","total"],"properties":{"hasMore":{"type":"boolean"},"limit":{"type":"integer","minimum":1},"offset":{"type":"integer","minimum":0},"total":{"type":"integer","minimum":0}}},"KnownOrganization":{"type":"object","required":["organization","current","scope","snapshotStartDate","snapshotEndDate","lastSeen","lastMeasurementAt"],"properties":{"organization":{"$ref":"#/components/schemas/OrganizationV1"},"current":{"type":"boolean"},"scope":{"type":"string","enum":["current","archived"]},"snapshotStartDate":{"type":"string","format":"date-time"},"snapshotEndDate":{"type":"string","format":"date-time","nullable":true},"lastSeen":{"type":"string","format":"date-time","nullable":true},"lastMeasurementAt":{"type":"string","format":"date-time","nullable":true}}},"KnownOrganizationArchiveEvidenceV1":{"allOf":[{"$ref":"#/components/schemas/KnownArchiveEvidenceV1"},{"type":"object","required":["organizationId"],"properties":{"organizationId":{"type":"string"}}}]},"KnownArchiveEvidenceV1":{"type":"object","required":["eventPage","generatedAt","nodePublicKeys","objectPage","remoteFailures","roots","totals","workerIssues"],"properties":{"eventPage":{"$ref":"#/components/schemas/HistoryArchiveObjectEventPageV1"},"generatedAt":{"type":"string","format":"date-time"},"nodePublicKeys":{"type":"array","items":{"type":"string"}},"objectPage":{"$ref":"#/components/schemas/HistoryArchiveObjectPageV1"},"remoteFailures":{"$ref":"#/components/schemas/KnownArchiveRemoteFailurePageV1"},"roots":{"type":"array","items":{"$ref":"#/components/schemas/KnownArchiveRootEvidenceV1"}},"totals":{"$ref":"#/components/schemas/KnownArchiveEvidenceTotalsV1"},"workerIssues":{"$ref":"#/components/schemas/KnownArchiveWorkerIssuePageV1"}}},"KnownArchiveWorkerIssuePageV1":{"type":"object","additionalProperties":false,"required":["filters","hasMore","issues","limit","nextCursor","snapshotAt","total"],"properties":{"filters":{"$ref":"#/components/schemas/KnownArchiveFailureFiltersV1"},"hasMore":{"type":"boolean"},"issues":{"type":"array","items":{"$ref":"#/components/schemas/KnownArchiveWorkerIssueV1"}},"limit":{"type":"integer","minimum":1,"maximum":250},"nextCursor":{"type":"string","maxLength":1024,"nullable":true},"snapshotAt":{"type":"string","format":"date-time","description":"Compatibility field naming when this live-keyset page was evaluated. It is not a frozen database snapshot."},"total":{"type":"integer","minimum":0,"description":"Exact count for this filter when the page was evaluated. It may change between live-keyset requests."}}},"KnownArchiveWorkerIssueV1":{"type":"object","additionalProperties":false,"required":["evidenceClass","object"],"properties":{"evidenceClass":{"type":"string","enum":["worker-infrastructure","coordinator-infrastructure"]},"object":{"$ref":"#/components/schemas/HistoryArchiveObjectV1"}}},"HistoryArchiveObjectV1":{"type":"object","required":["archiveUrl","archiveUrlIdentity","objectKey","objectType","objectUrl","remoteId","status","workerStage","checkpointLedger","bucketHash","bytesDownloaded","attempts","delayReason","nextAttemptAt","refreshAfter","claimedAt","updatedAt","verificationFacts","verifiedAt","error"],"properties":{"archiveUrl":{"type":"string","format":"uri"},"archiveUrlIdentity":{"type":"string"},"objectKey":{"type":"string"},"objectType":{"type":"string","enum":["history-archive-state","checkpoint-state","ledger","transactions","results","scp","bucket"]},"objectUrl":{"type":"string","format":"uri"},"remoteId":{"type":"string","format":"uuid"},"status":{"type":"string","enum":["pending","scanning","verified","failed"]},"workerStage":{"type":"string","nullable":true},"checkpointLedger":{"type":"integer","minimum":0,"nullable":true},"bucketHash":{"type":"string","nullable":true},"bytesDownloaded":{"type":"integer","minimum":0,"nullable":true},"attempts":{"type":"integer","minimum":0},"delayReason":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/HistoryArchiveObjectDelayReasonV1"}]},"nextAttemptAt":{"type":"string","format":"date-time","nullable":true},"refreshAfter":{"type":"string","format":"date-time","nullable":true},"claimedAt":{"type":"string","format":"date-time","nullable":true},"updatedAt":{"type":"string","format":"date-time"},"verificationFacts":{"type":"object","additionalProperties":true,"nullable":true},"verifiedAt":{"type":"string","format":"date-time","nullable":true},"error":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/HistoryArchiveObjectErrorV1"}]}}},"HistoryArchiveObjectErrorV1":{"type":"object","required":["message","type","httpStatus"],"properties":{"message":{"type":"string"},"type":{"type":"string"},"httpStatus":{"type":"integer","nullable":true}}},"HistoryArchiveObjectDelayReasonV1":{"type":"object","required":["code","until"],"properties":{"code":{"type":"string","enum":["archive-active-cap","global-active-cap","host-active-cap","host-backoff","missing-dependency","object-already-active","retry-window"]},"until":{"type":"string","format":"date-time","nullable":true}}},"KnownArchiveFailureFiltersV1":{"type":"object","additionalProperties":false,"required":["archiveUrlIdentity","objectType"],"properties":{"archiveUrlIdentity":{"type":"string","nullable":true},"objectType":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/HistoryArchiveObjectTypeV1"}]}}},"HistoryArchiveObjectTypeV1":{"type":"string","enum":["history-archive-state","checkpoint-state","ledger","transactions","results","scp","bucket"]},"KnownArchiveEvidenceTotalsV1":{"type":"object","additionalProperties":false,"required":["archiveRoots","checkpoints","nodes","objects"],"properties":{"archiveRoots":{"type":"integer","minimum":0},"checkpoints":{"$ref":"#/components/schemas/KnownArchiveCheckpointCountsV1"},"nodes":{"type":"integer","minimum":0},"objects":{"$ref":"#/components/schemas/KnownArchiveObjectCountsV1"}}},"KnownArchiveObjectCountsV1":{"type":"object","additionalProperties":false,"required":["activeObjects","bucketObjects","pendingObjects","remoteFailureObjects","totalObjects","verifiedBucketObjects","verifiedObjects","workerIssueObjects"],"properties":{"activeObjects":{"type":"integer","minimum":0},"bucketObjects":{"type":"integer","minimum":0},"pendingObjects":{"type":"integer","minimum":0},"remoteFailureObjects":{"type":"integer","minimum":0},"totalObjects":{"type":"integer","minimum":0},"verifiedBucketObjects":{"type":"integer","minimum":0},"verifiedObjects":{"type":"integer","minimum":0},"workerIssueObjects":{"type":"integer","minimum":0}}},"KnownArchiveCheckpointCountsV1":{"type":"object","additionalProperties":false,"required":["mismatchedCheckpoints","notEvaluableCheckpoints","pendingCheckpoints","totalCheckpoints","verifiedCheckpoints"],"properties":{"mismatchedCheckpoints":{"type":"integer","minimum":0},"notEvaluableCheckpoints":{"type":"integer","minimum":0},"pendingCheckpoints":{"type":"integer","minimum":0},"totalCheckpoints":{"type":"integer","minimum":0},"verifiedCheckpoints":{"type":"integer","minimum":0}}},"KnownArchiveRootEvidenceV1":{"type":"object","additionalProperties":false,"required":["archiveUrl","archiveUrlIdentity","checkpoints","latestObjectAt","nodePublicKeys","objects","scannerOwnedState"],"properties":{"archiveUrl":{"type":"string","format":"uri"},"archiveUrlIdentity":{"type":"string"},"checkpoints":{"$ref":"#/components/schemas/KnownArchiveCheckpointCountsV1"},"latestObjectAt":{"type":"string","format":"date-time","nullable":true},"nodePublicKeys":{"type":"array","items":{"type":"string"}},"objects":{"$ref":"#/components/schemas/KnownArchiveObjectCountsV1"},"scannerOwnedState":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/HistoryArchiveStateSnapshotV1"}]}}},"HistoryArchiveStateSnapshotV1":{"type":"object","additionalProperties":false,"required":["archiveUrl","archiveUrlIdentity","stateUrl","status","observedAt","source","metadata","failure","latestFailure"],"properties":{"archiveUrl":{"type":"string","format":"uri"},"archiveUrlIdentity":{"type":"string"},"stateUrl":{"type":"string","format":"uri"},"status":{"type":"string","enum":["available","invalid","unreachable"]},"observedAt":{"type":"string","format":"date-time"},"source":{"type":"string","enum":["backfill","history-scanner","network-scan"]},"metadata":{"type":"object","additionalProperties":false,"nullable":true,"required":["stellarHistoryUrl","stellarHistory","observedAt"],"properties":{"stellarHistoryUrl":{"type":"string","format":"uri"},"observedAt":{"type":"string","format":"date-time"},"stellarHistory":{"type":"object","additionalProperties":false,"required":["version","server","currentLedger","currentBuckets"],"properties":{"version":{"type":"integer"},"server":{"type":"string"},"currentLedger":{"type":"integer","minimum":0},"networkPassphrase":{"type":"string","nullable":true},"currentBuckets":{"type":"array","items":{"$ref":"#/components/schemas/HistoryStateBucket"}},"hotArchiveBuckets":{"type":"array","nullable":true,"items":{"$ref":"#/components/schemas/HistoryStateBucket"}}}}}},"failure":{"type":"object","additionalProperties":false,"nullable":true,"required":["message","type","httpStatus"],"properties":{"message":{"type":"string"},"type":{"type":"string"},"httpStatus":{"type":"integer","nullable":true}}},"latestFailure":{"type":"object","additionalProperties":false,"nullable":true,"required":["message","type","httpStatus","observedAt","source"],"properties":{"message":{"type":"string"},"type":{"type":"string"},"httpStatus":{"type":"integer","nullable":true},"observedAt":{"type":"string","format":"date-time"},"source":{"type":"string","enum":["backfill","history-scanner","network-scan"]}}}}},"HistoryStateBucket":{"type":"object","required":["curr","snap","next"],"properties":{"curr":{"type":"string"},"snap":{"type":"string"},"next":{"type":"object","required":["state"],"properties":{"state":{"type":"integer"},"output":{"type":"string","nullable":true}}}}},"KnownArchiveRemoteFailurePageV1":{"type":"object","additionalProperties":false,"required":["failures","filters","hasMore","limit","nextCursor","snapshotAt","total"],"properties":{"failures":{"type":"array","items":{"$ref":"#/components/schemas/KnownArchiveRemoteFailureV1"}},"filters":{"$ref":"#/components/schemas/KnownArchiveFailureFiltersV1"},"hasMore":{"type":"boolean"},"limit":{"type":"integer","minimum":1,"maximum":250},"nextCursor":{"type":"string","maxLength":1024,"nullable":true},"snapshotAt":{"type":"string","format":"date-time","description":"Compatibility field naming when this live-keyset page was evaluated. It is not a frozen database snapshot."},"total":{"type":"integer","minimum":0,"description":"Exact count for this filter when the page was evaluated. It may change between live-keyset requests."}}},"KnownArchiveRemoteFailureV1":{"type":"object","additionalProperties":false,"required":["networkVerifiedCopies","object","sameOrganizationVerifiedCopies"],"properties":{"networkVerifiedCopies":{"description":"Verified copies on roots outside the subject organization.","$ref":"#/components/schemas/KnownArchiveVerifiedCopySetV1"},"object":{"$ref":"#/components/schemas/HistoryArchiveObjectV1"},"sameOrganizationVerifiedCopies":{"description":"Verified copies on other roots owned by the subject organization.","$ref":"#/components/schemas/KnownArchiveVerifiedCopySetV1"}}},"KnownArchiveVerifiedCopySetV1":{"type":"object","additionalProperties":false,"required":["copies","count","sampleLimit"],"properties":{"copies":{"type":"array","description":"Bounded representative rows; use count for exact coverage.","items":{"$ref":"#/components/schemas/KnownArchiveVerifiedCopyV1"}},"count":{"type":"integer","minimum":0,"nullable":true,"description":"Exact count only after successful copy discovery; null means unknown, not zero."},"lookupStatus":{"type":"string","enum":["available","not_requested","unavailable"],"description":"Absent on older responses with completed numeric counts. Copy lookup availability is independent of source failure evidence."},"sampleLimit":{"type":"integer","minimum":0,"maximum":10}}},"KnownArchiveVerifiedCopyV1":{"type":"object","additionalProperties":false,"required":["archiveUrl","archiveUrlIdentity","objectUrl","remoteId","verifiedAt"],"properties":{"archiveUrl":{"type":"string","format":"uri"},"archiveUrlIdentity":{"type":"string"},"objectUrl":{"type":"string","format":"uri","maxLength":2048,"pattern":"^https?://"},"remoteId":{"type":"string","format":"uuid"},"verifiedAt":{"type":"string","format":"date-time","nullable":true}}},"HistoryArchiveObjectPageV1":{"type":"object","additionalProperties":false,"required":["filters","objects","page"],"properties":{"filters":{"$ref":"#/components/schemas/HistoryArchiveObjectPageFiltersV1"},"objects":{"type":"array","items":{"$ref":"#/components/schemas/HistoryArchiveObjectV1"}},"page":{"$ref":"#/components/schemas/HistoryArchivePageMetadataV1"}}},"HistoryArchivePageMetadataV1":{"type":"object","additionalProperties":false,"required":["hasMore","limit","nextCursor","snapshotAt","total"],"properties":{"hasMore":{"type":"boolean"},"limit":{"type":"integer","minimum":1,"maximum":250},"nextCursor":{"type":"string","maxLength":1024,"nullable":true},"snapshotAt":{"type":"string","format":"date-time","description":"Compatibility field naming when this live-keyset page was evaluated. It is not a frozen database snapshot."},"total":{"type":"integer","minimum":0,"description":"Exact count for this filter when the page was evaluated. It may change between live-keyset requests."}}},"HistoryArchiveObjectPageFiltersV1":{"type":"object","additionalProperties":false,"required":["archiveUrlIdentity","objectType","status"],"properties":{"archiveUrlIdentity":{"type":"string","nullable":true},"objectType":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/HistoryArchiveObjectTypeV1"}]},"status":{"type":"string","enum":["pending","scanning","verified","failed"],"nullable":true}}},"HistoryArchiveObjectEventPageV1":{"type":"object","additionalProperties":false,"required":["events","filters","page"],"properties":{"events":{"type":"array","items":{"$ref":"#/components/schemas/HistoryArchiveObjectEventV1"}},"filters":{"$ref":"#/components/schemas/HistoryArchiveObjectEventPageFiltersV1"},"page":{"$ref":"#/components/schemas/HistoryArchivePageMetadataV1"}}},"HistoryArchiveObjectEventPageFiltersV1":{"type":"object","additionalProperties":false,"required":["archiveUrlIdentity","evidenceClass","eventType","objectType"],"properties":{"archiveUrlIdentity":{"type":"string","nullable":true},"evidenceClass":{"type":"string","enum":["archive-object","worker-infrastructure","coordinator-infrastructure"],"nullable":true},"eventType":{"type":"string","enum":["claimed","heartbeat","verified","failed","released"],"nullable":true},"objectType":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/HistoryArchiveObjectTypeV1"}]}}},"HistoryArchiveObjectEventV1":{"type":"object","required":["archiveUrl","archiveUrlIdentity","bucketHash","bytesDownloaded","checkpointLedger","claimAttempt","createdAt","error","eventType","evidenceClass","nextAttemptAt","objectKey","objectRemoteId","objectType","objectUrl","remoteId","verificationFacts","workerStage"],"properties":{"archiveUrl":{"type":"string","format":"uri"},"archiveUrlIdentity":{"type":"string"},"bucketHash":{"type":"string","nullable":true},"bytesDownloaded":{"type":"integer","minimum":0,"nullable":true},"checkpointLedger":{"type":"integer","minimum":0,"nullable":true},"claimAttempt":{"type":"integer","minimum":1,"nullable":true},"createdAt":{"type":"string","format":"date-time"},"error":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/HistoryArchiveObjectErrorV1"}]},"eventType":{"type":"string","enum":["claimed","heartbeat","verified","failed","released"]},"evidenceClass":{"type":"string","enum":["archive-object","worker-infrastructure","coordinator-infrastructure"],"nullable":true},"nextAttemptAt":{"type":"string","format":"date-time","nullable":true},"objectKey":{"type":"string"},"objectRemoteId":{"type":"string","format":"uuid"},"objectType":{"type":"string","enum":["history-archive-state","checkpoint-state","ledger","transactions","results","scp","bucket"]},"objectUrl":{"type":"string","format":"uri"},"remoteId":{"type":"string","format":"uuid"},"verificationFacts":{"type":"object","additionalProperties":true,"nullable":true},"workerStage":{"type":"string","nullable":true}}},"KnownNodesResponse":{"type":"object","required":["generatedAt","count","nodes","page","scope","scopeTotals","source"],"properties":{"generatedAt":{"type":"string","format":"date-time"},"count":{"type":"integer","minimum":0},"nodes":{"type":"array","items":{"$ref":"#/components/schemas/KnownNode"}},"page":{"$ref":"#/components/schemas/KnownInventoryPage"},"scope":{"$ref":"#/components/schemas/KnownNodeScope"},"scopeTotals":{"type":"object","required":["current-validator","listener","public-key-only","archived","all-known"],"additionalProperties":false,"properties":{"current-validator":{"type":"integer","minimum":0},"listener":{"type":"integer","minimum":0},"public-key-only":{"type":"integer","minimum":0},"archived":{"type":"integer","minimum":0},"all-known":{"type":"integer","minimum":0}}},"source":{"type":"string","enum":["postgres_canonical"]}}},"KnownNodeScope":{"type":"string","enum":["current-validator","listener","public-key-only","archived","all-known"],"default":"all-known"},"KnownNode":{"type":"object","required":["publicKey","dateDiscovered","node","metadataState","current","scope","snapshotStartDate","snapshotEndDate","lastSeen","lastMeasurementAt"],"properties":{"publicKey":{"type":"string"},"dateDiscovered":{"type":"string","format":"date-time"},"node":{"$ref":"#/components/schemas/StellarAtlasNode","nullable":true},"metadataState":{"type":"string","enum":["snapshot","public_key_only"]},"current":{"type":"boolean"},"scope":{"type":"string","enum":["current-validator","listener","public-key-only","archived"]},"snapshotStartDate":{"type":"string","format":"date-time","nullable":true},"snapshotEndDate":{"type":"string","format":"date-time","nullable":true},"lastSeen":{"type":"string","format":"date-time","nullable":true},"lastMeasurementAt":{"type":"string","format":"date-time","nullable":true}}},"KnownNodeArchiveEvidenceV1":{"allOf":[{"$ref":"#/components/schemas/KnownArchiveEvidenceV1"},{"type":"object","required":["organizationId","publicKey"],"properties":{"organizationId":{"type":"string","nullable":true},"publicKey":{"type":"string"}}}]},"HistoryArchiveRepairPlanV1":{"type":"object","required":["actionCount","actions","archiveUrl","archiveUrlIdentity","generatedAt","infrastructureBlocks","limit","summary"],"properties":{"actionCount":{"type":"integer","minimum":0},"actions":{"type":"array","maxItems":50,"items":{"$ref":"#/components/schemas/HistoryArchiveRepairActionV1"}},"archiveUrl":{"type":"string","format":"uri"},"archiveUrlIdentity":{"type":"string"},"generatedAt":{"type":"string","format":"date-time"},"infrastructureBlocks":{"type":"array","items":{"type":"object","additionalProperties":true}},"limit":{"type":"integer","minimum":1,"maximum":50},"summary":{"type":"object","required":["activeObjectChecks","failedCheckpointProofs","failedObjectChecks","pendingObjectChecks","verifiedObjectChecks"],"properties":{"activeObjectChecks":{"type":"integer","minimum":0},"failedCheckpointProofs":{"type":"integer","minimum":0},"failedObjectChecks":{"type":"integer","minimum":0},"pendingObjectChecks":{"type":"integer","minimum":0},"verifiedObjectChecks":{"type":"integer","minimum":0}}}}},"HistoryArchiveRepairActionV1":{"type":"object","required":["actionId","bucketHash","checkpointEvidence","checkpointLedger","evidence","kind","knownGoodSources","reason","repairArtifact","repairManifest","severity","summary"],"properties":{"actionId":{"type":"string"},"bucketHash":{"type":"string","pattern":"^[0-9a-f]{64}$","nullable":true},"checkpointEvidence":{"type":"array","items":{"type":"object","additionalProperties":true}},"checkpointLedger":{"type":"integer","minimum":0,"nullable":true},"evidence":{"type":"array","items":{"type":"object","additionalProperties":true}},"kind":{"type":"string","enum":["restore-history-archive-state","replace-archive-file","replace-bucket-file","repair-checkpoint-proof","wait-for-scanner-proof"]},"knownGoodSources":{"type":"array","description":"Bounded per-archive remote evidence; never a hosted download list.","maxItems":3,"items":{"$ref":"#/components/schemas/HistoryArchiveRepairSourceCandidateV1"}},"reason":{"type":"string"},"repairArtifact":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/HistoryArchiveRepairArtifactAvailabilityV1"}]},"repairManifest":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/HistoryArchiveRepairManifestV1"}]},"severity":{"type":"string","enum":["error","warning","blocked"]},"summary":{"type":"string"}}},"HistoryArchiveRepairManifestV1":{"type":"object","additionalProperties":false,"description":"Deterministic operator repair manifest emitted for recognized integrity evidence or an exact proof-gated missing 404/410 with a strict verified replacement. Ordinary HTTP, auth, rate-limit, timeout, transport, scanner, and coordinator failures never produce a ready manifest.","required":["actionId","evidence","generatedAt","recheck","replacement","schemaVersion","status","steps","target"],"properties":{"actionId":{"type":"string"},"evidence":{"type":"object","additionalProperties":true},"generatedAt":{"type":"string","format":"date-time"},"recheck":{"type":"object","additionalProperties":false,"required":["endpoint","minimumEvidenceUpdatedAt","resolutionCondition","targetRemoteId"],"properties":{"endpoint":{"type":"string"},"minimumEvidenceUpdatedAt":{"type":"string","format":"date-time"},"resolutionCondition":{"type":"string","enum":["same-object-verified-after-original-evidence"]},"targetRemoteId":{"type":"string","format":"uuid"}}},"replacement":{"type":"object","nullable":true,"additionalProperties":false,"required":["artifact","source"],"properties":{"artifact":{"oneOf":[{"$ref":"#/components/schemas/HistoryArchiveRepairArtifactAvailableV1"},{"$ref":"#/components/schemas/HistoryArchiveRepairArtifactVerifyOnDownloadV1"}]},"source":{"$ref":"#/components/schemas/HistoryArchiveRepairSourceCandidateV1"}}},"schemaVersion":{"type":"integer","enum":[1]},"status":{"type":"string","enum":["ready","awaiting-verified-replacement"]},"steps":{"type":"array","maxItems":6,"items":{"$ref":"#/components/schemas/HistoryArchiveRepairManifestStepV1"}},"target":{"type":"object","additionalProperties":false,"required":["archiveUrl","archiveUrlIdentity","bucketHash","checkpointLedger","objectKey","objectType","objectUrl","operatorTargetPathRequired"],"properties":{"archiveUrl":{"type":"string","format":"uri"},"archiveUrlIdentity":{"type":"string"},"bucketHash":{"type":"string","pattern":"^[0-9a-f]{64}$","nullable":true},"checkpointLedger":{"type":"integer","minimum":0,"nullable":true},"objectKey":{"type":"string"},"objectType":{"type":"string","enum":["history-archive-state","checkpoint-state","ledger","transactions","results","scp","bucket"]},"objectUrl":{"type":"string","format":"uri"},"operatorTargetPathRequired":{"type":"boolean","enum":[true]}}}}},"HistoryArchiveRepairManifestStepV1":{"oneOf":[{"type":"object","additionalProperties":false,"required":["backupSuffix","kind","order","required"],"properties":{"backupSuffix":{"type":"string"},"kind":{"type":"string","enum":["backup-current-file"]},"order":{"type":"integer","enum":[1]},"required":{"type":"boolean","description":"False only when the target was observed missing; an unexpected current file must stop repair."}}},{"type":"object","additionalProperties":false,"required":["input","kind","order","required","stagingLocation"],"properties":{"input":{"type":"string","enum":["replacement-download-url"]},"kind":{"type":"string","enum":["stage-replacement"]},"order":{"type":"integer","enum":[2]},"required":{"type":"boolean","enum":[true]},"stagingLocation":{"type":"string","enum":["same-filesystem-temporary-file"]}}},{"type":"object","additionalProperties":false,"required":["expectedContentHash","kind","order","required"],"properties":{"expectedContentHash":{"type":"object","additionalProperties":false,"required":["algorithm","digest","representation"],"properties":{"algorithm":{"type":"string","enum":["sha256"]},"digest":{"type":"string","pattern":"^[0-9a-f]{64}$"},"representation":{"type":"string","enum":["canonical-json","uncompressed-xdr"]}}},"kind":{"type":"string","enum":["verify-staged-content"]},"order":{"type":"integer","enum":[3]},"required":{"type":"boolean","enum":[true]}}},{"type":"object","additionalProperties":false,"required":["kind","order","preserve","required"],"properties":{"kind":{"type":"string","enum":["preserve-metadata"]},"order":{"type":"integer","enum":[4]},"preserve":{"type":"array","minItems":3,"maxItems":3,"items":{"type":"string","enum":["owner","mode","acl"]}},"required":{"type":"boolean","enum":[true]}}},{"type":"object","additionalProperties":false,"required":["kind","order","required","requiresSameFilesystem"],"properties":{"kind":{"type":"string","enum":["atomic-replace"]},"order":{"type":"integer","enum":[5]},"required":{"type":"boolean","enum":[true]},"requiresSameFilesystem":{"type":"boolean","enum":[true]}}},{"type":"object","additionalProperties":false,"required":["kind","order","required","resolutionCondition"],"properties":{"kind":{"type":"string","enum":["request-recheck"]},"order":{"type":"integer","enum":[6]},"required":{"type":"boolean","enum":[true]},"resolutionCondition":{"type":"string","enum":["same-object-verified-after-original-evidence"]}}}]},"HistoryArchiveRepairSourceCandidateV1":{"type":"object","additionalProperties":false,"description":"Attributed remote archive candidate with checkpoint-bound proof. archiveUrl and objectUrl are retrieval locations, never proof or StellarAtlas-hosted repair artifacts.","required":["archiveUrl","archiveUrlIdentity","objectUrl","proof","verifiedAt"],"properties":{"archiveUrl":{"type":"string","format":"uri","description":"Remote source archive root retrieval location; the location is never proof."},"archiveUrlIdentity":{"type":"string","minLength":1,"description":"Normalized identity of the source archive bound to this candidate."},"objectUrl":{"type":"string","format":"uri","description":"Exact remote retrieval location for the candidate object. This location is never proof."},"proof":{"$ref":"#/components/schemas/HistoryArchiveRepairSourceProofV1"},"verifiedAt":{"type":"string","format":"date-time","nullable":true,"description":"Source object verification time; null only when no object-level timestamp was persisted."}}},"HistoryArchiveRepairSourceProofV1":{"type":"object","additionalProperties":false,"required":["anchor","candidateObjectRemoteId","checkpointLedger","contentHash","evaluatedAt","kind","proofId","proofVersion"],"properties":{"anchor":{"type":"object","additionalProperties":false,"required":["kind","sourceCount"],"properties":{"kind":{"type":"string","enum":["content-addressed-bucket","canonical-proof","multi-source","target-digest"]},"sourceCount":{"type":"integer","minimum":1}}},"candidateObjectRemoteId":{"type":"string","minLength":1},"checkpointLedger":{"type":"integer","minimum":0},"contentHash":{"type":"object","additionalProperties":false,"required":["algorithm","digest","representation"],"properties":{"algorithm":{"type":"string","enum":["sha256"]},"digest":{"type":"string","pattern":"^[0-9a-f]{64}$"},"representation":{"type":"string","enum":["canonical-json","uncompressed-xdr"]}}},"evaluatedAt":{"type":"string","format":"date-time"},"kind":{"type":"string","enum":["strict-checkpoint"]},"proofId":{"type":"string","minLength":1},"proofVersion":{"type":"integer","minimum":1}}},"HistoryArchiveRepairArtifactVerifyOnDownloadV1":{"type":"object","additionalProperties":false,"required":["artifactType","byteLength","contentHash","downloadUrl","mediaType","objectIdentity","provenAt","status"],"properties":{"artifactType":{"type":"string","enum":["history-archive-state","checkpoint-state","ledger","transactions","results","scp","bucket"]},"byteLength":{"type":"integer","minimum":1,"nullable":true},"contentHash":{"$ref":"#/components/schemas/HistoryArchiveRepairArtifactContentHashV1"},"downloadUrl":{"type":"string","pattern":"^/v1/archive-scans/repair-artifacts/(buckets/[0-9a-f]{64}|objects/[0-9a-f-]{36}/[1-9][0-9]*/(integrity|missing)/[0-9a-f-]{36}/[1-9][0-9]*/[1-9][0-9]*/[1-9][0-9]*/[0-9a-f]{64})$"},"mediaType":{"type":"string","enum":["application/gzip","application/json"]},"objectIdentity":{"type":"string","minLength":1,"maxLength":512},"provenAt":{"type":"string","format":"date-time"},"status":{"type":"string","enum":["verify-on-download"]}}},"HistoryArchiveRepairArtifactContentHashV1":{"type":"object","required":["algorithm","digest","representation"],"properties":{"algorithm":{"type":"string","enum":["sha256"]},"digest":{"type":"string","pattern":"^[0-9a-f]{64}$"},"representation":{"type":"string","enum":["uncompressed-xdr"]}}},"HistoryArchiveRepairArtifactAvailableV1":{"type":"object","required":["artifactType","byteLength","contentHash","downloadUrl","mediaType","objectIdentity","provenAt","status"],"properties":{"artifactType":{"type":"string","enum":["bucket"]},"byteLength":{"type":"integer","minimum":1},"contentHash":{"$ref":"#/components/schemas/HistoryArchiveRepairArtifactContentHashV1"},"downloadUrl":{"type":"string","pattern":"^/v1/archive-scans/repair-artifacts/buckets/[0-9a-f]{64}$"},"mediaType":{"type":"string","enum":["application/gzip"]},"objectIdentity":{"type":"string","pattern":"^bucket:[0-9a-f]{64}$"},"provenAt":{"type":"string","format":"date-time"},"status":{"type":"string","enum":["available"]}}},"HistoryArchiveRepairArtifactAvailabilityV1":{"oneOf":[{"$ref":"#/components/schemas/HistoryArchiveRepairArtifactAvailableV1"},{"$ref":"#/components/schemas/HistoryArchiveRepairArtifactVerifyOnDownloadV1"},{"$ref":"#/components/schemas/HistoryArchiveRepairArtifactUnavailableV1"}]},"HistoryArchiveRepairArtifactUnavailableV1":{"type":"object","required":["artifactType","contentHash","objectIdentity","reason","retry","status"],"properties":{"artifactType":{"type":"string","enum":["bucket"]},"contentHash":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/HistoryArchiveRepairArtifactContentHashV1"}]},"objectIdentity":{"type":"string","pattern":"^bucket:[0-9a-f]{64}$","nullable":true},"reason":{"type":"string","enum":["content-hash-mismatch","invalid-compressed-payload","invalid-object-identity","local-payload-missing","local-payload-not-regular","local-payload-too-large","local-storage-unavailable","verification-busy","verification-deferred","verification-timeout"]},"retry":{"type":"object","required":["afterSeconds","retryable"],"properties":{"afterSeconds":{"type":"integer","minimum":1,"nullable":true},"retryable":{"type":"boolean"}}},"status":{"type":"string","enum":["unavailable"]}}},"HistoryArchiveEvidenceV2":{"type":"object","additionalProperties":false,"required":["archiveUrl","eventPage","generatedAt","objectPage","remoteFailures","root","workerIssues"],"properties":{"archiveUrl":{"type":"string","format":"uri"},"eventPage":{"$ref":"#/components/schemas/HistoryArchiveObjectEventPageV1"},"generatedAt":{"type":"string","format":"date-time"},"objectPage":{"$ref":"#/components/schemas/HistoryArchiveObjectPageV1"},"remoteFailures":{"$ref":"#/components/schemas/KnownArchiveRemoteFailurePageV1"},"root":{"$ref":"#/components/schemas/KnownArchiveRootEvidenceV1"},"workerIssues":{"$ref":"#/components/schemas/KnownArchiveWorkerIssuePageV1"}}},"HistoryArchiveObjectEventsV1":{"type":"object","required":["count","events","generatedAt","limit"],"properties":{"count":{"type":"integer","minimum":0},"events":{"type":"array","items":{"$ref":"#/components/schemas/HistoryArchiveObjectEventV1"}},"generatedAt":{"type":"string","format":"date-time"},"limit":{"type":"integer","minimum":1}}},"HistoryArchiveObjectSummaryV1":{"type":"object","required":["activeObjects","archiveUrl","archiveUrlIdentity","buckets","checkpoints","failedObjects","generatedAt","hostThrottles","objectTypes","pendingObjects","scope","sources","totalObjects","verifiedObjects"],"properties":{"activeObjects":{"type":"integer","minimum":0},"archiveUrl":{"type":"string","format":"uri","nullable":true},"archiveUrlIdentity":{"type":"string","nullable":true},"buckets":{"$ref":"#/components/schemas/HistoryArchiveBucketCoverageV1"},"checkpoints":{"$ref":"#/components/schemas/HistoryArchiveCheckpointCoverageV1"},"failedObjects":{"type":"integer","minimum":0},"generatedAt":{"type":"string","format":"date-time"},"hostThrottles":{"type":"array","items":{"$ref":"#/components/schemas/HistoryArchiveObjectHostThrottleV1"}},"objectTypes":{"type":"array","items":{"$ref":"#/components/schemas/HistoryArchiveObjectTypeSummaryV1"}},"pendingObjects":{"type":"integer","minimum":0},"scope":{"type":"string","enum":["archive","global"]},"sources":{"type":"array","items":{"$ref":"#/components/schemas/HistoryArchiveSourceSummaryV1"}},"totalObjects":{"type":"integer","minimum":0},"verifiedObjects":{"type":"integer","minimum":0}}},"HistoryArchiveSourceSummaryV1":{"type":"object","additionalProperties":false,"required":["activeObjects","archiveUrl","archiveUrlIdentity","currentLedger","failedObjects","latestCheckpointLedger","latestDiscoveredCheckpointLedger","objectCompleteCheckpoints","observedAt","pendingObjects","rootObjectStatus","source","stateStatus","stateUrl","totalObjects","verifiedCheckpoints","verifiedObjects"],"properties":{"activeObjects":{"type":"integer","minimum":0},"archiveUrl":{"type":"string","format":"uri"},"archiveUrlIdentity":{"type":"string"},"currentLedger":{"type":"integer","minimum":0,"nullable":true},"failedObjects":{"type":"integer","minimum":0},"latestCheckpointLedger":{"type":"integer","minimum":0,"nullable":true},"latestDiscoveredCheckpointLedger":{"type":"integer","minimum":0,"nullable":true},"objectCompleteCheckpoints":{"type":"integer","minimum":0},"observedAt":{"type":"string","format":"date-time"},"pendingObjects":{"type":"integer","minimum":0},"rootObjectStatus":{"type":"string","enum":["pending","scanning","verified","failed"],"nullable":true},"source":{"type":"string","enum":["backfill","history-scanner","network-scan"]},"stateStatus":{"type":"string","enum":["available","invalid","unreachable"]},"stateUrl":{"type":"string","format":"uri"},"totalObjects":{"type":"integer","minimum":0},"verifiedCheckpoints":{"type":"integer","minimum":0},"verifiedObjects":{"type":"integer","minimum":0}}},"HistoryArchiveObjectTypeSummaryV1":{"type":"object","required":["activeObjects","failedObjects","objectType","pendingObjects","totalObjects","verifiedObjects"],"properties":{"activeObjects":{"type":"integer","minimum":0},"failedObjects":{"type":"integer","minimum":0},"objectType":{"type":"string","enum":["history-archive-state","checkpoint-state","ledger","transactions","results","scp","bucket"]},"pendingObjects":{"type":"integer","minimum":0},"totalObjects":{"type":"integer","minimum":0},"verifiedObjects":{"type":"integer","minimum":0}}},"HistoryArchiveObjectHostThrottleV1":{"type":"object","required":["archiveUrlIdentity","blockedUntil","consecutiveFailures","errorType","evidenceClass","failureClass","hostIdentity","httpStatus","lastFailureAt"],"properties":{"archiveUrlIdentity":{"type":"string"},"blockedUntil":{"type":"string","format":"date-time"},"consecutiveFailures":{"type":"integer","minimum":1},"errorType":{"type":"string"},"evidenceClass":{"type":"string","enum":["archive-object","worker-infrastructure","coordinator-infrastructure"]},"failureClass":{"type":"string","enum":["http","auth","not-found","rate-limit","timeout","transport","worker","coordinator","unknown"]},"hostIdentity":{"type":"string"},"httpStatus":{"type":"integer","minimum":100,"maximum":599,"nullable":true},"lastFailureAt":{"type":"string","format":"date-time"}}},"HistoryArchiveCheckpointCoverageV1":{"type":"object","required":["activeArchiveCheckpoints","archiveRootsWithState","categoryConsistencyFailedCheckpoints","categoryConsistencyNotEvaluatedCheckpoints","categoryConsistencyPendingCheckpoints","categoryConsistentArchiveCheckpoints","completeArchiveCheckpoints","durableVerifiedArchiveCheckpoints","discoveryCompleteArchiveRoots","expectedArchiveCheckpoints","failedArchiveCheckpoints","latestCheckpointLedger","missingArchiveCheckpoints","objectCompleteArchiveCheckpoints","oldestCheckpointLedger","partialArchiveCheckpoints","totalArchiveCheckpoints"],"properties":{"activeArchiveCheckpoints":{"type":"integer","minimum":0},"archiveRootsWithState":{"type":"integer","minimum":0},"categoryConsistencyFailedCheckpoints":{"type":"integer","minimum":0},"categoryConsistencyNotEvaluatedCheckpoints":{"type":"integer","minimum":0},"categoryConsistencyPendingCheckpoints":{"type":"integer","minimum":0},"categoryConsistentArchiveCheckpoints":{"type":"integer","minimum":0},"completeArchiveCheckpoints":{"type":"integer","minimum":0},"durableVerifiedArchiveCheckpoints":{"type":"integer","minimum":0},"discoveryCompleteArchiveRoots":{"type":"integer","minimum":0},"expectedArchiveCheckpoints":{"type":"integer","minimum":0},"failedArchiveCheckpoints":{"type":"integer","minimum":0},"latestCheckpointLedger":{"type":"integer","minimum":0,"nullable":true},"missingArchiveCheckpoints":{"type":"integer","minimum":0},"objectCompleteArchiveCheckpoints":{"type":"integer","minimum":0},"oldestCheckpointLedger":{"type":"integer","minimum":0,"nullable":true},"partialArchiveCheckpoints":{"type":"integer","minimum":0},"totalArchiveCheckpoints":{"type":"integer","minimum":0}}},"HistoryArchiveBucketCoverageV1":{"type":"object","required":["activeBucketObjects","failedBucketObjects","pendingBucketObjects","totalBucketObjects","uniqueBucketHashes","verifiedBucketObjects"],"properties":{"activeBucketObjects":{"type":"integer","minimum":0},"failedBucketObjects":{"type":"integer","minimum":0},"pendingBucketObjects":{"type":"integer","minimum":0},"totalBucketObjects":{"type":"integer","minimum":0},"uniqueBucketHashes":{"type":"integer","minimum":0},"verifiedBucketObjects":{"type":"integer","minimum":0}}},"HistoryArchiveObjectQueueV1":{"type":"object","required":["generatedAt","pendingObjects","activeObjects","verifiedObjects","failedObjects","objects"],"properties":{"generatedAt":{"type":"string","format":"date-time"},"pendingObjects":{"type":"integer","minimum":0},"activeObjects":{"type":"integer","minimum":0},"verifiedObjects":{"type":"integer","minimum":0},"failedObjects":{"type":"integer","minimum":0},"objects":{"type":"array","items":{"$ref":"#/components/schemas/HistoryArchiveObjectV1"}}}},"HistoryArchiveStatusSummaryV1":{"type":"object","additionalProperties":false,"required":["activeObjectChecks","checkpointCoverage","generatedAt","sourceCount","sourceLimit","sources","sourcesTruncated","transitionReconciliation"],"properties":{"activeObjectChecks":{"type":"integer","minimum":0},"checkpointCoverage":{"$ref":"#/components/schemas/HistoryArchiveCheckpointCoverageV1"},"generatedAt":{"type":"string","format":"date-time"},"sourceCount":{"type":"integer","minimum":0},"sourceLimit":{"type":"integer","enum":[256]},"sources":{"type":"array","maxItems":256,"items":{"$ref":"#/components/schemas/HistoryArchiveStatusSourceV1"}},"sourcesTruncated":{"type":"boolean"},"transitionReconciliation":{"$ref":"#/components/schemas/HistoryArchiveTransitionReconciliationV1"}}},"HistoryArchiveTransitionReconciliationV1":{"type":"object","properties":{"oldestPendingAgeMs":{"type":"number","minimum":0,"nullable":true},"oldestPendingAt":{"type":"string","format":"date-time","nullable":true},"pendingTerminalEffects":{"type":"number","minimum":0},"status":{"type":"string","enum":["caught-up","reconciling","stalled"]}},"required":["oldestPendingAgeMs","oldestPendingAt","pendingTerminalEffects","status"],"additionalProperties":false},"HistoryArchiveStatusSourceV1":{"type":"object","additionalProperties":false,"required":["activeObjectChecks","archiveUrl","archiveUrlIdentity","currentLedger","durableVerifiedCheckpointProofs","latestCheckpointLedger","latestDiscoveredCheckpointLedger","mismatchCheckpointProofs","notEvaluableCheckpointProofs","objectCompleteCheckpointProofs","observedAt","pendingCheckpointProofs","rootObjectStatus","source","stateStatus","stateUrl","totalCheckpointProofs","verifiedCheckpointProofs"],"properties":{"activeObjectChecks":{"type":"integer","minimum":0},"archiveUrl":{"type":"string","format":"uri"},"archiveUrlIdentity":{"type":"string"},"currentLedger":{"type":"integer","minimum":0,"nullable":true},"durableVerifiedCheckpointProofs":{"type":"integer","minimum":0},"latestCheckpointLedger":{"type":"integer","minimum":0,"nullable":true},"latestDiscoveredCheckpointLedger":{"type":"integer","minimum":0,"nullable":true},"mismatchCheckpointProofs":{"type":"integer","minimum":0},"notEvaluableCheckpointProofs":{"type":"integer","minimum":0},"objectCompleteCheckpointProofs":{"type":"integer","minimum":0},"observedAt":{"type":"string","format":"date-time"},"pendingCheckpointProofs":{"type":"integer","minimum":0},"rootObjectStatus":{"type":"string","enum":["pending","scanning","verified","failed"],"nullable":true},"source":{"type":"string","enum":["backfill","history-scanner","network-scan"]},"stateStatus":{"type":"string","enum":["available","invalid","unreachable"]},"stateUrl":{"type":"string","format":"uri"},"totalCheckpointProofs":{"type":"integer","minimum":0},"verifiedCheckpointProofs":{"type":"integer","minimum":0},"scanCoverage":{"type":"object","description":"Distinct checkpoint scan positions. Checks include recorded failures. Complete listing gaps are separate evidence; the scanned count is their union, not their sum. While reconciling, counts are lower bounds. This is not verified proof coverage.","properties":{"checkedCheckpointPositions":{"type":"integer","minimum":0},"listingCoveredCheckpointPositions":{"type":"integer","minimum":0},"scannedCheckpointPositions":{"type":"integer","minimum":0},"status":{"type":"string","enum":["reconciling","complete"]},"updatedAt":{"type":"string","format":"date-time","nullable":true}},"required":["checkedCheckpointPositions","listingCoveredCheckpointPositions","scannedCheckpointPositions","status","updatedAt"],"additionalProperties":false},"failureSummary":{"type":"object","properties":{"status":{"type":"string","enum":["current","stale","unavailable"]},"computedAt":{"type":"string","format":"date-time","nullable":true},"groups":{"type":"array","maxItems":20,"items":{"type":"object","properties":{"objectType":{"type":"string","enum":["history-archive-state","checkpoint-state","ledger","transactions","results","scp","bucket"]},"failureChannel":{"type":"string","enum":["archive_evidence","archive_availability"]},"errorType":{"type":"string","maxLength":4096,"nullable":true},"errorMessage":{"type":"string","maxLength":4096,"nullable":true},"httpStatus":{"type":"integer","minimum":100,"maximum":599,"nullable":true},"count":{"type":"integer","minimum":0},"knownAffectedCheckpointCount":{"type":"integer","minimum":0,"nullable":true},"unknownCheckpointFailureCount":{"type":"integer","minimum":0,"nullable":true}},"required":["objectType","failureChannel","errorType","errorMessage","httpStatus","count"],"additionalProperties":false}},"limit":{"type":"integer","minimum":1,"maximum":20},"totalGroups":{"type":"integer","minimum":0,"nullable":true},"remainingGroupCount":{"type":"integer","minimum":0,"nullable":true},"remainingFailureCount":{"type":"integer","minimum":0,"nullable":true},"remoteFailureCount":{"type":"integer","minimum":0,"nullable":true},"workerIssueCount":{"type":"integer","minimum":0,"nullable":true},"knownAffectedCheckpointCount":{"type":"integer","minimum":0,"nullable":true},"unknownCheckpointFailureCount":{"type":"integer","minimum":0,"nullable":true}},"required":["status","computedAt","groups","limit","totalGroups","remainingGroupCount","remainingFailureCount","remoteFailureCount","workerIssueCount"],"additionalProperties":false,"nullable":true}}},"HistoryArchiveBucketCrossCoverageV1":{"type":"object","required":["archiveRoots","bucketHash","counts","failedCopies","generatedAt","pendingCopies","scanningCopies","verifiedCopies"],"properties":{"archiveRoots":{"type":"array","items":{"$ref":"#/components/schemas/HistoryArchiveBucketArchiveRootV1"}},"bucketHash":{"type":"string","pattern":"^[0-9a-f]{64}$"},"counts":{"$ref":"#/components/schemas/HistoryArchiveBucketCoverageCountsV1"},"failedCopies":{"type":"array","items":{"$ref":"#/components/schemas/HistoryArchiveBucketCopyV1"}},"generatedAt":{"type":"string","format":"date-time"},"pendingCopies":{"type":"array","items":{"$ref":"#/components/schemas/HistoryArchiveBucketCopyV1"}},"scanningCopies":{"type":"array","items":{"$ref":"#/components/schemas/HistoryArchiveBucketCopyV1"}},"verifiedCopies":{"type":"array","items":{"$ref":"#/components/schemas/HistoryArchiveBucketCopyV1"}}}},"HistoryArchiveBucketCopyV1":{"type":"object","required":["archiveUrl","archiveUrlIdentity","attempts","bytesDownloaded","claimedAt","error","nextAttemptAt","objectKey","objectUrl","remoteId","status","updatedAt","verifiedAt","workerStage"],"properties":{"archiveUrl":{"type":"string","format":"uri"},"archiveUrlIdentity":{"type":"string"},"attempts":{"type":"integer","minimum":0},"bytesDownloaded":{"type":"integer","minimum":0,"nullable":true},"claimedAt":{"type":"string","format":"date-time","nullable":true},"error":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/HistoryArchiveObjectErrorV1"}]},"nextAttemptAt":{"type":"string","format":"date-time","nullable":true},"objectKey":{"type":"string"},"objectUrl":{"type":"string","format":"uri"},"remoteId":{"type":"string","format":"uuid"},"status":{"type":"string","enum":["pending","scanning","verified","failed"]},"updatedAt":{"type":"string","format":"date-time"},"verifiedAt":{"type":"string","format":"date-time","nullable":true},"workerStage":{"type":"string","nullable":true}}},"HistoryArchiveBucketCoverageCountsV1":{"type":"object","required":["archiveRoots","failedCopies","pendingCopies","scanningCopies","totalCopies","verifiedCopies"],"properties":{"archiveRoots":{"type":"integer","minimum":0},"failedCopies":{"type":"integer","minimum":0},"pendingCopies":{"type":"integer","minimum":0},"scanningCopies":{"type":"integer","minimum":0},"totalCopies":{"type":"integer","minimum":0},"verifiedCopies":{"type":"integer","minimum":0}}},"HistoryArchiveBucketArchiveRootV1":{"type":"object","required":["archiveUrl","archiveUrlIdentity","status","updatedAt","verifiedAt"],"properties":{"archiveUrl":{"type":"string","format":"uri"},"archiveUrlIdentity":{"type":"string"},"status":{"type":"string","enum":["pending","scanning","verified","failed"]},"updatedAt":{"type":"string","format":"date-time"},"verifiedAt":{"type":"string","format":"date-time","nullable":true}}},"LegacyArchiveScanFreshnessProbeDTO":{"type":"object","additionalProperties":false,"required":["ageMs","deprecated","drivesPlatformStatus","drivesRuntimeHealth","historical","latestAt","source","staleAfterMs","status"],"properties":{"ageMs":{"type":"integer","minimum":0,"nullable":true},"deprecated":{"type":"boolean","enum":[true]},"drivesPlatformStatus":{"type":"boolean","enum":[false]},"drivesRuntimeHealth":{"type":"boolean","enum":[false]},"historical":{"type":"boolean","enum":[true]},"latestAt":{"type":"string","format":"date-time","nullable":true},"source":{"type":"string","enum":["legacy_range_scan"]},"staleAfterMs":{"type":"integer","minimum":0,"nullable":true},"status":{"type":"string","enum":["ok","degraded","unavailable"]}}},"FbasTopTierHistory":{"type":"object","required":["generatedAt","from","to","maxWindowDays","dayCount","evidenceSelection","proofSetPersistence","points"],"properties":{"generatedAt":{"type":"string","format":"date-time"},"from":{"type":"string","format":"date"},"to":{"type":"string","format":"date"},"maxWindowDays":{"type":"integer","minimum":1,"maximum":90},"dayCount":{"type":"integer","minimum":0},"evidenceSelection":{"type":"string","enum":["network_measurement_day_rollups"]},"proofSetPersistence":{"type":"string","enum":["not_persisted"]},"points":{"type":"array","items":{"$ref":"#/components/schemas/FbasTopTierHistoryPoint"}}}},"FbasTopTierHistoryPoint":{"type":"object","required":["day","crawlCount","hasData","topTier","topTierOrganizations","hasQuorumIntersectionCount","hasSymmetricTopTierCount","hasTransitiveQuorumSetCount"],"properties":{"day":{"type":"string","format":"date"},"crawlCount":{"type":"integer","minimum":0},"hasData":{"type":"boolean"},"topTier":{"$ref":"#/components/schemas/FbasTopTierHistoryMetric"},"topTierOrganizations":{"$ref":"#/components/schemas/FbasTopTierHistoryMetric"},"hasQuorumIntersectionCount":{"type":"integer","minimum":0},"hasSymmetricTopTierCount":{"type":"integer","minimum":0},"hasTransitiveQuorumSetCount":{"type":"integer","minimum":0}}},"FbasTopTierHistoryMetric":{"type":"object","required":["min","max","average"],"properties":{"min":{"type":"number"},"max":{"type":"number"},"average":{"type":"number","nullable":true}}},"FbasAnalysisProof":{"type":"object","required":["generatedAt","evidenceSelection","proofSetPersistence","scanId","scanTime","schemaVersion","payloadBytes","proof"],"properties":{"generatedAt":{"type":"string","format":"date-time"},"evidenceSelection":{"type":"string","enum":["network_scan_fbas_proof"]},"proofSetPersistence":{"type":"string","enum":["persisted"]},"scanId":{"type":"integer","minimum":1,"maximum":2147483647},"scanTime":{"type":"string","format":"date-time"},"schemaVersion":{"type":"integer","minimum":1},"payloadBytes":{"type":"integer","minimum":0,"maximum":1000000,"description":"Serialized byte size of the full persisted FBAS proof artifact."},"proof":{"$ref":"#/components/schemas/FbasProofPayload"}}},"FbasProofPayload":{"type":"object","required":["version","complete","limits","hasQuorumIntersection","hasSymmetricTopTier","minimalQuorums","node","organization","country","isp","symmetricTopTier"],"properties":{"version":{"type":"integer","enum":[1]},"complete":{"type":"boolean","description":"True only when every captured proof family is exhaustive under the recorded limits."},"limits":{"$ref":"#/components/schemas/FbasProofCaptureLimits"},"hasQuorumIntersection":{"type":"boolean"},"hasSymmetricTopTier":{"type":"boolean"},"minimalQuorums":{"$ref":"#/components/schemas/FbasMinimalQuorumsProof"},"node":{"$ref":"#/components/schemas/FbasMergedProofArtifact"},"organization":{"$ref":"#/components/schemas/FbasMergedProofArtifact"},"country":{"$ref":"#/components/schemas/FbasMergedProofArtifact"},"isp":{"$ref":"#/components/schemas/FbasMergedProofArtifact"},"symmetricTopTier":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/FbasSymmetricTopTierProof"}]}}},"FbasSymmetricTopTierProof":{"type":"object","required":["complete","innerQuorumSets","innerQuorumSetsCaptureLimit","threshold","validators"],"properties":{"complete":{"type":"boolean"},"innerQuorumSets":{"nullable":true,"type":"array","items":{"$ref":"#/components/schemas/FbasSymmetricTopTierProof"}},"innerQuorumSetsCaptureLimit":{"type":"integer","minimum":0},"threshold":{"type":"integer","minimum":0},"validators":{"$ref":"#/components/schemas/FbasMembershipCapture"}}},"FbasMembershipCapture":{"type":"object","required":["captureLimit","capturedCount","complete","members","totalCount"],"properties":{"captureLimit":{"type":"integer","minimum":0},"capturedCount":{"type":"integer","minimum":0},"complete":{"type":"boolean"},"members":{"type":"array","items":{"type":"string"}},"totalCount":{"type":"integer","minimum":0}}},"FbasMergedProofArtifact":{"type":"object","required":["blockingSets","blockingSetsFiltered","splittingSets","topTier"],"properties":{"blockingSets":{"$ref":"#/components/schemas/FbasProofSetFamily"},"blockingSetsFiltered":{"$ref":"#/components/schemas/FbasProofSetFamily"},"splittingSets":{"$ref":"#/components/schemas/FbasProofSetFamily"},"topTier":{"$ref":"#/components/schemas/FbasMembershipCapture"}}},"FbasProofSetFamily":{"type":"object","required":["captureLimit","capturedCount","complete","memberLimit","minSize","sets","totalCount"],"properties":{"captureLimit":{"type":"integer","minimum":0},"capturedCount":{"type":"integer","minimum":0},"complete":{"type":"boolean"},"memberLimit":{"type":"integer","minimum":0},"minSize":{"type":"integer","minimum":0},"sets":{"type":"array","items":{"type":"array","items":{"type":"string"}}},"totalCount":{"type":"integer","minimum":0}}},"FbasMinimalQuorumsProof":{"type":"object","required":["quorumIntersection","quorums"],"properties":{"quorumIntersection":{"type":"boolean"},"quorums":{"$ref":"#/components/schemas/FbasProofSetFamily"}}},"FbasProofCaptureLimits":{"type":"object","required":["proofSetMembers","proofSetsPerFamily","symmetricTopTierDepth","symmetricTopTierInnerSets","topTierMembers"],"properties":{"proofSetMembers":{"type":"integer","minimum":0},"proofSetsPerFamily":{"type":"integer","minimum":0},"symmetricTopTierDepth":{"type":"integer","minimum":0},"symmetricTopTierInnerSets":{"type":"integer","minimum":0},"topTierMembers":{"type":"integer","minimum":0}}},"FbasAnalysis":{"type":"object","required":["generatedAt","evidenceSelection","proofSetPersistence","scanId","scanTime","latestLedger","latestLedgerCloseTime","processedLedgers","summary"],"properties":{"generatedAt":{"type":"string","format":"date-time"},"evidenceSelection":{"type":"string","enum":["completed_network_scan_measurement"]},"proofSetPersistence":{"type":"string","enum":["not_persisted"]},"scanId":{"type":"integer","minimum":1,"maximum":2147483647},"scanTime":{"type":"string","format":"date-time"},"latestLedger":{"type":"string"},"latestLedgerCloseTime":{"type":"string","format":"date-time","nullable":true},"processedLedgers":{"type":"array","items":{"type":"integer"}},"summary":{"$ref":"#/components/schemas/FbasAnalysisSummary"}}},"FbasAnalysisSummary":{"type":"object","required":["nrOfActiveWatchers","nrOfConnectableNodes","nrOfActiveValidators","nrOfActiveFullValidators","nrOfActiveOrganizations","transitiveQuorumSetSize","hasTransitiveQuorumSet","topTierSize","topTierOrgsSize","hasSymmetricTopTier","hasQuorumIntersection","minBlockingSetSize","minBlockingSetFilteredSize","minBlockingSetOrgsSize","minBlockingSetOrgsFilteredSize","minBlockingSetCountrySize","minBlockingSetCountryFilteredSize","minBlockingSetISPSize","minBlockingSetISPFilteredSize","minSplittingSetSize","minSplittingSetOrgsSize","minSplittingSetCountrySize","minSplittingSetISPSize"],"properties":{"nrOfActiveWatchers":{"type":"integer"},"nrOfConnectableNodes":{"type":"integer"},"nrOfActiveValidators":{"type":"integer"},"nrOfActiveFullValidators":{"type":"integer"},"nrOfActiveOrganizations":{"type":"integer"},"transitiveQuorumSetSize":{"type":"integer"},"hasTransitiveQuorumSet":{"type":"boolean"},"topTierSize":{"type":"integer"},"topTierOrgsSize":{"type":"integer"},"hasSymmetricTopTier":{"type":"boolean"},"hasQuorumIntersection":{"type":"boolean"},"minBlockingSetSize":{"type":"integer"},"minBlockingSetFilteredSize":{"type":"integer"},"minBlockingSetOrgsSize":{"type":"integer"},"minBlockingSetOrgsFilteredSize":{"type":"integer"},"minBlockingSetCountrySize":{"type":"integer"},"minBlockingSetCountryFilteredSize":{"type":"integer"},"minBlockingSetISPSize":{"type":"integer"},"minBlockingSetISPFilteredSize":{"type":"integer"},"minSplittingSetSize":{"type":"integer"},"minSplittingSetOrgsSize":{"type":"integer"},"minSplittingSetCountrySize":{"type":"integer"},"minSplittingSetISPSize":{"type":"integer"}}},"FbasSplittingSets":{"allOf":[{"$ref":"#/components/schemas/FbasLatestProofSetBase"},{"type":"object","required":["setType","node","organization","country","isp"],"properties":{"setType":{"type":"string","enum":["splitting_sets"]},"node":{"$ref":"#/components/schemas/FbasSplittingSetDimension"},"organization":{"$ref":"#/components/schemas/FbasSplittingSetDimension"},"country":{"$ref":"#/components/schemas/FbasSplittingSetDimension"},"isp":{"$ref":"#/components/schemas/FbasSplittingSetDimension"}}}]},"FbasSplittingSetDimension":{"type":"object","required":["splittingSets"],"properties":{"splittingSets":{"$ref":"#/components/schemas/FbasProofSetFamily"}}},"FbasLatestProofSetBase":{"type":"object","required":["generatedAt","evidenceSelection","proofSetPersistence","scanId","scanTime","schemaVersion","payloadBytes","limits","complete"],"properties":{"generatedAt":{"type":"string","format":"date-time"},"evidenceSelection":{"type":"string","enum":["latest_network_scan_fbas_proof"]},"proofSetPersistence":{"type":"string","enum":["persisted"]},"scanId":{"type":"integer","minimum":1,"maximum":2147483647},"scanTime":{"type":"string","format":"date-time"},"schemaVersion":{"type":"integer","minimum":1},"payloadBytes":{"type":"integer","minimum":0,"maximum":1000000,"description":"Serialized byte size of the full persisted FBAS proof artifact, not just this filtered response."},"limits":{"$ref":"#/components/schemas/FbasProofCaptureLimits"},"complete":{"type":"boolean","description":"True when every returned proof family is exhaustive under the recorded limits."}}},"FbasBlockingSets":{"allOf":[{"$ref":"#/components/schemas/FbasLatestProofSetBase"},{"type":"object","required":["setType","node","organization","country","isp"],"properties":{"setType":{"type":"string","enum":["blocking_sets"]},"node":{"$ref":"#/components/schemas/FbasBlockingSetDimension"},"organization":{"$ref":"#/components/schemas/FbasBlockingSetDimension"},"country":{"$ref":"#/components/schemas/FbasBlockingSetDimension"},"isp":{"$ref":"#/components/schemas/FbasBlockingSetDimension"}}}]},"FbasBlockingSetDimension":{"type":"object","required":["blockingSets","blockingSetsFiltered"],"properties":{"blockingSets":{"$ref":"#/components/schemas/FbasProofSetFamily"},"blockingSetsFiltered":{"$ref":"#/components/schemas/FbasProofSetFamily"}}},"ErrorResponse":{"type":"object","required":["error"],"properties":{"error":{"type":"string"}}},"TransactionLookup":{"type":"object","required":["createdAt","feeCharged","hash","ledger","operationCount","source","sourceAccount","successful"],"properties":{"createdAt":{"type":"string","format":"date-time"},"feeCharged":{"type":"string"},"hash":{"type":"string"},"ledger":{"type":"string"},"operationCount":{"type":"integer","minimum":0},"source":{"type":"string","enum":["horizon","postgres_canonical"]},"sourceAccount":{"type":"string"},"successful":{"type":"boolean"}}},"LedgerIngestionStatus":{"type":"object","required":["generatedAt","header","ledger","parsedHeaderAvailable","status"],"properties":{"generatedAt":{"type":"string","format":"date-time"},"header":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/LedgerIngestionHeader"}]},"ledger":{"type":"string"},"parsedHeaderAvailable":{"type":"boolean"},"status":{"type":"string","enum":["parsed","unparsed"]}}},"LedgerIngestionHeader":{"type":"object","required":["bucketListHash","ledgerHeaderHash","protocolVersion","sourceArchiveUrl","transactionResultHash","transactionSetHash"],"properties":{"bucketListHash":{"type":"string"},"ledgerHeaderHash":{"type":"string"},"protocolVersion":{"type":"integer"},"sourceArchiveUrl":{"type":"string"},"transactionResultHash":{"type":"string"},"transactionSetHash":{"type":"string"}}},"IndexingRanges":{"type":"object","required":["generatedAt","limit","ranges"],"properties":{"generatedAt":{"type":"string","format":"date-time"},"limit":{"type":"integer","minimum":1,"maximum":100},"ranges":{"type":"array","items":{"$ref":"#/components/schemas/IndexingRange"}}}},"IndexingRange":{"type":"object","required":["archiveUrl","earliestParsedLedger","latestObservedAt","latestParsedLedger","parsedLedgerCount"],"properties":{"archiveUrl":{"type":"string"},"earliestParsedLedger":{"type":"string"},"latestObservedAt":{"type":"string","format":"date-time"},"latestParsedLedger":{"type":"string"},"parsedLedgerCount":{"type":"integer","minimum":0}}},"IngestionStatus":{"allOf":[{"$ref":"#/components/schemas/FullHistoryStatus"},{"type":"object","required":["queue"],"properties":{"queue":{"$ref":"#/components/schemas/IngestionQueueSummary"}}}]},"IngestionQueueSummary":{"type":"object","required":["doneJobs","pendingJobs","takenJobs","latestJobUpdateAt"],"properties":{"doneJobs":{"type":"integer","minimum":0},"pendingJobs":{"type":"integer","minimum":0},"takenJobs":{"type":"integer","minimum":0},"latestJobUpdateAt":{"type":"string","format":"date-time","nullable":true}}},"FullHistoryStatus":{"type":"object","required":["canonicalCoverage","canonicalPromotion","generatedAt","status","mode","parsedLedgerCount","earliestParsedLedger","latestParsedLedger","latestObservedAt","sourceArchiveCount","localTransactionIndexReady","localOperationIndexReady","localAssetIndexReady","localContractIndexReady"],"properties":{"canonicalCoverage":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/CanonicalFullHistoryCoverage"}]},"canonicalPromotion":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/CanonicalFullHistoryPromotion"}]},"generatedAt":{"type":"string","format":"date-time"},"status":{"type":"string","enum":["ok","degraded","unavailable"]},"mode":{"type":"string","enum":["archive_header_parser","canonical_checkpoint_index"]},"parsedLedgerCount":{"type":"integer","minimum":0,"nullable":true},"earliestParsedLedger":{"type":"string","nullable":true},"latestParsedLedger":{"type":"string","nullable":true},"latestObservedAt":{"type":"string","format":"date-time","nullable":true},"sourceArchiveCount":{"type":"integer","minimum":0,"nullable":true},"localTransactionIndexReady":{"type":"boolean"},"localOperationIndexReady":{"type":"boolean"},"localAssetIndexReady":{"type":"boolean"},"localContractIndexReady":{"type":"boolean"}}},"CanonicalFullHistoryPromotion":{"type":"object","required":["checkpointLedger","heartbeatAt","lastAttemptAt","lastErrorCode","lastFailureAt","lastOutcome","lastSuccessAt","nextLedger","startedAt","state"],"properties":{"checkpointLedger":{"type":"string","pattern":"^[0-9]+$","nullable":true},"heartbeatAt":{"type":"string","format":"date-time"},"lastAttemptAt":{"type":"string","format":"date-time","nullable":true},"lastErrorCode":{"type":"string","maxLength":64,"nullable":true},"lastFailureAt":{"type":"string","format":"date-time","nullable":true},"lastOutcome":{"type":"string","enum":["bootstrap-required","proof-pending","promoted","replayed"],"nullable":true},"lastSuccessAt":{"type":"string","format":"date-time","nullable":true},"nextLedger":{"type":"string","pattern":"^[0-9]+$","nullable":true},"startedAt":{"type":"string","format":"date-time"},"state":{"type":"string","enum":["failed","promoting","running","stale","stopped","waiting-for-proof"]}}},"CanonicalFullHistoryCoverage":{"type":"object","required":["archiveSourceCount","source","rangeKind","batchCount","ledgerCount","transactionCount","transactionResultCount","firstLedger","lastLedger","latestEvidence","nextLedger","latestLedgerClosedAt","updatedAt"],"properties":{"archiveSourceCount":{"type":"integer","minimum":1},"source":{"type":"string","enum":["postgres_canonical"]},"rangeKind":{"type":"string","enum":["contiguous_bounded"]},"batchCount":{"type":"integer","minimum":1},"ledgerCount":{"type":"integer","minimum":1},"transactionCount":{"type":"integer","minimum":0},"transactionResultCount":{"type":"integer","minimum":0},"firstLedger":{"type":"string","pattern":"^[0-9]+$"},"lastLedger":{"type":"string","pattern":"^[0-9]+$"},"latestEvidence":{"$ref":"#/components/schemas/CanonicalLatestEvidence"},"nextLedger":{"type":"string","pattern":"^[0-9]+$"},"latestLedgerClosedAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}}},"CanonicalLatestEvidence":{"type":"object","required":["archiveUrlIdentity","batchId","checkpointLedger","checkpointProofId","decoderVersion","firstLedger","ingestedAt","lastLedger","proofEvaluatedAt","proofVersion","sourceObjects"],"properties":{"archiveUrlIdentity":{"type":"string","minLength":1},"batchId":{"type":"string","format":"uuid"},"checkpointLedger":{"type":"string","pattern":"^[0-9]+$"},"checkpointProofId":{"type":"integer","minimum":1},"decoderVersion":{"type":"string","minLength":1},"firstLedger":{"type":"string","pattern":"^[0-9]+$"},"ingestedAt":{"type":"string","format":"date-time"},"lastLedger":{"type":"string","pattern":"^[0-9]+$"},"proofEvaluatedAt":{"type":"string","format":"date-time"},"proofVersion":{"type":"integer","minimum":1},"sourceObjects":{"type":"object","required":["checkpointState","ledger","results","transactions"],"properties":{"checkpointState":{"$ref":"#/components/schemas/CanonicalJsonSourceObjectEvidence"},"ledger":{"$ref":"#/components/schemas/CanonicalXdrSourceObjectEvidence"},"results":{"$ref":"#/components/schemas/CanonicalXdrSourceObjectEvidence"},"transactions":{"$ref":"#/components/schemas/CanonicalXdrSourceObjectEvidence"}}}}},"CanonicalXdrSourceObjectEvidence":{"type":"object","required":["algorithm","contentDigest","objectRemoteId","representation"],"properties":{"algorithm":{"type":"string","enum":["sha256"]},"contentDigest":{"type":"string","pattern":"^[0-9a-f]{64}$"},"objectRemoteId":{"type":"string","format":"uuid"},"representation":{"type":"string","enum":["canonical-json","uncompressed-xdr"]}}},"CanonicalJsonSourceObjectEvidence":{"type":"object","required":["algorithm","contentDigest","objectRemoteId","representation"],"properties":{"algorithm":{"type":"string","enum":["sha256"]},"contentDigest":{"type":"string","pattern":"^[0-9a-f]{64}$"},"objectRemoteId":{"type":"string","format":"uuid"},"representation":{"type":"string","enum":["canonical-json"]}}},"ExplorerContract":{"type":"object","required":["contractId","message","probe","readiness","source","status"],"properties":{"contractId":{"type":"string"},"message":{"type":"string"},"probe":{"type":"string","enum":["not_run"]},"readiness":{"type":"string","enum":["configured_not_probed","planned"]},"source":{"type":"string","enum":["rpc"]},"status":{"type":"string","enum":["configured_not_probed","loaded","not_configured"]}}},"ExplorerOperations":{"type":"object","required":["filters","records","source","truncated"],"properties":{"count":{"type":"integer","minimum":0},"coverage":{"type":"object","required":["accountReferenceIndexedBatches","accountReferencesComplete","canonicalBatches","complete","firstAccountReferenceIndexedLedger","firstIndexedLedger","firstOutcomeIndexedLedger","indexedBatches","lastAccountReferenceIndexedLedger","lastIndexedLedger","lastOutcomeIndexedLedger","outcomeIndexedBatches","operationFactsComplete","outcomesComplete"],"properties":{"accountReferenceIndexedBatches":{"type":"integer","minimum":0},"accountReferencesComplete":{"type":"boolean"},"canonicalBatches":{"type":"integer","minimum":0},"complete":{"type":"boolean"},"firstAccountReferenceIndexedLedger":{"type":"string","nullable":true},"firstIndexedLedger":{"type":"string","nullable":true},"firstOutcomeIndexedLedger":{"type":"string","nullable":true},"indexedBatches":{"type":"integer","minimum":0},"lastAccountReferenceIndexedLedger":{"type":"string","nullable":true},"lastIndexedLedger":{"type":"string","nullable":true},"lastOutcomeIndexedLedger":{"type":"string","nullable":true},"outcomeIndexedBatches":{"type":"integer","minimum":0},"operationFactsComplete":{"type":"boolean"},"outcomesComplete":{"type":"boolean"}}},"factBoundary":{"type":"object","required":["excludes","includes","outcomes"],"properties":{"excludes":{"type":"string","enum":["state_effects_soroban_auth_signers_and_asset_issuers"]},"includes":{"type":"string","enum":["operation_type_effective_source_and_explicit_envelope_account_references"]},"outcomes":{"type":"string","enum":["transaction_result_xdr_when_indexed"]}}},"filters":{"$ref":"#/components/schemas/ExplorerOperationFilters"},"records":{"type":"array","items":{"$ref":"#/components/schemas/ExplorerOperation"}},"generatedAt":{"type":"string","format":"date-time"},"limit":{"type":"integer","minimum":1,"maximum":100},"source":{"type":"string","enum":["horizon","postgres_canonical"]},"truncated":{"type":"boolean"}}},"ExplorerOperation":{"type":"object","required":["createdAt","id","ledger","source","sourceAccount","transactionHash","type"],"properties":{"accountReferences":{"type":"array","description":"Proof-gated source/body XDR participants on postgres_canonical rows; absent on Horizon fallback rows. Excludes state/effects, Soroban auth, signers, and asset issuers.","items":{"$ref":"#/components/schemas/ExplorerOperationAccountReference"}},"createdAt":{"type":"string","format":"date-time"},"evidence":{"type":"object","required":["accountReferenceDecoderVersion","archiveSource","batchId","checkpointLedger","checkpointProofId","decoderVersion","proofEvaluatedAt","proofVersion"],"properties":{"accountReferenceDecoderVersion":{"type":"string","nullable":true},"archiveSource":{"type":"string"},"batchId":{"type":"string","format":"uuid"},"checkpointLedger":{"type":"string"},"checkpointProofId":{"type":"integer","minimum":1},"decoderVersion":{"type":"string"},"proofEvaluatedAt":{"type":"string","format":"date-time"},"proofVersion":{"type":"integer","minimum":1}}},"factScope":{"type":"string","enum":["operation_body_and_envelope"]},"id":{"type":"string"},"ledger":{"type":"string","nullable":true},"operationIndex":{"type":"integer","minimum":0},"operationResultCode":{"type":"integer","nullable":true,"minimum":-6,"maximum":0},"operationSpecificResultCode":{"type":"integer","nullable":true},"outcome":{"type":"string","nullable":true,"enum":["failed","not_applied","succeeded"]},"outcomeAvailable":{"type":"boolean"},"outcomeEvidence":{"type":"object","nullable":true,"required":["decoderVersion","factScope"],"properties":{"decoderVersion":{"type":"string"},"factScope":{"type":"string","enum":["transaction_result_xdr"]}}},"source":{"type":"string","enum":["horizon","postgres_canonical"]},"sourceAccount":{"type":"string","nullable":true},"sourceAccountOrigin":{"type":"string","enum":["operation","transaction"]},"successful":{"type":"boolean","nullable":true},"transactionHash":{"type":"string","nullable":true},"transactionIndex":{"type":"integer","minimum":0},"type":{"type":"string"},"typeNumber":{"type":"integer","nullable":true}}},"ExplorerOperationAccountReference":{"type":"object","required":["accountId","baseAccountId","role"],"properties":{"accountId":{"type":"string","description":"Exact G or M identity represented by operation envelope XDR."},"baseAccountId":{"type":"string","description":"Underlying G identity used for base-account matching."},"role":{"type":"string","enum":["claimant","clawback_source","destination","effective_source","inflation_destination","offer_seller","sponsored_account","sponsorship_account","trustor"]}}},"ExplorerOperationFilters":{"type":"object","properties":{"accountId":{"type":"string"},"destinationAccount":{"type":"string"},"firstLedger":{"type":"string"},"from":{"type":"string","format":"date-time"},"ledger":{"type":"string"},"lastLedger":{"type":"string"},"operationType":{"type":"string"},"sourceAccount":{"type":"string"},"to":{"type":"string","format":"date-time"},"transactionHash":{"type":"string"}}},"ExplorerAssets":{"type":"object","required":["assets","source","truncated"],"properties":{"assets":{"type":"array","items":{"$ref":"#/components/schemas/ExplorerAsset"}},"source":{"type":"string","enum":["horizon"]},"truncated":{"type":"boolean"}}},"ExplorerAsset":{"type":"object","required":["amount","assetCode","assetIssuer","assetType","numAccounts","source"],"properties":{"amount":{"type":"string","nullable":true},"assetCode":{"type":"string","nullable":true},"assetIssuer":{"type":"string","nullable":true},"assetType":{"type":"string"},"numAccounts":{"type":"integer","nullable":true,"minimum":0},"source":{"type":"string","enum":["horizon"]}}},"ExplorerLocalAccountChanges":{"oneOf":[{"$ref":"#/components/schemas/ExplorerLocalAccountChangesAvailable"},{"$ref":"#/components/schemas/ExplorerLocalAccountChangesNotObserved"},{"$ref":"#/components/schemas/ExplorerLocalAccountChangesUnavailable"}]},"ExplorerLocalAccountChangesUnavailable":{"allOf":[{"$ref":"#/components/schemas/ExplorerLocalAccountChangesBase"},{"type":"object","required":["coverage","reason","status"],"properties":{"count":{"type":"integer","enum":[0]},"coverage":{"type":"object","nullable":true,"enum":[null]},"reason":{"type":"string","enum":["complete_canonical_coverage_empty"]},"records":{"type":"array","maxItems":0},"status":{"type":"string","enum":["unavailable"]},"truncated":{"type":"boolean","enum":[false]}}}]},"ExplorerLocalAccountChangesBase":{"type":"object","required":["accountId","count","generatedAt","interpretation","limit","records","source","truncated"],"properties":{"accountId":{"type":"string","pattern":"^G[A-Z2-7]{55}$"},"count":{"type":"integer","minimum":0,"maximum":25},"generatedAt":{"type":"string","format":"date-time"},"interpretation":{"type":"string","enum":["historical_observations_not_current_state"]},"limit":{"type":"integer","minimum":1,"maximum":25},"records":{"type":"array","maxItems":25,"items":{"$ref":"#/components/schemas/ExplorerLocalAccountChange"}},"source":{"type":"string","enum":["postgres_proof_gated_lcm_account_changes"]},"truncated":{"type":"boolean"}}},"ExplorerLocalAccountChange":{"type":"object","additionalProperties":false,"required":["accountFields","change","coverage","deleted","freshness","position","provenance","stateSemantics"],"properties":{"accountFields":{"$ref":"#/components/schemas/ExplorerLocalAccountFields"},"change":{"type":"object","additionalProperties":false,"required":["changeType","changeTypeString","lastModifiedLedger","reason","sponsor","transactionHash"],"properties":{"changeType":{"type":"integer","minimum":0},"changeTypeString":{"type":"string","minLength":1},"lastModifiedLedger":{"type":"string","pattern":"^[0-9]+$"},"reason":{"type":"string","enum":["fee","fee_refund","operation","transaction","upgrade"]},"sponsor":{"type":"string","nullable":true},"transactionHash":{"type":"string","pattern":"^[0-9a-f]{64}$","nullable":true}}},"coverage":{"$ref":"#/components/schemas/ExplorerLocalAccountCoverageRange"},"deleted":{"type":"boolean"},"freshness":{"type":"object","additionalProperties":false,"required":["batchProcessedAt","canonicalCoverageCompletedAt","canonicalProofEvaluatedAt","datasetImportedAt","ledgerClosedAt"],"properties":{"batchProcessedAt":{"type":"string","format":"date-time"},"canonicalCoverageCompletedAt":{"type":"string","format":"date-time"},"canonicalProofEvaluatedAt":{"type":"string","format":"date-time"},"datasetImportedAt":{"type":"string","format":"date-time"},"ledgerClosedAt":{"type":"string","format":"date-time"}}},"position":{"type":"object","additionalProperties":false,"required":["changeIndex","ledgerSequence","operationIndex","transactionIndex","upgradeIndex"],"properties":{"changeIndex":{"type":"string","pattern":"^[0-9]+$"},"ledgerSequence":{"type":"string","pattern":"^[0-9]+$"},"operationIndex":{"type":"string","pattern":"^[0-9]+$","nullable":true},"transactionIndex":{"type":"string","pattern":"^[0-9]+$"},"upgradeIndex":{"type":"string","pattern":"^[0-9]+$","nullable":true}}},"provenance":{"$ref":"#/components/schemas/ExplorerLocalAccountChangeProvenance"},"stateSemantics":{"type":"string","enum":["observed_post_change_state","final_pre_deletion_state"]}}},"ExplorerLocalAccountChangeProvenance":{"type":"object","additionalProperties":false,"required":["batch","dataset","manifest","proof","row"],"properties":{"batch":{"type":"object","additionalProperties":false,"required":["id"],"properties":{"id":{"type":"string","format":"uuid"}}},"dataset":{"type":"object","additionalProperties":false,"required":["importedRowSetSha256","name","outputSha256","recordCount","schemaVersion"],"properties":{"importedRowSetSha256":{"type":"string","pattern":"^[0-9a-f]{64}$"},"name":{"type":"string","enum":["account-state-changes"]},"outputSha256":{"type":"string","pattern":"^[0-9a-f]{64}$"},"recordCount":{"type":"string","pattern":"^[0-9]+$"},"schemaVersion":{"type":"string","minLength":1}}},"manifest":{"type":"object","additionalProperties":false,"required":["sha256"],"properties":{"sha256":{"type":"string","pattern":"^[0-9a-f]{64}$"}}},"proof":{"type":"object","additionalProperties":false,"required":["canonicalBatchIds","minimumVersion"],"properties":{"canonicalBatchIds":{"type":"array","minItems":1,"items":{"type":"string","format":"uuid"}},"minimumVersion":{"type":"integer","minimum":6}}},"row":{"type":"object","additionalProperties":false,"required":["ledgerKeySha256","sha256"],"properties":{"ledgerKeySha256":{"type":"string","pattern":"^[0-9a-f]{64}$"},"sha256":{"type":"string","pattern":"^[0-9a-f]{64}$"}}}}},"ExplorerLocalAccountCoverageRange":{"type":"object","additionalProperties":false,"required":["batchId","firstLedger","lastLedger","ledgerCount"],"properties":{"batchId":{"type":"string","format":"uuid"},"firstLedger":{"type":"string","pattern":"^[0-9]+$"},"lastLedger":{"type":"string","pattern":"^[0-9]+$"},"ledgerCount":{"type":"integer","minimum":1,"maximum":1024}}},"ExplorerLocalAccountFields":{"type":"object","additionalProperties":false,"required":["accountId","balance","buyingLiabilities","flags","highThreshold","homeDomain","inflationDestination","lowThreshold","masterWeight","mediumThreshold","sequenceLedger","sequenceNumber","sequenceTime","signers","sellingLiabilities","sponsoredEntryCount","sponsoringEntryCount","subentryCount"],"properties":{"accountId":{"type":"string","pattern":"^G[A-Z2-7]{55}$"},"balance":{"type":"string","pattern":"^-?[0-9]+$"},"buyingLiabilities":{"type":"string","pattern":"^[0-9]+$"},"flags":{"type":"string","pattern":"^[0-9]+$"},"highThreshold":{"type":"integer","minimum":0,"maximum":255},"homeDomain":{"type":"string","maxLength":32},"inflationDestination":{"type":"string","nullable":true},"lowThreshold":{"type":"integer","minimum":0,"maximum":255},"masterWeight":{"type":"integer","minimum":0,"maximum":255},"mediumThreshold":{"type":"integer","minimum":0,"maximum":255},"sequenceLedger":{"type":"string","pattern":"^[0-9]+$","nullable":true},"sequenceNumber":{"type":"string","pattern":"^[0-9]+$"},"sequenceTime":{"type":"string","pattern":"^[0-9]+$","nullable":true},"signers":{"type":"array","items":{"$ref":"#/components/schemas/ExplorerLocalAccountSigner"}},"sellingLiabilities":{"type":"string","pattern":"^[0-9]+$"},"sponsoredEntryCount":{"type":"string","pattern":"^[0-9]+$"},"sponsoringEntryCount":{"type":"string","pattern":"^[0-9]+$"},"subentryCount":{"type":"string","pattern":"^[0-9]+$"}}},"ExplorerLocalAccountSigner":{"type":"object","additionalProperties":false,"required":["key","sponsor","weight"],"properties":{"key":{"type":"string","minLength":1},"sponsor":{"type":"string","nullable":true},"weight":{"type":"integer","minimum":0,"maximum":255}}},"ExplorerLocalAccountChangesNotObserved":{"allOf":[{"$ref":"#/components/schemas/ExplorerLocalAccountChangesBase"},{"type":"object","required":["coverage","reason","status"],"properties":{"count":{"type":"integer","enum":[0]},"coverage":{"$ref":"#/components/schemas/ExplorerLocalAccountLatestCoverage"},"reason":{"type":"string","enum":["no_change_observed_in_complete_coverage"]},"records":{"type":"array","maxItems":0},"status":{"type":"string","enum":["not_observed"]},"truncated":{"type":"boolean","enum":[false]}}}]},"ExplorerLocalAccountLatestCoverage":{"type":"object","additionalProperties":false,"required":["evidenceSelection","freshness","range"],"properties":{"evidenceSelection":{"type":"string","enum":["latest_complete_canonical_lcm_batch"]},"freshness":{"type":"object","additionalProperties":false,"required":["canonicalCoverageCompletedAt","canonicalProofEvaluatedAt","latestCoveredLedgerClosedAt"],"properties":{"canonicalCoverageCompletedAt":{"type":"string","format":"date-time"},"canonicalProofEvaluatedAt":{"type":"string","format":"date-time"},"latestCoveredLedgerClosedAt":{"type":"string","format":"date-time"}}},"range":{"$ref":"#/components/schemas/ExplorerLocalAccountCoverageRange"}}},"ExplorerLocalAccountChangesAvailable":{"allOf":[{"$ref":"#/components/schemas/ExplorerLocalAccountChangesBase"},{"type":"object","required":["coverage","status"],"properties":{"count":{"type":"integer","minimum":1,"maximum":25},"coverage":{"$ref":"#/components/schemas/ExplorerLocalAccountLatestCoverage"},"records":{"type":"array","minItems":1,"maxItems":25,"items":{"$ref":"#/components/schemas/ExplorerLocalAccountChange"}},"status":{"type":"string","enum":["available"]}}}]},"ExplorerClaimablePositionsPage":{"type":"object","description":"One page of provider evidence. An unbound or partial page cannot establish a complete inventory. Successive pages may refer to different ledgers.","required":["source","accountId","networkPassphrase","role","latestLedger","snapshotStatus","pageStatus","positions","nextCursor"],"properties":{"source":{"type":"string","enum":["horizon"]},"accountId":{"type":"string"},"networkPassphrase":{"type":"string"},"role":{"type":"string","enum":["claimant","sponsor"]},"latestLedger":{"type":"string","nullable":true},"snapshotStatus":{"type":"string","enum":["ledger_bound","ledger_unavailable"]},"pageStatus":{"type":"string","enum":["available","partial"]},"positions":{"type":"array","maxItems":25,"items":{"$ref":"#/components/schemas/ExplorerClaimablePosition"}},"nextCursor":{"type":"string","nullable":true,"maxLength":1024}}},"ExplorerClaimablePosition":{"type":"object","description":"The amount is claimable principal at scale seven and lies outside held or spendable balance. Sponsorship identifies who covers reserves. A claimant match carries unevaluated conditions.","required":["id","assetId","amount","amountRaw","sponsor","roles","claimants","lastModifiedLedger","lastModifiedAt"],"properties":{"id":{"type":"string"},"assetId":{"type":"string"},"amount":{"type":"string"},"amountRaw":{"type":"string"},"sponsor":{"type":"string","nullable":true},"roles":{"type":"array","minItems":1,"maxItems":2,"items":{"type":"string","enum":["claimant","sponsor"]}},"claimants":{"type":"array","minItems":1,"maxItems":10,"items":{"type":"object","required":["destination","predicate"],"properties":{"destination":{"type":"string"},"predicate":{"$ref":"#/components/schemas/ExplorerClaimablePredicate"}}}},"lastModifiedLedger":{"type":"string"},"lastModifiedAt":{"type":"string","nullable":true}}},"ExplorerClaimablePredicate":{"oneOf":[{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["unconditional"]}}},{"type":"object","required":["type","predicates"],"properties":{"type":{"type":"string","enum":["and","or"]},"predicates":{"type":"array","minItems":2,"maxItems":2,"items":{"$ref":"#/components/schemas/ExplorerClaimablePredicate"}}}},{"type":"object","required":["type","predicate"],"properties":{"type":{"type":"string","enum":["not"]},"predicate":{"$ref":"#/components/schemas/ExplorerClaimablePredicate"}}},{"type":"object","required":["type","epochSeconds","isoTime"],"properties":{"type":{"type":"string","enum":["before_absolute_time"]},"epochSeconds":{"type":"string"},"isoTime":{"type":"string","nullable":true}}},{"type":"object","required":["type","seconds"],"properties":{"type":{"type":"string","enum":["before_relative_time"]},"seconds":{"type":"string"}}}]},"ExplorerAccount":{"type":"object","required":["accountId","balances","lastModifiedLedger","sequence","source","subentryCount"],"properties":{"accountId":{"type":"string"},"balances":{"type":"array","items":{"$ref":"#/components/schemas/ExplorerAccountBalance"}},"lastModifiedLedger":{"type":"string","nullable":true},"sequence":{"type":"string"},"source":{"type":"string","enum":["horizon"]},"subentryCount":{"type":"integer","minimum":0},"accounting":{"$ref":"#/components/schemas/ExplorerAccountAccounting"}}},"ExplorerAccountAccounting":{"type":"object","description":"Configured Horizon account snapshot. Latest-Ledger binds the snapshot. Base reserve is present only for the exact matching ledger from the same provider. Inventory completeness covers the classic balances returned by the account endpoint.","required":["scope","networkPassphrase","snapshotStatus","latestLedger","ledgerClosedAt","baseReserveRaw","baseReserveLedger","subentryCount","numSponsoring","numSponsored","balanceInventoryComplete"],"properties":{"scope":{"type":"string","enum":["horizon_account_balances"]},"networkPassphrase":{"type":"string"},"snapshotStatus":{"type":"string","enum":["ledger_bound","ledger_unavailable"]},"latestLedger":{"type":"string","nullable":true},"ledgerClosedAt":{"type":"string","nullable":true},"baseReserveRaw":{"type":"string","nullable":true},"baseReserveLedger":{"type":"string","nullable":true},"subentryCount":{"type":"string","nullable":true},"numSponsoring":{"type":"string","nullable":true},"numSponsored":{"type":"string","nullable":true},"balanceInventoryComplete":{"type":"boolean"}}},"ExplorerAccountBalance":{"type":"object","required":["assetCode","assetIssuer","assetType","balance"],"properties":{"assetCode":{"type":"string","nullable":true},"assetIssuer":{"type":"string","nullable":true},"assetType":{"type":"string"},"balance":{"type":"string"},"exact":{"$ref":"#/components/schemas/ExplorerAccountBalanceExact"}}},"ExplorerAccountBalanceExact":{"type":"object","description":"Classic native and trustline balances use nonnegative Int64 raw strings at scale seven. Null fields carry no usable evidence. Liquidity pool shares are separately identified.","required":["assetId","liquidityPoolId","balanceRaw","buyingLiabilities","buyingLiabilitiesRaw","sellingLiabilities","sellingLiabilitiesRaw","trustLineLimit","trustLineLimitRaw","isAuthorized","isAuthorizedToMaintainLiabilities","isClawbackEnabled","sponsor"],"properties":{"assetId":{"type":"string","nullable":true},"liquidityPoolId":{"type":"string","nullable":true},"balanceRaw":{"type":"string","nullable":true},"buyingLiabilities":{"type":"string","nullable":true},"buyingLiabilitiesRaw":{"type":"string","nullable":true},"sellingLiabilities":{"type":"string","nullable":true},"sellingLiabilitiesRaw":{"type":"string","nullable":true},"trustLineLimit":{"type":"string","nullable":true},"trustLineLimitRaw":{"type":"string","nullable":true},"isAuthorized":{"type":"boolean","nullable":true},"isAuthorizedToMaintainLiabilities":{"type":"boolean","nullable":true},"isClawbackEnabled":{"type":"boolean","nullable":true},"sponsor":{"type":"string","nullable":true}}},"ExplorerLedger":{"type":"object","required":["closedAt","hash","operationCount","protocolVersion","sequence","source","transactionCount"],"properties":{"closedAt":{"type":"string","format":"date-time"},"hash":{"type":"string"},"operationCount":{"type":"integer","minimum":0},"protocolVersion":{"type":"integer"},"sequence":{"type":"string"},"source":{"type":"string","enum":["horizon","postgres_canonical"]},"transactionCount":{"type":"integer","nullable":true,"minimum":0}}},"RecentTransactions":{"type":"object","required":["dataThrough","freshness","freshnessThresholdMs","generatedAt","limit","records","selectionReason","source","truncated"],"properties":{"dataThrough":{"type":"string","format":"date-time","nullable":true},"freshness":{"type":"string","enum":["fresh","stale","unknown"]},"freshnessThresholdMs":{"type":"integer","minimum":1},"generatedAt":{"type":"string","format":"date-time"},"limit":{"type":"integer","minimum":1,"maximum":50},"records":{"type":"array","items":{"$ref":"#/components/schemas/RecentTransaction"},"maxItems":50},"selectionReason":{"type":"string","enum":["local_history_current","local_history_newer","local_history_empty","local_history_behind","live_network_unavailable"]},"source":{"type":"string","enum":["local_history","live_network"]},"truncated":{"type":"boolean"}}},"RecentTransaction":{"type":"object","required":["createdAt","feeCharged","hash","ledger","operationCount","sourceAccount","successful"],"properties":{"createdAt":{"type":"string","format":"date-time"},"feeCharged":{"type":"string"},"hash":{"type":"string","pattern":"^[0-9a-f]{64}$"},"ledger":{"type":"string","pattern":"^(0|[1-9][0-9]*)$"},"operationCount":{"type":"integer","minimum":0},"sourceAccount":{"type":"string"},"successful":{"type":"boolean"}}},"ExplorerSearch":{"type":"object","required":["query","result","resultType","source"],"properties":{"query":{"type":"string"},"result":{"nullable":true,"oneOf":[{"$ref":"#/components/schemas/ExplorerAccount"},{"$ref":"#/components/schemas/ExplorerAssets"},{"$ref":"#/components/schemas/ExplorerContract"},{"$ref":"#/components/schemas/ExplorerLedger"},{"$ref":"#/components/schemas/ExplorerOperation"},{"$ref":"#/components/schemas/TransactionLookup"}]},"resultType":{"type":"string","enum":["account","asset","contract","ledger","not_found","transaction","unknown"]},"source":{"type":"string","enum":["horizon","postgres_canonical","rpc"]}}},"LedgerTransactions":{"type":"object","required":["ledger","records","truncated"],"properties":{"ledger":{"type":"string"},"records":{"type":"array","items":{"$ref":"#/components/schemas/LedgerTransaction"}},"truncated":{"type":"boolean"}}},"LedgerTransaction":{"type":"object","required":["createdAt","feeCharged","hash","operationCount","sourceAccount","successful"],"properties":{"createdAt":{"type":"string","format":"date-time"},"feeCharged":{"type":"string"},"hash":{"type":"string"},"operationCount":{"type":"integer","minimum":0},"sourceAccount":{"type":"string"},"successful":{"type":"boolean"}}},"LatestLedger":{"type":"object","required":["closedAt","protocolVersion","sequence"],"properties":{"closedAt":{"type":"string","format":"date-time"},"protocolVersion":{"type":"integer"},"sequence":{"type":"string"}}},"SearchResponse":{"type":"object","required":["estimatedTotalHits","facets","hits","indexedNetworkTime","pagination","query","readModel","scope","source"],"properties":{"estimatedTotalHits":{"type":"integer"},"facets":{"$ref":"#/components/schemas/SearchFacets"},"hits":{"type":"array","items":{"$ref":"#/components/schemas/SearchHit"}},"indexedNetworkTime":{"type":"string"},"pagination":{"$ref":"#/components/schemas/SearchPagination"},"query":{"type":"string"},"readModel":{"$ref":"#/components/schemas/SearchReadModel"},"scope":{"type":"string","enum":["current-validator","listener","public-key-only","archived","all-known","archive-root","current-organization"]},"source":{"type":"string","enum":["meilisearch","postgres_canonical"]}}},"SearchReadModel":{"type":"object","required":["canonicalCursor","fallbackReason","freshness","observedAt","schemaVersion","source"],"properties":{"canonicalCursor":{"type":"string"},"fallbackReason":{"type":"string","nullable":true,"enum":["meilisearch_stale","meilisearch_syncing","meilisearch_unavailable","meilisearch_unconfigured"]},"freshness":{"type":"string","enum":["fresh","stale"]},"observedAt":{"type":"string","format":"date-time"},"schemaVersion":{"type":"string","enum":["v4"]},"source":{"type":"string","enum":["meilisearch","postgres_canonical"]}}},"SearchPagination":{"type":"object","required":["hasMore","limit","offset","total","totalIsExact"],"properties":{"hasMore":{"type":"boolean"},"limit":{"type":"integer","minimum":1,"maximum":25},"offset":{"type":"integer","minimum":0,"maximum":10000},"total":{"type":"integer","minimum":0},"totalIsExact":{"type":"boolean"}}},"SearchHit":{"type":"object","required":["detail","entityId","entityType","freshness","href","id","label","observedAt","recordState","scope","source"],"properties":{"archiveStatus":{"type":"string","enum":["error","ok","scanner-issue","unknown","unreachable"]},"detail":{"type":"string"},"entityId":{"type":"string"},"entityType":{"type":"string","enum":["archive-root","node","organization"]},"freshness":{"type":"string","enum":["fresh","stale"]},"href":{"type":"string"},"id":{"type":"string"},"label":{"type":"string"},"observedAt":{"type":"string","format":"date-time"},"organizationName":{"type":"string"},"recordState":{"type":"string","enum":["current","historical","identity-only"]},"scope":{"type":"string","enum":["current-validator","listener","public-key-only","archived","archive-root","current-organization"]},"source":{"type":"string","enum":["meilisearch","postgres_canonical"]}}},"SearchFacets":{"type":"object","required":["active","archiveStatus","countryCode","entityType","fullValidator","scope","topTier","validating","validator"],"properties":{"active":{"type":"array","items":{"$ref":"#/components/schemas/SearchFacetValue"}},"archiveStatus":{"type":"array","items":{"$ref":"#/components/schemas/SearchFacetValue"}},"countryCode":{"type":"array","items":{"$ref":"#/components/schemas/SearchFacetValue"}},"entityType":{"type":"array","items":{"$ref":"#/components/schemas/SearchFacetValue"}},"fullValidator":{"type":"array","items":{"$ref":"#/components/schemas/SearchFacetValue"}},"scope":{"type":"array","items":{"$ref":"#/components/schemas/SearchFacetValue"}},"topTier":{"type":"array","items":{"$ref":"#/components/schemas/SearchFacetValue"}},"validating":{"type":"array","items":{"$ref":"#/components/schemas/SearchFacetValue"}},"validator":{"type":"array","items":{"$ref":"#/components/schemas/SearchFacetValue"}}}},"SearchFacetValue":{"type":"object","required":["count","value"],"properties":{"count":{"type":"integer"},"value":{"type":"string"}}},"StellarAtlasNetwork":{"properties":{"time":{"format":"date-time","type":"string","description":"Network state at time x"},"latestLedger":{"type":"string","description":"The latest ledger that was closed in the network at time x"},"statistics":{"$ref":"#/components/schemas/StellarAtlasNetwork__NetworkStatistics"},"id":{"type":"string","description":"Network ID","default":"Public Global Stellar Network ; September 2015"},"name":{"type":"string","description":"Network name","default":"Public network"},"nodes":{"items":{"$ref":"#/components/schemas/StellarAtlasNode"},"type":"array"},"organizations":{"items":{"$ref":"#/components/schemas/StellarAtlasOrganization"},"type":"array"},"transitiveQuorumSet":{"items":{"type":"string"},"type":"array","description":"array of nodes in the transitive quorumset of the trust graph"},"scc":{"items":{"type":"array","items":{"type":"string"}},"type":"array","description":"Strongly connected components in the trust graph"}},"type":"object","required":["nodes"]},"StellarAtlasNetwork__NetworkStatistics":{"properties":{"hasQuorumIntersection":{"type":"boolean","description":"Does the network have quorum intersection"},"hasTransitiveQuorumSet":{"default":false,"type":"boolean","description":"Does the network have a transitive quorum set"},"minBlockingSetFilteredSize":{"default":0,"type":"number","description":"The size of the smallest network blocking set with failing nodes filtered out"},"minBlockingSetOrgsFilteredSize":{"type":"number","description":"The size of the smallest network blocking set grouped by organizations, with failing organizations filtered out"},"minBlockingSetOrgsSize":{"type":"number","description":"The size of the smallest network blocking set grouped by organizations"},"minBlockingSetSize":{"type":"number","description":"The size of the smallest network blocking set"},"minSplittingSetOrgsSize":{"type":"number","description":"The size of the smallest network splitting set, grouped by organizations"},"minSplittingSetCountrySize":{"type":"number","description":"The size of the smallest network splitting set, grouped by countries"},"minSplittingSetISPSize":{"type":"number","description":"The size of the smallest network splitting set, grouped by ISP's"},"minSplittingSetSize":{"type":"number","description":"The size of the smallest network splitting set"},"nrOfActiveFullValidators":{"default":0,"type":"number","description":"Number of active full validators"},"nrOfActiveOrganizations":{"default":0,"type":"number","description":"Number of active organizations"},"nrOfActiveValidators":{"default":0,"type":"number","description":"Number of active validators"},"nrOfActiveWatchers":{"default":0,"type":"number","description":"Number of active watcher nodes"},"time":{"format":"date-time","type":"string","description":"Time of the statistics"},"topTierOrgsSize":{"type":"number","description":"Number of organizations in the top tier"},"topTierSize":{"type":"number","description":"Number of nodes in the top tier"},"transitiveQuorumSetSize":{"default":0,"type":"number","description":"Number of nodes in the transitive quorum set"}},"type":"object"},"HubbleGraphqlResponse":{"type":"object","additionalProperties":false,"properties":{"data":{"type":"object","additionalProperties":true,"nullable":true,"description":"Fields selected by the query; typed transaction, transfer, contract-event, trade, offer and asset-holder fields use their documented GraphQL types."},"errors":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"message":{"type":"string"},"locations":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"line":{"type":"integer"},"column":{"type":"integer"}},"required":["line","column"]}},"path":{"type":"array","items":{"oneOf":[{"type":"string"},{"type":"integer"}]}},"extensions":{"type":"object","additionalProperties":true}},"required":["message"]}}},"required":[]},"HubbleGraphqlRequest":{"type":"object","additionalProperties":false,"properties":{"query":{"type":"string","description":"Read-only GraphQL query. Introspection is available; mutations and subscriptions are not defined."},"operationName":{"type":"string","nullable":true},"variables":{"type":"object","additionalProperties":true,"nullable":true}},"required":["query"]}},"parameters":{"ArchiveEvidenceWorkerIssueLimit":{"name":"workerIssueLimit","in":"query","required":false,"schema":{"type":"integer","minimum":0,"maximum":250,"default":25}},"ArchiveEvidenceWorkerIssueCursor":{"name":"workerIssueCursor","in":"query","description":"Opaque cursor for the next worker/coordinator infrastructure-issue page.","required":false,"schema":{"type":"string","maxLength":1024}},"ArchiveEvidenceFailureObjectType":{"name":"failureObjectType","in":"query","description":"Restrict both remote archive failures and worker issues to one object type.","required":false,"schema":{"$ref":"#/components/schemas/HistoryArchiveObjectTypeV1"}},"ArchiveEvidenceFailureLimit":{"name":"failureLimit","in":"query","required":false,"schema":{"type":"integer","minimum":0,"maximum":250,"default":25}},"ArchiveEvidenceFailureCursor":{"name":"failureCursor","in":"query","description":"Opaque cursor for the next remote archive-failure page.","required":false,"schema":{"type":"string","maxLength":1024}},"ArchiveEvidenceEventType":{"name":"eventType","in":"query","required":false,"schema":{"type":"string","enum":["claimed","heartbeat","verified","failed","released"]}},"ArchiveEvidenceEventObjectType":{"name":"eventObjectType","in":"query","required":false,"schema":{"$ref":"#/components/schemas/HistoryArchiveObjectTypeV1"}},"ArchiveEvidenceEventLimit":{"name":"eventLimit","in":"query","required":false,"schema":{"type":"integer","minimum":0,"maximum":250,"default":25}},"ArchiveEvidenceEventEvidenceClass":{"name":"eventEvidenceClass","in":"query","required":false,"schema":{"type":"string","enum":["archive-object","worker-infrastructure","coordinator-infrastructure"]}},"ArchiveEvidenceEventCursor":{"name":"eventCursor","in":"query","description":"Opaque cursor for the next object-event page. Cursors are bound to the entity, archive root, and event filters.","required":false,"schema":{"type":"string","maxLength":1024}},"ArchiveEvidenceObjectType":{"name":"objectType","in":"query","required":false,"schema":{"$ref":"#/components/schemas/HistoryArchiveObjectTypeV1"}},"ArchiveEvidenceObjectStatus":{"name":"objectStatus","in":"query","required":false,"schema":{"type":"string","enum":["pending","scanning","verified","failed"]}},"ArchiveEvidenceObjectLimit":{"name":"objectLimit","in":"query","required":false,"schema":{"type":"integer","minimum":0,"maximum":250,"default":25}},"ArchiveEvidenceObjectCursor":{"name":"objectCursor","in":"query","description":"Opaque cursor for the next object page. Cursors are bound to the entity, archive root, and object filters.","required":false,"schema":{"type":"string","maxLength":1024}},"ArchiveEvidenceCopyLimit":{"name":"copyLimit","in":"query","description":"Maximum verified-copy rows in each same-organization and network sample. Set 0 to skip optional copy discovery. Counts are null when not requested or temporarily unavailable; source failures still return.","required":false,"schema":{"type":"integer","minimum":0,"maximum":10,"default":3}},"ArchiveEvidenceArchiveUrl":{"name":"archiveUrl","in":"query","description":"Restrict all evidence pages to one archive root owned by the requested entity.","required":false,"schema":{"type":"string","format":"uri"}}}},"paths":{"/graphql":{"post":{"operationId":"postAnalyticsGraphql","summary":"Run a read-only GraphQL query","description":"Typed hubbleTransaction, hubbleTransfers, hubbleAccountTransfers and hubbleAssetTransfers share REST query services. hubbleDatasets, hubbleStatus and structured hubbleQuery are also available. Use schema introspection for complete field and argument definitions. Preserve separate nextCursor values for transaction operations, effects and events; transfers use after with unchanged filters. IDs and exact amounts are strings, never GraphQL Float. hubbleAssetHolders and hubbleAssetHolder reuse the REST holder service: native or CODE:ISSUER, after account-ID pagination, latest-ingested observations with cached coverage rather than an atomic/current/as-of state. HubbleParsedNumber preserves source numbers/strings; balance and liabilities have float64-observation precision, not exact reconstructed atomic units. No mutation schema is exposed.","tags":["Analytics"],"security":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubbleGraphqlRequest"},"examples":{"assetHolders":{"summary":"Latest-ingested asset holders with source Float64 balances and coverage","value":{"query":"query Holders($asset:String!,$input:HubbleAssetHolderInput) { hubbleAssetHolders(asset:$asset,input:$input) { holders { accountId balance amountPrecision buyingLiabilities sellingLiabilities } nextCursor limit coverage { contiguousLastLedger maximumLedger gapCount } watermark { mode catalogGeneratedAt catalogMaximumLedger snapshotPinned } } }","variables":{"asset":"native","input":{"limit":10}}}},"contractEvents":{"summary":"Historical contract diagnostics with typed cursor pagination","value":{"query":"query Events($after: String) { hubbleContractEvents(contractId: \"CDL74RF5BLYR2YBLCCI7F5FB6TPSCLKEJUBSD2RSVWZ4YHF3VMFAIGWA\", input: {minLedger:63490364,maxLedger:63490364,typeCode:2,successful:false,limit:2,after:$after}) { items { id transactionHash typeCode successful topicsJson dataJson eventXdr classification { transactionKind eventKind sorobanExecutionEvidence provenance } } nextCursor watermark { minimumLedger maximumLedger observedAt coverage } coverage { contiguousLastLedger maximumLedger gapCount } } }","variables":{"after":null}}},"trades":{"summary":"Parsed trades: source Float64 amounts are disclosed, not exact decimal reconstruction","value":{"query":"{ hubbleTrades(input: {minLedger:63490364,maxLedger:63490364,limit:2}) { rows { id operationId sellingAmount buyingAmount amountPrecision price { numerator denominator } sellingAsset { id code issuer } buyingAsset { id code issuer } } nextOffset coverageStatus semantics } }"}},"offers":{"summary":"Offer observations in one ledger, not a complete live order book","value":{"query":"{ hubbleOffer(id:\"1848813589\",input:{minLedger:63490364,maxLedger:63490364}) { record { id seller amount amountPrecision deleted price { numerator denominator } } coverageStatus semantics } }"}},"coverage":{"summary":"Current parsed coverage (metadata only)","value":{"query":"{ hubbleStatus { servingWarehouse coverage { contiguousFirstLedger contiguousLastLedger supplementalLedgerCount maximumLedger gapCount } } }"}},"transaction":{"summary":"Typed transaction with independent relationship cursors","value":{"query":"query Transaction($hash: String!, $ledger: Int, $limit: Int, $operationsAfter: String, $effectsAfter: String, $eventsAfter: String) { hubbleTransaction(transactionHash: $hash, ledgerSequence: $ledger, limit: $limit, operationsAfter: $operationsAfter, effectsAfter: $effectsAfter, eventsAfter: $eventsAfter) { transaction { id hash ledgerSequence feeChargedRaw } operations { items { id type amounts { field raw scale } } nextCursor } effects { items { id operationId type } nextCursor } events { items { id classification { transactionKind eventKind provenance } } nextCursor } } }","variables":{"hash":"446670351d9f2af449eda3bfa0e36c3e128e2720443293dd5b585b3bbadeb485","ledger":63490364,"limit":10}}}}}}},"responses":{"200":{"description":"GraphQL response. Inspect errors even on HTTP 200; execution errors can coexist with partial or null data.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubbleGraphqlResponse"}},"application/graphql-response+json":{"schema":{"$ref":"#/components/schemas/HubbleGraphqlResponse"}}}},"400":{"description":"GraphQL response. Inspect errors even on HTTP 200; execution errors can coexist with partial or null data.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubbleGraphqlResponse"}},"application/graphql-response+json":{"schema":{"$ref":"#/components/schemas/HubbleGraphqlResponse"}}}},"405":{"description":"Unsupported HTTP method."},"415":{"description":"Unsupported request content type; use application/json."}}},"get":{"operationId":"queryHubbleGraphqlGet","summary":"Run a read-only GraphQL query using URL parameters","description":"GET variant of the GraphQL transport. Prefer POST for long query documents or variables.","tags":["Analytics"],"security":[],"parameters":[{"in":"query","name":"query","required":true,"schema":{"type":"string"}},{"in":"query","name":"operationName","required":false,"schema":{"type":"string"}},{"in":"query","name":"variables","required":false,"schema":{"type":"string"},"description":"JSON-encoded object."}],"responses":{"200":{"description":"GraphQL response. Inspect errors even on HTTP 200; execution errors can coexist with partial or null data.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubbleGraphqlResponse"}},"application/graphql-response+json":{"schema":{"$ref":"#/components/schemas/HubbleGraphqlResponse"}}}},"400":{"description":"GraphQL response. Inspect errors even on HTTP 200; execution errors can coexist with partial or null data.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubbleGraphqlResponse"}},"application/graphql-response+json":{"schema":{"$ref":"#/components/schemas/HubbleGraphqlResponse"}}}},"405":{"description":"Only read-only queries are supported."}}}},"/v1":{"get":{"summary":"Get network information","description":"Get current network information, statistics, nodes, organizations, SCP analysis fields, and organization horizonUrl values when reported.","tags":["Network"],"operationId":"getNetwork","parameters":[{"name":"at","in":"query","description":"Fetch at specific point in time","required":false,"schema":{"type":"string","format":"date-time"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StellarAtlasNetwork"}}}}}}},"/v1/live":{"get":{"summary":"Stream live network information","description":"Server-sent event stream that emits current network snapshots as network events for live dashboards.","tags":["Network"],"operationId":"streamNetwork","responses":{"200":{"description":"server-sent event stream","content":{"text/event-stream":{"schema":{"type":"string"}}}}}}},"/v1/search":{"get":{"summary":"Search network entities","description":"Faceted, paginated search across canonical all-known node and organization inventory. PostgreSQL remains canonical. Meilisearch serves the matching projection as fresh and may serve a projection up to 15 minutes behind as explicitly stale while one API worker reconciles it asynchronously.","tags":["Search"],"operationId":"searchNetworkEntities","parameters":[{"name":"q","in":"query","description":"Search text","required":false,"schema":{"type":"string"}},{"name":"type","in":"query","description":"Optional entity type filter","required":false,"schema":{"type":"string","enum":["archive-root","node","organization"]}},{"name":"scope","in":"query","description":"Canonical inventory scope; defaults to all-known","required":false,"schema":{"type":"string","enum":["current-validator","listener","public-key-only","archived","all-known","archive-root","current-organization"],"default":"all-known"}},{"name":"active","in":"query","description":"Optional active entity filter","required":false,"schema":{"type":"boolean"}},{"name":"archiveStatus","in":"query","description":"Optional archive status filter. issue is the aggregate of error and unreachable; scanner-issue is infrastructure evidence, not archive evidence.","required":false,"schema":{"type":"string","enum":["error","issue","ok","scanner-issue","unknown","unreachable"]}},{"name":"countryCode","in":"query","description":"Optional node country-code filter","required":false,"schema":{"type":"string"}},{"name":"organizationId","in":"query","description":"Optional organization id filter","required":false,"schema":{"type":"string"}},{"name":"validator","in":"query","description":"Optional validator flag filter","required":false,"schema":{"type":"boolean"}},{"name":"fullValidator","in":"query","description":"Optional full-validator flag filter","required":false,"schema":{"type":"boolean"}},{"name":"validating","in":"query","description":"Optional currently-validating flag filter","required":false,"schema":{"type":"boolean"}},{"name":"topTier","in":"query","description":"Optional top-tier flag filter","required":false,"schema":{"type":"boolean"}},{"name":"limit","in":"query","description":"Maximum results to return","required":false,"schema":{"type":"integer","minimum":1,"maximum":25}},{"name":"offset","in":"query","description":"Zero-based result offset","required":false,"schema":{"type":"integer","minimum":0,"maximum":10000,"default":0}}],"responses":{"200":{"description":"Search results","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchResponse"}}}}}}},"/v1/search/nodes":{"get":{"summary":"Search all-known nodes","description":"Fixed node-only alias for canonical known-inventory search. Uses the same scope, pagination, filters, and projection fallback as /v1/search with type=node.","tags":["Search"],"operationId":"searchNetworkNodes","parameters":[{"name":"q","in":"query","description":"Search text","required":false,"schema":{"type":"string"}},{"name":"scope","in":"query","required":false,"schema":{"$ref":"#/components/schemas/KnownNodeScope"}},{"name":"active","in":"query","description":"Optional active node filter","required":false,"schema":{"type":"boolean"}},{"name":"archiveStatus","in":"query","description":"Optional archive status filter. issue is the aggregate of error and unreachable; scanner-issue is infrastructure evidence, not archive evidence.","required":false,"schema":{"type":"string","enum":["error","issue","ok","scanner-issue","unknown","unreachable"]}},{"name":"countryCode","in":"query","description":"Optional node country-code filter","required":false,"schema":{"type":"string"}},{"name":"organizationId","in":"query","description":"Optional organization id filter","required":false,"schema":{"type":"string"}},{"name":"validator","in":"query","description":"Optional validator flag filter","required":false,"schema":{"type":"boolean"}},{"name":"fullValidator","in":"query","description":"Optional full-validator flag filter","required":false,"schema":{"type":"boolean"}},{"name":"validating","in":"query","description":"Optional currently-validating flag filter","required":false,"schema":{"type":"boolean"}},{"name":"topTier","in":"query","description":"Optional top-tier flag filter","required":false,"schema":{"type":"boolean"}},{"name":"limit","in":"query","description":"Maximum results to return","required":false,"schema":{"type":"integer","minimum":1,"maximum":25}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"maximum":10000}}],"responses":{"200":{"description":"Node search results","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchResponse"}}}},"400":{"description":"Invalid search query"},"500":{"description":"Server error"}}}},"/v1/search/organizations":{"get":{"summary":"Search all-known organizations","description":"Fixed organization-only alias for canonical known-inventory search. Uses the same pagination and projection fallback as /v1/search with type=organization.","tags":["Search"],"operationId":"searchNetworkOrganizations","parameters":[{"name":"q","in":"query","description":"Search text","required":false,"schema":{"type":"string"}},{"name":"scope","in":"query","required":false,"schema":{"$ref":"#/components/schemas/KnownNodeScope"}},{"name":"organizationId","in":"query","description":"Optional organization id filter","required":false,"schema":{"type":"string"}},{"name":"topTier","in":"query","description":"Optional top-tier flag filter","required":false,"schema":{"type":"boolean"}},{"name":"limit","in":"query","description":"Maximum results to return","required":false,"schema":{"type":"integer","minimum":1,"maximum":25}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"maximum":10000}}],"responses":{"200":{"description":"Organization search results","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchResponse"}}}},"400":{"description":"Invalid search query"},"500":{"description":"Server error"}}}},"/v1/ledger/latest":{"get":{"summary":"Get the latest Horizon ledger","description":"Returns the latest ledger from the configured Horizon source for frontend graph and explorer views.","tags":["Explorer"],"operationId":"getLatestLedger","responses":{"200":{"description":"Latest ledger","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LatestLedger"}}}},"502":{"description":"Latest ledger unavailable"}}}},"/v1/scp/slots/{slotIndex}/transactions":{"get":{"summary":"Get transactions for a ledger slot","description":"Returns a bounded transaction list for a ledger sequence from configured Horizon.","tags":["SCP"],"operationId":"getLedgerTransactions","parameters":[{"name":"slotIndex","in":"path","required":true,"schema":{"type":"string","pattern":"^\\d+$"}}],"responses":{"200":{"description":"Ledger transactions","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LedgerTransactions"}}}},"400":{"description":"Invalid ledger slot"},"502":{"description":"Ledger transactions unavailable"}}}},"/v1/explorer/search":{"get":{"summary":"Search explorer data","description":"Searches proof-gated canonical transactions first. Account, ledger, asset, operation, and contract queries use their configured helper only while the corresponding StellarAtlas local index is not ready.","tags":["Explorer"],"operationId":"searchExplorer","parameters":[{"name":"query","in":"query","required":true,"schema":{"type":"string"}},{"name":"type","in":"query","required":false,"schema":{"type":"string","enum":["account","asset","auto","contract","ledger","transaction"]}}],"responses":{"200":{"description":"Explorer search result","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExplorerSearch"}}}},"400":{"description":"Invalid search input"},"502":{"description":"Explorer search unavailable"}}}},"/v1/explorer/transactions":{"get":{"summary":"Get recent transactions","description":"Returns a bounded recent transaction feed. Local history is selected only while its latest covered ledger is inside the configured freshness window. Otherwise live network data is selected; if that refresh fails, older local history is returned and explicitly marked stale.","tags":["Explorer"],"operationId":"getExplorerRecentTransactions","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":50}}],"responses":{"200":{"description":"Recent transactions","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RecentTransactions"}}}},"400":{"description":"Invalid transaction limit"},"502":{"description":"Transaction feed unavailable"}}}},"/v1/explorer/transactions/{hash}":{"get":{"summary":"Look up an explorer transaction","description":"Looks up a transaction in StellarAtlas proof-gated canonical history first, then uses the configured Horizon source only when the local canonical index has no matching row.","tags":["Explorer"],"operationId":"getExplorerTransactionByHash","parameters":[{"name":"hash","in":"path","required":true,"schema":{"type":"string","pattern":"^[0-9a-fA-F]{64}$"}}],"responses":{"200":{"description":"Transaction lookup result","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TransactionLookup"}}}},"400":{"description":"Invalid transaction hash"},"404":{"description":"Transaction not found"},"502":{"description":"Transaction lookup unavailable"}}}},"/v1/explorer/transactions/{hash}/operations":{"get":{"summary":"Get operations for a transaction","description":"Returns proof-gated canonical operation-envelope facts and normalized envelope account participants when the transaction is in local canonical coverage, otherwise uses the configured Horizon source. Canonical rows exclude state-derived accounts, effects, Soroban authorization, signers, and asset issuers.","tags":["Explorer"],"operationId":"getExplorerTransactionOperations","parameters":[{"name":"hash","in":"path","required":true,"schema":{"type":"string","pattern":"^[0-9a-fA-F]{64}$"}}],"responses":{"200":{"description":"Transaction operation rows","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExplorerOperations"}}}},"400":{"description":"Invalid transaction hash"},"404":{"description":"Transaction not found"},"502":{"description":"Transaction operations unavailable"}}}},"/v1/explorer/ledgers/{sequence}":{"get":{"summary":"Look up a ledger","description":"Returns ledger facts from configured Horizon.","tags":["Explorer"],"operationId":"getExplorerLedger","parameters":[{"name":"sequence","in":"path","required":true,"schema":{"type":"string","pattern":"^\\d+$"}}],"responses":{"200":{"description":"Ledger lookup result","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExplorerLedger"}}}},"400":{"description":"Invalid ledger sequence"},"404":{"description":"Ledger not found"},"502":{"description":"Ledger lookup unavailable"}}}},"/v1/explorer/accounts/{accountId}":{"get":{"summary":"Look up an account","description":"Returns account state from configured Horizon. Classic account details can include exact balance evidence and a Latest-Ledger snapshot marker with optional same-ledger base reserve.","tags":["Explorer"],"operationId":"getExplorerAccount","parameters":[{"name":"accountId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Account lookup result","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExplorerAccount"}}}},"400":{"description":"Invalid account address"},"404":{"description":"Account not found"},"502":{"description":"Account lookup unavailable"}}}},"/v1/explorer/accounts/{accountId}/claimable-positions":{"get":{"summary":"List claimable positions for an account","description":"Returns one bounded claimant or sponsor page from the configured Horizon provider. Positions are separate from held balances. Claimant predicates are not evaluated, and sponsor is a reserve role. A full page can have a continuation cursor even when the next page is empty.","tags":["Explorer"],"operationId":"getExplorerClaimablePositions","parameters":[{"name":"accountId","in":"path","required":true,"schema":{"type":"string","pattern":"^G[A-Z2-7]{55}$"}},{"name":"role","in":"query","required":true,"schema":{"type":"string","enum":["claimant","sponsor"]}},{"name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":25,"default":25}},{"name":"cursor","in":"query","description":"Opaque v2 continuation for the same account, role and configured network. If an older cursor is rejected, omit it and request the first page.","schema":{"type":"string","maxLength":1024}}],"responses":{"200":{"description":"One bounded position page","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExplorerClaimablePositionsPage"}}}},"400":{"description":"Invalid account, role, page limit or continuation cursor. For a rejected cursor, restart at the first page."},"501":{"description":"Provider does not support the endpoint"},"502":{"description":"Provider or response unavailable, or the configured public network identifier exceeds the cursor budget"}}}},"/v1/explorer/accounts/{accountId}/observations":{"get":{"summary":"Look up proof-gated account observations","description":"Returns the newest historical account state-change observation from complete proof-gated LedgerCloseMeta coverage. This is not current account state, never falls back to Horizon, and no observed change is not proof that the account was absent.","tags":["Explorer"],"operationId":"getExplorerAccountObservations","parameters":[{"name":"accountId","in":"path","required":true,"description":"Checksum-valid Stellar ed25519 account G-address.","schema":{"type":"string","pattern":"^G[A-Z2-7]{55}$"}}],"responses":{"200":{"description":"Historical account observation result, including typed unavailable coverage","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExplorerLocalAccountChanges"}}}},"400":{"description":"Invalid account address"},"502":{"description":"Account observation lookup failed"}}}},"/v1/explorer/assets":{"get":{"summary":"Search assets","description":"Returns a bounded Horizon asset search result by optional code and issuer.","tags":["Explorer"],"operationId":"getExplorerAssets","parameters":[{"name":"assetCode","in":"query","required":false,"schema":{"type":"string"}},{"name":"assetIssuer","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Asset search result","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExplorerAssets"}}}},"400":{"description":"Invalid asset issuer"},"502":{"description":"Asset search unavailable"}}}},"/v1/explorer/operations":{"get":{"summary":"Search operations","description":"Returns bounded proof-gated canonical operation-envelope facts filtered by ledger, any account participant, effective source, explicit destination, operation type, transaction hash, or close-time range. G-address filters match the base key of G and muxed M references; M-address filters match the exact muxed identity. Participants come only from operation source/body XDR. State-derived accounts, effects, Soroban authorization, signers, and asset issuers are excluded. Execution outcomes are included when the canonical batch has matching transaction-result XDR coverage.","tags":["Explorer"],"operationId":"getExplorerOperations","parameters":[{"name":"accountId","in":"query","required":false,"description":"Canonical envelope participant. G matches the base key of G and M references; M matches the exact muxed identity. Results are limited to indexed account-reference batches; inspect accountReferencesComplete and the first/last account-reference coverage ledgers in the response.","schema":{"type":"string"}},{"name":"sourceAccount","in":"query","required":false,"description":"Effective operation source only. G matches the base key of G and M references; M matches the exact muxed identity. May be combined with destinationAccount for strict A-to-B queries.","schema":{"type":"string"}},{"name":"destinationAccount","in":"query","required":false,"description":"Explicit operation-body destination only. G matches the base key of G and M references; M matches the exact muxed identity. May be combined with sourceAccount for strict A-to-B queries.","schema":{"type":"string"}},{"name":"ledger","in":"query","required":false,"schema":{"type":"string","pattern":"^\\d+$"}},{"name":"operationType","in":"query","required":false,"schema":{"type":"string"}},{"name":"from","in":"query","required":false,"schema":{"type":"string","format":"date-time"}},{"name":"to","in":"query","required":false,"schema":{"type":"string","format":"date-time"}},{"name":"transactionHash","in":"query","required":false,"schema":{"type":"string","pattern":"^[0-9a-fA-F]{64}$"}}],"responses":{"200":{"description":"Operation search result","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExplorerOperations"}}}},"400":{"description":"Invalid operation filters"},"502":{"description":"Operation search unavailable"}}}},"/v1/explorer/contracts/{contractId}":{"get":{"summary":"Look up contract readiness","description":"Reports RPC-backed contract lookup readiness for a contract ID.","tags":["Explorer"],"operationId":"getExplorerContract","parameters":[{"name":"contractId","in":"path","required":true,"schema":{"type":"string","pattern":"^C[A-Z2-7]{55}$"}}],"responses":{"200":{"description":"Contract lookup readiness","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExplorerContract"}}}},"400":{"description":"Invalid contract id"}}}},"/v1/status/full-history":{"get":{"summary":"Get canonical full-history status","description":"Returns proof-gated canonical history coverage, continuous promotion runtime, and local explorer index readiness.","tags":["Status"],"operationId":"getFullHistoryStatus","responses":{"200":{"description":"Full-history status","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FullHistoryStatus"}}}},"500":{"description":"Internal server error"}}}},"/v1/status/ingestion":{"get":{"summary":"Get full-history ingestion status","description":"Returns parser status with archive indexing job queue summary.","tags":["Status"],"operationId":"getIngestionStatus","responses":{"200":{"description":"Ingestion status","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IngestionStatus"}}}},"500":{"description":"Internal server error"}}}},"/v1/indexing/ranges":{"get":{"summary":"List parsed archive ranges","description":"Returns per-archive parsed ledger header coverage from persisted parser evidence.","tags":["Full-history ingestion"],"operationId":"getIndexingRanges","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100}}],"responses":{"200":{"description":"Parsed archive ranges","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IndexingRanges"}}}},"400":{"description":"Invalid limit"},"500":{"description":"Internal server error"}}}},"/v1/ledgers/{sequence}/ingestion-status":{"get":{"summary":"Get ledger ingestion status","description":"Reports whether an archive-derived parsed ledger header is available for a ledger sequence.","tags":["Explorer"],"operationId":"getLedgerIngestionStatus","parameters":[{"name":"sequence","in":"path","required":true,"schema":{"type":"string","pattern":"^\\d+$"}}],"responses":{"200":{"description":"Ledger ingestion status","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LedgerIngestionStatus"}}}},"400":{"description":"Invalid ledger sequence"},"500":{"description":"Internal server error"}}}},"/v1/transactions/{hash}":{"get":{"summary":"Look up a transaction by hash","description":"Returns lean transaction facts from StellarAtlas proof-gated canonical history first. The configured Horizon source is used only when the local canonical index has no matching row.","tags":["Explorer"],"operationId":"getTransactionByHash","parameters":[{"name":"hash","in":"path","description":"64-character transaction hash","required":true,"schema":{"type":"string","pattern":"^[0-9a-fA-F]{64}$"}}],"responses":{"200":{"description":"Transaction lookup result","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TransactionLookup"}}}},"400":{"description":"Invalid transaction hash","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Transaction not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"502":{"description":"Transaction lookup unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/node-snapshots":{"get":{"summary":"Get the latest updated node snapshots in the network","description":"Get the latest updated node snapshots in the network","tags":["Nodes"],"operationId":"getNetworkNodeSnapshots","parameters":[{"name":"at","in":"query","description":"Latest snapshots at specific point in time","required":false,"schema":{"type":"string","format":"date-time"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/StellarAtlasNodeSnapshot"}}}}}}}},"/v1/organization-snapshots":{"get":{"summary":"Get the latest updated organization snapshots in the network","description":"Get the latest updated organization snapshots in the network","tags":["Organizations"],"operationId":"getNetworkOrganizationSnapshots","parameters":[{"name":"at","in":"query","description":"Latest snapshots at specific point in time","required":false,"schema":{"type":"string","format":"date-time"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/StellarAtlasOrganizationSnapshot"}}}}}}}},"/v1/fbas/latest":{"get":{"summary":"Get latest FBAS aggregate evidence","description":"Returns aggregate FBAS quorum metrics from the latest completed network scan measurement. The endpoint does not run live analysis and does not include persisted proof sets.","tags":["FBAS"],"operationId":"getLatestFbas","responses":{"200":{"description":"latest aggregate FBAS evidence","content":{"application/json":{"schema":{"type":"object","required":["generatedAt","evidenceSelection","proofSetPersistence","scanId","scanTime","latestLedger","latestLedgerCloseTime","processedLedgers","summary"],"properties":{"generatedAt":{"type":"string","format":"date-time"},"evidenceSelection":{"type":"string","enum":["latest_completed_network_scan_measurement"]},"proofSetPersistence":{"type":"string","enum":["not_persisted"]},"scanId":{"type":"integer"},"scanTime":{"type":"string","format":"date-time"},"latestLedger":{"type":"string"},"latestLedgerCloseTime":{"type":"string","format":"date-time","nullable":true},"processedLedgers":{"type":"array","items":{"type":"integer"}},"summary":{"type":"object","required":["nrOfActiveWatchers","nrOfConnectableNodes","nrOfActiveValidators","nrOfActiveFullValidators","nrOfActiveOrganizations","transitiveQuorumSetSize","hasTransitiveQuorumSet","topTierSize","topTierOrgsSize","hasSymmetricTopTier","hasQuorumIntersection","minBlockingSetSize","minBlockingSetFilteredSize","minBlockingSetOrgsSize","minBlockingSetOrgsFilteredSize","minBlockingSetCountrySize","minBlockingSetCountryFilteredSize","minBlockingSetISPSize","minBlockingSetISPFilteredSize","minSplittingSetSize","minSplittingSetOrgsSize","minSplittingSetCountrySize","minSplittingSetISPSize"],"properties":{"nrOfActiveWatchers":{"type":"integer"},"nrOfConnectableNodes":{"type":"integer"},"nrOfActiveValidators":{"type":"integer"},"nrOfActiveFullValidators":{"type":"integer"},"nrOfActiveOrganizations":{"type":"integer"},"transitiveQuorumSetSize":{"type":"integer"},"hasTransitiveQuorumSet":{"type":"boolean"},"topTierSize":{"type":"integer"},"topTierOrgsSize":{"type":"integer"},"hasSymmetricTopTier":{"type":"boolean"},"hasQuorumIntersection":{"type":"boolean"},"minBlockingSetSize":{"type":"integer"},"minBlockingSetFilteredSize":{"type":"integer"},"minBlockingSetOrgsSize":{"type":"integer"},"minBlockingSetOrgsFilteredSize":{"type":"integer"},"minBlockingSetCountrySize":{"type":"integer"},"minBlockingSetCountryFilteredSize":{"type":"integer"},"minBlockingSetISPSize":{"type":"integer"},"minBlockingSetISPFilteredSize":{"type":"integer"},"minSplittingSetSize":{"type":"integer"},"minSplittingSetOrgsSize":{"type":"integer"},"minSplittingSetCountrySize":{"type":"integer"},"minSplittingSetISPSize":{"type":"integer"}}}}}}}},"404":{"description":"No latest completed network scan was found"},"500":{"description":"Server error"}}}},"/v1/fbas/blocking-sets/latest":{"get":{"summary":"Get latest persisted FBAS blocking sets","description":"Returns persisted blocking-set proof families from the latest completed network scan proof artifact. The endpoint does not run live analysis or recompute FBAS data. Families can be capped; inspect complete flags and capture limits before treating a response as exhaustive.","tags":["FBAS"],"operationId":"getLatestFbasBlockingSets","responses":{"200":{"description":"latest persisted FBAS blocking-set evidence","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FbasBlockingSets"}}}},"404":{"description":"No latest persisted FBAS blocking-set evidence was found"},"500":{"description":"Server error"}}}},"/v1/fbas/splitting-sets/latest":{"get":{"summary":"Get latest persisted FBAS splitting sets","description":"Returns persisted splitting-set proof families from the latest completed network scan proof artifact. The endpoint does not run live analysis or recompute FBAS data. Families can be capped; inspect complete flags and capture limits before treating a response as exhaustive.","tags":["FBAS"],"operationId":"getLatestFbasSplittingSets","responses":{"200":{"description":"latest persisted FBAS splitting-set evidence","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FbasSplittingSets"}}}},"404":{"description":"No latest persisted FBAS splitting-set evidence was found"},"500":{"description":"Server error"}}}},"/v1/fbas/analyses/{scanId}":{"get":{"summary":"Get FBAS aggregate evidence for a scan","description":"Returns aggregate FBAS quorum metrics from a completed network scan measurement. The endpoint does not run live analysis, recompute FBAS data, or include persisted proof sets.","tags":["FBAS"],"operationId":"getFbasAnalysis","parameters":[{"name":"scanId","in":"path","required":true,"description":"Completed network scan id.","schema":{"type":"integer","minimum":1,"maximum":2147483647}}],"responses":{"200":{"description":"aggregate FBAS evidence for the completed scan","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FbasAnalysis"}}}},"400":{"description":"Bad request"},"404":{"description":"No completed FBAS analysis was found for the scan id"},"500":{"description":"Server error"}}}},"/v1/fbas/analyses/{scanId}/proof":{"get":{"summary":"Get persisted FBAS proof evidence for a scan","description":"Returns the persisted scan-time FBAS proof artifact for a completed network scan. The endpoint does not run live analysis or recompute historical proof sets. Proof families can be capped; inspect complete flags and capture limits before treating a response as exhaustive.","tags":["FBAS"],"operationId":"getFbasAnalysisProof","parameters":[{"name":"scanId","in":"path","required":true,"description":"Completed network scan id.","schema":{"type":"integer","minimum":1,"maximum":2147483647}}],"responses":{"200":{"description":"persisted FBAS proof evidence for the completed scan","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FbasAnalysisProof"}}}},"400":{"description":"Bad request"},"404":{"description":"No persisted FBAS proof was found for the scan id"},"500":{"description":"Server error"}}}},"/v1/fbas/top-tier/history":{"get":{"summary":"Get FBAS top-tier aggregate history","description":"Returns persisted daily aggregate top-tier FBAS rollups for a bounded UTC-day window. The endpoint does not run live analysis, recompute FBAS data, or include persisted proof sets.","tags":["FBAS"],"operationId":"getFbasTopTierHistory","parameters":[{"name":"from","in":"query","required":true,"description":"Inclusive start day.","schema":{"type":"string","format":"date"}},{"name":"to","in":"query","required":true,"description":"Inclusive end day. The date window must not exceed 90 days.","schema":{"type":"string","format":"date"}}],"responses":{"200":{"description":"daily top-tier aggregate FBAS history","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FbasTopTierHistory"}}}},"400":{"description":"Bad request"},"500":{"description":"Server error"}}}},"/v1/status":{"get":{"summary":"Get overall StellarAtlas status","description":"Returns a read-only aggregate of API, network-data, rollup, and current worker health. The legacy range queue remains present for compatibility but does not drive the headline status.","tags":["Status"],"operationId":"getStatus","responses":{"200":{"description":"overall status","content":{"application/json":{"schema":{"type":"object","required":["generatedAt","status","api","dataFreshness","scans","rollups","archiveQueue","workers"],"properties":{"generatedAt":{"type":"string","format":"date-time"},"status":{"type":"string","enum":["ok","degraded","unavailable"]},"api":{"type":"object","additionalProperties":true},"dataFreshness":{"type":"object","additionalProperties":true},"scans":{"type":"object","additionalProperties":true},"rollups":{"type":"object","additionalProperties":true},"archiveQueue":{"type":"object","additionalProperties":true},"workers":{"type":"object","additionalProperties":true}}}}}},"500":{"description":"Server error"}}}},"/v1/status/api":{"get":{"summary":"Get API origin status","description":"Returns the API process status from the responding origin.","tags":["Status"],"operationId":"getApiStatus","responses":{"200":{"description":"API status","content":{"application/json":{"schema":{"type":"object","required":["generatedAt","status","service"],"properties":{"generatedAt":{"type":"string","format":"date-time"},"status":{"type":"string","enum":["ok","degraded","unavailable"]},"service":{"type":"string","enum":["api"]}}}}}},"500":{"description":"Server error"}}}},"/v1/status/frontend":{"get":{"summary":"Get frontend configuration status","description":"Returns configured frontend target readiness from local configuration. It does not probe the frontend.","tags":["Status"],"operationId":"getFrontendStatus","responses":{"200":{"description":"frontend status","content":{"application/json":{"schema":{"type":"object","required":["generatedAt","status","service","configured","configurationState","health","url","probe","readiness","requiredForProduction"],"properties":{"generatedAt":{"type":"string","format":"date-time"},"status":{"type":"string","enum":["ok","degraded","unavailable"]},"service":{"type":"string","enum":["frontend"]},"configured":{"type":"boolean"},"configurationState":{"type":"string","enum":["configured","external_fallback","not_configured"]},"health":{"type":"string","enum":["not_probed"]},"url":{"type":"string","format":"uri","nullable":true},"probe":{"type":"string","enum":["not_run"]},"readiness":{"type":"string","enum":["configured_not_probed","external_fallback","planned"]},"requiredForProduction":{"type":"boolean"}}}}}},"500":{"description":"Server error"}}}},"/v1/status/horizon":{"get":{"summary":"Get Horizon configuration status","description":"Returns local Horizon readiness from configuration, including external fallback state. It does not probe Horizon.","tags":["Status"],"operationId":"getHorizonStatus","responses":{"200":{"description":"Horizon status","content":{"application/json":{"schema":{"type":"object","required":["generatedAt","status","service","configured","configurationState","health","url","probe","readiness","requiredForProduction"],"properties":{"generatedAt":{"type":"string","format":"date-time"},"status":{"type":"string","enum":["ok","degraded","unavailable"]},"service":{"type":"string","enum":["horizon"]},"configured":{"type":"boolean"},"configurationState":{"type":"string","enum":["configured","external_fallback","not_configured"]},"health":{"type":"string","enum":["not_probed"]},"url":{"type":"string","format":"uri","nullable":true},"probe":{"type":"string","enum":["not_run"]},"readiness":{"type":"string","enum":["configured_not_probed","external_fallback","planned"]},"requiredForProduction":{"type":"boolean"}}}}}},"500":{"description":"Server error"}}}},"/v1/status/rpc":{"get":{"summary":"Get RPC configuration status","description":"Returns local Stellar RPC readiness from configuration. It does not probe RPC.","tags":["Status"],"operationId":"getRpcStatus","responses":{"200":{"description":"RPC status","content":{"application/json":{"schema":{"type":"object","required":["generatedAt","status","service","configured","configurationState","health","url","probe","readiness","requiredForProduction"],"properties":{"generatedAt":{"type":"string","format":"date-time"},"status":{"type":"string","enum":["ok","degraded","unavailable"]},"service":{"type":"string","enum":["rpc"]},"configured":{"type":"boolean"},"configurationState":{"type":"string","enum":["configured","external_fallback","not_configured"]},"health":{"type":"string","enum":["not_probed"]},"url":{"type":"string","format":"uri","nullable":true},"probe":{"type":"string","enum":["not_run"]},"readiness":{"type":"string","enum":["configured_not_probed","external_fallback","planned"]},"requiredForProduction":{"type":"boolean"}}}}}},"500":{"description":"Server error"}}}},"/v1/status/data-freshness":{"get":{"summary":"Get persisted data freshness status","description":"Returns persisted network freshness, remote archive-object evidence freshness, and deprecated historical legacy range-scan freshness. Neither archive evidence nor the legacy range scanner drives current worker/runtime or platform health. It does not run live scans.","tags":["Status"],"operationId":"getDataFreshnessStatus","responses":{"200":{"description":"data freshness status","content":{"application/json":{"schema":{"type":"object","required":["generatedAt","status","networkScan","archiveEvidence","archiveScan"],"properties":{"generatedAt":{"type":"string","format":"date-time"},"status":{"type":"string","enum":["ok","degraded","unavailable"]},"networkScan":{"type":"object","required":["status","latestAt","ageMs","staleAfterMs"],"properties":{"status":{"type":"string","enum":["ok","degraded","unavailable"]},"latestAt":{"type":"string","format":"date-time","nullable":true},"ageMs":{"type":"integer","minimum":0,"nullable":true},"staleAfterMs":{"type":"integer","minimum":0,"nullable":true}}},"archiveEvidence":{"type":"object","required":["status","latestAt","ageMs","staleAfterMs","drivesPlatformStatus","drivesRuntimeHealth","source"],"properties":{"status":{"type":"string","enum":["ok","degraded","unavailable"]},"latestAt":{"type":"string","format":"date-time","nullable":true},"ageMs":{"type":"integer","minimum":0,"nullable":true},"staleAfterMs":{"type":"integer","minimum":0,"nullable":true},"drivesPlatformStatus":{"type":"boolean","enum":[false]},"drivesRuntimeHealth":{"type":"boolean","enum":[false]},"source":{"type":"string","enum":["archive_object_evidence"]}}},"archiveScan":{"deprecated":true,"description":"Compatibility field for the historical legacy range scanner. It is deprecated and does not drive current scanner runtime or platform health.","allOf":[{"$ref":"#/components/schemas/LegacyArchiveScanFreshnessProbeDTO"}]}}}}}},"500":{"description":"Server error"}}}},"/v1/status/data-quality":{"get":{"summary":"Get persisted data-quality proof status","description":"Returns persisted network freshness, raw scan continuity, daily rollup continuity, and historical legacy range-queue evidence. The legacy queue is included for compatibility and does not drive the headline data-quality status.","tags":["Status"],"operationId":"getDataQualityStatus","responses":{"200":{"description":"data-quality proof status","content":{"application/json":{"schema":{"type":"object","required":["generatedAt","status","dataFreshness","scans","rollups","archiveQueue"],"properties":{"generatedAt":{"type":"string","format":"date-time"},"status":{"type":"string","enum":["ok","degraded","unavailable"]},"dataFreshness":{"type":"object","additionalProperties":true},"scans":{"type":"object","additionalProperties":true},"rollups":{"type":"object","additionalProperties":true},"archiveQueue":{"type":"object","additionalProperties":true}}}}}},"500":{"description":"Server error"}}}},"/v1/status/scans":{"get":{"summary":"Get raw scan continuity status","description":"Returns persisted raw network scan counts and completion percentages for a bounded recent window. It does not run live scans.","tags":["Status"],"operationId":"getScanStatus","responses":{"200":{"description":"scan continuity status","content":{"application/json":{"schema":{"type":"object","required":["generatedAt","status","networkScan"],"properties":{"generatedAt":{"type":"string","format":"date-time"},"status":{"type":"string","enum":["ok","degraded","unavailable"]},"networkScan":{"type":"object","required":["status","windowStart","windowEnd","windowMs","scanIntervalMs","expectedScans","totalScans","completedScans","incompleteScans","completionRate","expectedCompletionRate","latestScanAt","latestCompletedScanAt"],"properties":{"status":{"type":"string","enum":["ok","degraded","unavailable"]},"windowStart":{"type":"string","format":"date-time"},"windowEnd":{"type":"string","format":"date-time"},"windowMs":{"type":"integer","minimum":0},"scanIntervalMs":{"type":"integer","minimum":1},"expectedScans":{"type":"integer","minimum":0},"totalScans":{"type":"integer","minimum":0},"completedScans":{"type":"integer","minimum":0},"incompleteScans":{"type":"integer","minimum":0},"completionRate":{"type":"number","minimum":0,"maximum":100,"nullable":true},"expectedCompletionRate":{"type":"number","minimum":0,"maximum":100,"nullable":true},"latestScanAt":{"type":"string","format":"date-time","nullable":true},"latestCompletedScanAt":{"type":"string","format":"date-time","nullable":true}}}}}}}},"500":{"description":"Server error"}}}},"/v1/archive-scans/objects":{"get":{"summary":"List history archive object work","description":"Returns a bounded scanner-owned archive object queue snapshot. Object rows represent concrete history archive files such as root history archive state, checkpoint state, ledger, transaction, result, and bucket files.","tags":["Archive verification"],"operationId":"getHistoryArchiveObjects","parameters":[{"name":"limit","in":"query","description":"Maximum number of object rows to return.","required":false,"schema":{"type":"integer","minimum":1,"maximum":5000,"default":250}}],"responses":{"200":{"description":"history archive object queue snapshot","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HistoryArchiveObjectQueueV1"}}}},"400":{"description":"Invalid limit"},"500":{"description":"Server error"}}}},"/v1/archive-scans/objects/buckets/{bucketHash}/coverage":{"get":{"summary":"Get bucket hash coverage across archive roots","description":"Returns scanner-owned bucket object rows for one bucket hash grouped into verified, failed, pending, and scanning copies, with the archive roots where that bucket has been scheduled or observed.","tags":["Archive verification"],"operationId":"getHistoryArchiveBucketCoverage","parameters":[{"name":"bucketHash","in":"path","description":"Lowercase or uppercase 64-character hexadecimal Stellar bucket hash.","required":true,"schema":{"type":"string","pattern":"^[0-9a-fA-F]{64}$"}}],"responses":{"200":{"description":"bucket hash coverage across archive roots","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HistoryArchiveBucketCrossCoverageV1"}}}},"400":{"description":"Invalid bucket hash"},"500":{"description":"Server error"}}}},"/v1/archive-scans/objects/summary":{"get":{"summary":"Summarize history archive object coverage","description":"Returns the legacy scanner-owned object coverage contract across all known history archive URLs. Object totals retain queue-object semantics and are grouped by object type, checkpoint coverage, bucket coverage, and source. This drilldown may be slower than the bounded status summary.","tags":["Archive verification"],"operationId":"getHistoryArchiveObjectSummary","responses":{"200":{"description":"history archive object coverage summary","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HistoryArchiveObjectSummaryV1"}}}},"500":{"description":"Server error"}}}},"/v1/archive-scans/objects/status-summary":{"get":{"summary":"Get bounded archive verification status","description":"Returns the fast status headline from incremental per-archive checkpoint-proof rollups, active object checks, and at most 256 source rows. Checkpoint proof counts are named explicitly and are not archive object totals; use the legacy object summary for grouped object coverage.","tags":["Archive verification"],"operationId":"getHistoryArchiveObjectStatusSummary","responses":{"200":{"description":"bounded archive verification status summary","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HistoryArchiveStatusSummaryV1"}}}},"500":{"description":"Server error"}}}},"/v1/archive-scans/objects/events":{"get":{"summary":"List recent history archive object events","description":"Returns a bounded scanner-owned event log for archive object claims, heartbeats, completions, failures, and releases.","tags":["Archive verification"],"operationId":"getHistoryArchiveObjectEvents","parameters":[{"name":"limit","in":"query","description":"Maximum number of event rows to return.","required":false,"schema":{"type":"integer","minimum":1,"maximum":5000,"default":250}}],"responses":{"200":{"description":"history archive object event log","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HistoryArchiveObjectEventsV1"}}}},"400":{"description":"Invalid limit"},"500":{"description":"Server error"}}}},"/v1/archive-scans/{encodedUrl}/objects":{"get":{"summary":"List history archive objects by archive URL","description":"Returns a bounded scanner-owned archive object queue snapshot for one history archive URL.","tags":["Archive verification"],"operationId":"getHistoryArchiveObjectsByUrl","parameters":[{"name":"encodedUrl","in":"path","description":"URL of the history archive, URL encoded","required":true,"schema":{"type":"string","format":"uri"}},{"name":"limit","in":"query","description":"Maximum number of object rows to return.","required":false,"schema":{"type":"integer","minimum":1,"maximum":5000,"default":250}}],"responses":{"200":{"description":"history archive object queue snapshot","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HistoryArchiveObjectQueueV1"}}}},"400":{"description":"Invalid archive URL or limit"},"500":{"description":"Server error"}}}},"/v1/archive-scans/{encodedUrl}/objects/summary":{"get":{"summary":"Summarize history archive object coverage by archive URL","description":"Returns scanner-owned archive object coverage grouped by object type, checkpoint, and bucket state for one history archive URL.","tags":["Archive verification"],"operationId":"getHistoryArchiveObjectSummaryByUrl","parameters":[{"name":"encodedUrl","in":"path","description":"URL of the history archive, URL encoded","required":true,"schema":{"type":"string","format":"uri"}}],"responses":{"200":{"description":"history archive object coverage summary","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HistoryArchiveObjectSummaryV1"}}}},"400":{"description":"Invalid archive URL"},"500":{"description":"Server error"}}}},"/v1/archive-scans/{encodedUrl}/objects/events":{"get":{"summary":"List recent history archive object events by archive URL","description":"Returns a bounded scanner-owned event log for one history archive URL.","tags":["Archive verification"],"operationId":"getHistoryArchiveObjectEventsByUrl","parameters":[{"name":"encodedUrl","in":"path","description":"URL of the history archive, URL encoded","required":true,"schema":{"type":"string","format":"uri"}},{"name":"limit","in":"query","description":"Maximum number of event rows to return.","required":false,"schema":{"type":"integer","minimum":1,"maximum":5000,"default":250}}],"responses":{"200":{"description":"history archive object event log","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HistoryArchiveObjectEventsV1"}}}},"400":{"description":"Invalid archive URL or limit"},"500":{"description":"Server error"}}}},"/v2/archive-scans/{encodedUrl}/object-evidence":{"get":{"summary":"Get paginated scanner-owned archive object evidence","description":"Returns persisted archive state plus independently cursor-paginated object, event, remote archive-failure, and worker/coordinator issue pages for one archive root. Exact filtered totals accompany every page. This endpoint does not fetch remote archive files while serving a public request.","tags":["Archive verification"],"operationId":"getHistoryArchiveObjectEvidenceV2ByUrl","parameters":[{"name":"encodedUrl","in":"path","description":"URL of the history archive, URL encoded","required":true,"schema":{"type":"string","format":"uri"}},{"$ref":"#/components/parameters/ArchiveEvidenceCopyLimit"},{"$ref":"#/components/parameters/ArchiveEvidenceObjectCursor"},{"$ref":"#/components/parameters/ArchiveEvidenceObjectLimit"},{"$ref":"#/components/parameters/ArchiveEvidenceObjectStatus"},{"$ref":"#/components/parameters/ArchiveEvidenceObjectType"},{"$ref":"#/components/parameters/ArchiveEvidenceEventCursor"},{"$ref":"#/components/parameters/ArchiveEvidenceEventEvidenceClass"},{"$ref":"#/components/parameters/ArchiveEvidenceEventLimit"},{"$ref":"#/components/parameters/ArchiveEvidenceEventObjectType"},{"$ref":"#/components/parameters/ArchiveEvidenceEventType"},{"$ref":"#/components/parameters/ArchiveEvidenceFailureCursor"},{"$ref":"#/components/parameters/ArchiveEvidenceFailureLimit"},{"$ref":"#/components/parameters/ArchiveEvidenceFailureObjectType"},{"$ref":"#/components/parameters/ArchiveEvidenceWorkerIssueCursor"},{"$ref":"#/components/parameters/ArchiveEvidenceWorkerIssueLimit"}],"responses":{"200":{"description":"paginated scanner-owned archive object evidence","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HistoryArchiveEvidenceV2"}}}},"400":{"description":"Invalid archive URL, filter, limit, or filter-bound cursor"},"429":{"description":"Archive evidence request capacity exceeded"},"500":{"description":"Server error"},"503":{"description":"Archive evidence read models are still being prepared; retry after the response Retry-After interval"}}}},"/v1/archive-scans/{encodedUrl}/repair-plan":{"get":{"summary":"Get a proof-gated history archive repair plan","description":"Returns archive repair actions, proof-bound source evidence, replacement artifact status, and scanner infrastructure blocks. A remote URL is only a retrieval location. status=available means retained bytes were already verified; status=verify-on-download means the source proof is current but StellarAtlas will fetch and independently hash the bytes before returning them.","tags":["Archive verification"],"operationId":"getHistoryArchiveRepairPlan","parameters":[{"name":"encodedUrl","in":"path","description":"URL of the history archive, URL encoded","required":true,"schema":{"type":"string","format":"uri"}},{"name":"limit","in":"query","description":"Maximum number of repair actions to return.","required":false,"schema":{"type":"integer","minimum":1,"maximum":50,"default":25}}],"responses":{"200":{"description":"proof-gated archive repair plan","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HistoryArchiveRepairPlanV1"}}}},"400":{"description":"Invalid archive URL or limit"},"500":{"description":"Server error"}}}},"/v1/archive-scans/{encodedUrl}/state":{"get":{"summary":"Get history archive state by URL","description":"Returns the latest scanner-owned history archive state record for a history archive URL. Available records contain the parsed .well-known/stellar-history.json body. Invalid and unreachable records contain the persisted scanner failure evidence for that archive URL.","tags":["Archive verification"],"operationId":"getHistoryArchiveStateByUrl","parameters":[{"name":"encodedUrl","in":"path","description":"URL of the history archive, URL encoded","required":true,"schema":{"type":"string","format":"uri"}}],"responses":{"200":{"description":"history archive state record","content":{"application/json":{"schema":{"type":"object","required":["archiveUrl","archiveUrlIdentity","stateUrl","status","observedAt","source","metadata","failure","latestFailure"],"properties":{"archiveUrl":{"type":"string","format":"uri"},"archiveUrlIdentity":{"type":"string"},"stateUrl":{"type":"string","format":"uri"},"status":{"type":"string","enum":["available","invalid","unreachable"]},"observedAt":{"type":"string","format":"date-time"},"source":{"type":"string","enum":["backfill","history-scanner","network-scan"]},"metadata":{"type":"object","nullable":true,"required":["stellarHistoryUrl","stellarHistory","observedAt"],"properties":{"stellarHistoryUrl":{"type":"string","format":"uri"},"observedAt":{"type":"string","format":"date-time"},"stellarHistory":{"type":"object","required":["version","server","currentLedger","currentBuckets"],"properties":{"version":{"type":"integer"},"server":{"type":"string"},"currentLedger":{"type":"integer"},"networkPassphrase":{"type":"string","nullable":true},"currentBuckets":{"type":"array","items":{"$ref":"#/components/schemas/HistoryStateBucket"}},"hotArchiveBuckets":{"type":"array","nullable":true,"items":{"$ref":"#/components/schemas/HistoryStateBucket"}}}}}},"failure":{"type":"object","nullable":true,"required":["message","type","httpStatus"],"properties":{"message":{"type":"string"},"type":{"type":"string"},"httpStatus":{"type":"integer","nullable":true}}},"latestFailure":{"type":"object","nullable":true,"required":["message","type","httpStatus","observedAt","source"],"properties":{"message":{"type":"string"},"type":{"type":"string"},"httpStatus":{"type":"integer","nullable":true},"observedAt":{"type":"string","format":"date-time"},"source":{"type":"string","enum":["backfill","history-scanner","network-scan"]}}}}}}}},"204":{"description":"No scanner-owned history archive state record exists for this URL yet"},"400":{"description":"Invalid archive URL"},"500":{"description":"Server error"}}}},"/v1/statistics":{"get":{"summary":"Get network measurements","description":"Returns network measurements for the requested time window.","tags":["Network"],"operationId":"getNetworkStatistics","parameters":[{"name":"from","in":"query","description":"Start of the measurement window","required":true,"schema":{"type":"string","format":"date-time"}},{"name":"to","in":"query","description":"End of the measurement window","required":true,"schema":{"type":"string","format":"date-time"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","additionalProperties":true}}}}},"400":{"description":"Bad request"},"500":{"description":"Server error"}}}},"/v1/day-statistics":{"get":{"summary":"Get daily network measurement aggregates","description":"Returns daily aggregate network measurements for the requested time window.","tags":["Network"],"operationId":"getNetworkDayStatistics","parameters":[{"name":"from","in":"query","description":"Start of the measurement window","required":true,"schema":{"type":"string","format":"date-time"}},{"name":"to","in":"query","description":"End of the measurement window","required":true,"schema":{"type":"string","format":"date-time"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","additionalProperties":true}}}}},"400":{"description":"Bad request"},"500":{"description":"Server error"}}}},"/v1/month-statistics":{"get":{"summary":"Get monthly network measurement aggregates","description":"Returns monthly aggregate network measurements for the requested time window.","tags":["Network"],"operationId":"getNetworkMonthStatistics","parameters":[{"name":"from","in":"query","description":"Start of the measurement window","required":true,"schema":{"type":"string","format":"date-time"}},{"name":"to","in":"query","description":"End of the measurement window","required":true,"schema":{"type":"string","format":"date-time"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","additionalProperties":true}}}}},"400":{"description":"Bad request"},"500":{"description":"Server error"}}}},"/v1/scp-statements":{"get":{"summary":"Get observed SCP statements","description":"Returns recently observed SCP statement evidence with optional node and slot filters.","tags":["SCP"],"operationId":"getScpStatements","parameters":[{"name":"limit","in":"query","description":"Maximum number of statements to return","required":false,"schema":{"type":"integer","minimum":1}},{"name":"nodeId","in":"query","description":"Filter by node public key","required":false,"schema":{"type":"string"}},{"name":"slotIndex","in":"query","description":"Filter by SCP slot index","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"observedAt":{"type":"string","format":"date-time"},"nodeId":{"type":"string"},"slotIndex":{"type":"string"},"pledge":{"type":"string"},"transactionSetHash":{"type":"string"},"signature":{"type":"string"}},"additionalProperties":true}}}}},"500":{"description":"Server error"}}}},"/v1/known/nodes/{publicKey}/archive-evidence":{"get":{"summary":"Get known-node archive evidence","description":"Returns scanner-owned evidence for every deduplicated archive root advertised by the known node. Object, event, remote archive-failure, and worker/coordinator issue streams use independent server-side keyset pagination with exact filtered totals. Verified copies are classified as same-organization or outside-organization network evidence. No remote archive request is made while serving this endpoint.","tags":["Archive verification"],"operationId":"getKnownNodeArchiveEvidence","parameters":[{"name":"publicKey","in":"path","required":true,"schema":{"type":"string"}},{"$ref":"#/components/parameters/ArchiveEvidenceArchiveUrl"},{"$ref":"#/components/parameters/ArchiveEvidenceCopyLimit"},{"$ref":"#/components/parameters/ArchiveEvidenceObjectCursor"},{"$ref":"#/components/parameters/ArchiveEvidenceObjectLimit"},{"$ref":"#/components/parameters/ArchiveEvidenceObjectStatus"},{"$ref":"#/components/parameters/ArchiveEvidenceObjectType"},{"$ref":"#/components/parameters/ArchiveEvidenceEventCursor"},{"$ref":"#/components/parameters/ArchiveEvidenceEventEvidenceClass"},{"$ref":"#/components/parameters/ArchiveEvidenceEventLimit"},{"$ref":"#/components/parameters/ArchiveEvidenceEventObjectType"},{"$ref":"#/components/parameters/ArchiveEvidenceEventType"},{"$ref":"#/components/parameters/ArchiveEvidenceFailureCursor"},{"$ref":"#/components/parameters/ArchiveEvidenceFailureLimit"},{"$ref":"#/components/parameters/ArchiveEvidenceFailureObjectType"},{"$ref":"#/components/parameters/ArchiveEvidenceWorkerIssueCursor"},{"$ref":"#/components/parameters/ArchiveEvidenceWorkerIssueLimit"}],"responses":{"200":{"description":"scanner-owned known-node archive evidence","content":{"application/json":{"schema":{"$ref":"#/components/schemas/KnownNodeArchiveEvidenceV1"}}}},"400":{"description":"Invalid archive filter, limit, or filter-bound cursor"},"404":{"description":"Known node not found"},"429":{"description":"Archive evidence request capacity exceeded"},"500":{"description":"Server error"},"503":{"description":"Archive evidence read models are still being prepared; retry after the response Retry-After interval"}}}},"/v1/known/nodes/{publicKey}":{"get":{"summary":"Get a known node","description":"Returns the latest stored known-node record for a public key, including archived or public-key-only evidence when available.","tags":["Nodes"],"operationId":"getKnownNode","parameters":[{"name":"publicKey","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/KnownNode"}}}},"404":{"description":"Known node not found"},"500":{"description":"Server error"}}}},"/v1/known/nodes":{"get":{"summary":"Get known nodes by inventory scope","description":"Returns a bounded canonical PostgreSQL page of known nodes with exact totals for current validators, listeners, public-key-only identities, archived/inactive records, or all-known inventory.","tags":["Nodes"],"operationId":"getKnownNodes","parameters":[{"name":"scope","in":"query","required":false,"schema":{"$ref":"#/components/schemas/KnownNodeScope"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":500,"default":100}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"maximum":1000000,"default":0}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/KnownNodesResponse"}}}},"400":{"description":"Invalid inventory scope or pagination"},"500":{"description":"Server error"}}}},"/v1/known/organizations/{organizationId}/archive-evidence":{"get":{"summary":"Get known-organization archive evidence","description":"Returns scanner-owned evidence for every deduplicated archive root advertised by every known validator in the organization. Object, event, remote archive-failure, and worker/coordinator issue streams use independent server-side keyset pagination with exact filtered totals. Verified copies are classified as same-organization or outside-organization network evidence. No remote archive request is made while serving this endpoint.","tags":["Archive verification"],"operationId":"getKnownOrganizationArchiveEvidence","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string"}},{"$ref":"#/components/parameters/ArchiveEvidenceArchiveUrl"},{"$ref":"#/components/parameters/ArchiveEvidenceCopyLimit"},{"$ref":"#/components/parameters/ArchiveEvidenceObjectCursor"},{"$ref":"#/components/parameters/ArchiveEvidenceObjectLimit"},{"$ref":"#/components/parameters/ArchiveEvidenceObjectStatus"},{"$ref":"#/components/parameters/ArchiveEvidenceObjectType"},{"$ref":"#/components/parameters/ArchiveEvidenceEventCursor"},{"$ref":"#/components/parameters/ArchiveEvidenceEventEvidenceClass"},{"$ref":"#/components/parameters/ArchiveEvidenceEventLimit"},{"$ref":"#/components/parameters/ArchiveEvidenceEventObjectType"},{"$ref":"#/components/parameters/ArchiveEvidenceEventType"},{"$ref":"#/components/parameters/ArchiveEvidenceFailureCursor"},{"$ref":"#/components/parameters/ArchiveEvidenceFailureLimit"},{"$ref":"#/components/parameters/ArchiveEvidenceFailureObjectType"},{"$ref":"#/components/parameters/ArchiveEvidenceWorkerIssueCursor"},{"$ref":"#/components/parameters/ArchiveEvidenceWorkerIssueLimit"}],"responses":{"200":{"description":"scanner-owned known-organization archive evidence","content":{"application/json":{"schema":{"$ref":"#/components/schemas/KnownOrganizationArchiveEvidenceV1"}}}},"400":{"description":"Invalid archive filter, limit, or filter-bound cursor"},"404":{"description":"Known organization not found"},"429":{"description":"Archive evidence request capacity exceeded"},"500":{"description":"Server error"},"503":{"description":"Archive evidence read models are still being prepared; retry after the response Retry-After interval"}}}},"/v1/known/organizations/{organizationId}":{"get":{"summary":"Get a known organization","description":"Returns the latest stored known-organization record, including archived evidence when available.","tags":["Organizations"],"operationId":"getKnownOrganization","parameters":[{"name":"organizationId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/KnownOrganization"}}}},"404":{"description":"Known organization not found"},"500":{"description":"Server error"}}}},"/v1/known/organizations":{"get":{"summary":"Get known organizations by inventory scope","description":"Returns a bounded canonical PostgreSQL page of current, archived, or all-known organizations with exact totals.","tags":["Organizations"],"operationId":"getKnownOrganizations","parameters":[{"name":"scope","in":"query","required":false,"schema":{"$ref":"#/components/schemas/KnownOrganizationScope"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":500,"default":100}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"maximum":1000000,"default":0}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/KnownOrganizationsResponse"}}}},"400":{"description":"Invalid inventory scope or pagination"},"500":{"description":"Server error"}}}},"/v1/nodes":{"get":{"summary":"Get all nodes","description":"Returns all the crawled nodes with statistics and geo data","tags":["Nodes"],"operationId":"getNodes","parameters":[{"name":"at","in":"query","description":"Fetch at specific point in time","required":false,"schema":{"type":"string","format":"date-time"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/StellarAtlasNode"}}}}}}}},"/v1/nodes/{publicKey}":{"get":{"summary":"Get a node by public key","description":"Returns the requested node with statistics and geo data","tags":["Nodes"],"operationId":"getNodeByPublicKey","parameters":[{"name":"publicKey","in":"path","description":"Public Key of the node to return","required":true,"schema":{"type":"string"}},{"name":"at","in":"query","description":"Fetch at specific point in time","required":false,"schema":{"type":"string","format":"date-time"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StellarAtlasNode"}}}},"404":{"description":"Node not found"}}}},"/v1/nodes/{publicKey}/snapshots":{"get":{"summary":"Get the latest snapshots of a node","description":"Get the latest snapshots of a node","tags":["Nodes"],"operationId":"getNodeSnapshots","parameters":[{"name":"publicKey","in":"path","description":"Public Key of the node to return","required":true,"schema":{"type":"string"}},{"name":"at","in":"query","description":"Latest snapshots at specific point in time","required":false,"schema":{"type":"string","format":"date-time"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/StellarAtlasNodeSnapshot"}}}}}}}},"/v1/nodes/{publicKey}/statistics":{"get":{"summary":"Get node measurements","description":"Returns node measurements for the requested time window.","tags":["Nodes"],"operationId":"getNodeStatistics","parameters":[{"name":"publicKey","in":"path","description":"Public key of the node","required":true,"schema":{"type":"string"}},{"name":"from","in":"query","description":"Start of the measurement window","required":true,"schema":{"type":"string","format":"date-time"}},{"name":"to","in":"query","description":"End of the measurement window","required":true,"schema":{"type":"string","format":"date-time"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","additionalProperties":true}}}}},"400":{"description":"Bad request"},"500":{"description":"Server error"}}}},"/v1/nodes/{publicKey}/day-statistics":{"get":{"summary":"Get daily node measurement aggregates","description":"Returns daily aggregate node measurements for the requested time window.","tags":["Nodes"],"operationId":"getNodeDayStatistics","parameters":[{"name":"publicKey","in":"path","description":"Public key of the node","required":true,"schema":{"type":"string"}},{"name":"from","in":"query","description":"Start of the measurement window","required":true,"schema":{"type":"string","format":"date-time"}},{"name":"to","in":"query","description":"End of the measurement window","required":true,"schema":{"type":"string","format":"date-time"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","additionalProperties":true}}}}},"400":{"description":"Bad request"},"500":{"description":"Server error"}}}},"/v1/organizations":{"get":{"summary":"Get all organizations","description":"Returns all crawled organizations, including horizonUrl when reported by Stellar TOML metadata.","tags":["Organizations"],"operationId":"getOrganizations","responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/OrganizationV1"}}}}}}}},"/v1/organizations/{id}":{"get":{"summary":"Get an organization by id","description":"Returns the requested organization, including horizonUrl when reported by Stellar TOML metadata.","tags":["Organizations"],"operationId":"getOrganizationById","parameters":[{"name":"id","in":"path","description":"Id of the organization","required":true,"schema":{"type":"string"}},{"name":"at","in":"query","description":"Fetch at specific point in time","required":false,"schema":{"type":"string","format":"date-time"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationV1"}}}},"404":{"description":"Organization not found"}}}},"/v1/organizations/{id}/snapshots":{"get":{"summary":"Get the latest snapshots of an organization","description":"Get the latest snapshots of an organization","tags":["Organizations"],"operationId":"getOrganizationSnapshots","parameters":[{"name":"id","in":"path","description":"Id of the organization","required":true,"schema":{"type":"string"}},{"name":"at","in":"query","description":"Latest snapshots at specific point in time","required":false,"schema":{"type":"string","format":"date-time"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/StellarAtlasOrganizationSnapshot"}}}}}}}},"/v1/organizations/{id}/statistics":{"get":{"summary":"Get organization measurements","description":"Returns organization measurements for the requested time window.","tags":["Organizations"],"operationId":"getOrganizationStatistics","parameters":[{"name":"id","in":"path","description":"Organization id","required":true,"schema":{"type":"string"}},{"name":"from","in":"query","description":"Start of the measurement window","required":true,"schema":{"type":"string","format":"date-time"}},{"name":"to","in":"query","description":"End of the measurement window","required":true,"schema":{"type":"string","format":"date-time"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","additionalProperties":true}}}}},"400":{"description":"Bad request"},"500":{"description":"Server error"}}}},"/v1/organizations/{id}/day-statistics":{"get":{"summary":"Get daily organization measurement aggregates","description":"Returns daily aggregate organization measurements for the requested time window.","tags":["Organizations"],"operationId":"getOrganizationDayStatistics","parameters":[{"name":"id","in":"path","description":"Organization id","required":true,"schema":{"type":"string"}},{"name":"from","in":"query","description":"Start of the measurement window","required":true,"schema":{"type":"string","format":"date-time"}},{"name":"to","in":"query","description":"End of the measurement window","required":true,"schema":{"type":"string","format":"date-time"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","additionalProperties":true}}}}},"400":{"description":"Bad request"},"500":{"description":"Server error"}}}},"/v1/subscription":{"post":{"summary":"Create a notification subscription","description":"Creates a pending notification subscription.","tags":["Notifications"],"operationId":"createSubscription","responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Bad request"},"500":{"description":"Server error"}}}},"/v1/subscription/request-unsubscribe":{"post":{"summary":"Request an unsubscribe link","description":"Requests an unsubscribe link for a subscriber reference.","tags":["Notifications"],"operationId":"requestUnsubscribeLink","responses":{"200":{"description":"successful operation"},"400":{"description":"Bad request"},"500":{"description":"Server error"}}}},"/v1/subscription/{pendingSubscriptionId}/confirm":{"post":{"summary":"Confirm a pending subscription","description":"Confirms a pending notification subscription.","tags":["Notifications"],"operationId":"confirmSubscription","parameters":[{"name":"pendingSubscriptionId","in":"path","description":"Pending subscription id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation"},"400":{"description":"Bad request"},"500":{"description":"Server error"}}}},"/v1/subscription/{subscriberRef}/unmute":{"post":{"summary":"Unmute a subscription","description":"Removes notification muting for a subscriber reference.","tags":["Notifications"],"operationId":"unmuteSubscription","parameters":[{"name":"subscriberRef","in":"path","description":"Subscriber reference","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation"},"400":{"description":"Bad request"},"500":{"description":"Server error"}}}},"/v1/subscription/{subscriberRef}":{"delete":{"summary":"Unsubscribe","description":"Deletes a notification subscription for a subscriber reference.","tags":["Notifications"],"operationId":"unsubscribe","parameters":[{"name":"subscriberRef","in":"path","description":"Subscriber reference","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation"},"400":{"description":"Bad request"},"500":{"description":"Server error"}}}},"/horizon/":{"get":{"description":"Read-only proxy to the configured public-network Horizon service. Links in JSON responses are rewritten under /horizon. The complete Horizon resource surface is available below this prefix; state-changing methods return 405.","externalDocs":{"description":"Official Horizon API reference","url":"https://developers.stellar.org/docs/data/apis/horizon/api-reference"},"operationId":"getHorizonRoot","responses":{"200":{"content":{"application/hal+json":{"schema":{"additionalProperties":true,"type":"object"}},"application/json":{"schema":{"additionalProperties":true,"type":"object"}}},"description":"Horizon root resource."},"502":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"error":{"type":"string"}},"required":["error"],"type":"object"}}},"description":"The configured Horizon upstream is unavailable."}},"security":[],"summary":"Get the Horizon root resource","tags":["Data access"]}},"/rpc":{"post":{"description":"Fixed-upstream proxy to the Stellar RPC JSON-RPC service. The request destination cannot be selected by the client. While the owned service is catching up, methods such as getHealth can return a standard JSON-RPC health error.","externalDocs":{"description":"Official Stellar RPC API reference","url":"https://developers.stellar.org/docs/data/apis/rpc/api-reference"},"operationId":"callStellarRpc","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"properties":{"id":{},"jsonrpc":{"enum":["2.0"],"type":"string"},"method":{"minLength":1,"type":"string"},"params":{}},"required":["jsonrpc","method"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"properties":{"error":{"type":"object"},"id":{},"jsonrpc":{"enum":["2.0"],"type":"string"},"result":{}},"type":"object"}}},"description":"Stellar RPC JSON-RPC response."},"400":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"error":{"type":"string"}},"required":["error"],"type":"object"}}},"description":"The JSON-RPC request is invalid."},"405":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"error":{"type":"string"}},"required":["error"],"type":"object"}}},"description":"Only HTTP POST is accepted."},"413":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"error":{"type":"string"}},"required":["error"],"type":"object"}}},"description":"The JSON-RPC request exceeds 2 MiB."},"502":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"error":{"type":"string"}},"required":["error"],"type":"object"}}},"description":"The configured Stellar RPC upstream is unavailable."},"503":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"error":{"type":"string"}},"required":["error"],"type":"object"}}},"description":"Stellar RPC is not configured."}},"security":[],"summary":"Call Stellar RPC","tags":["Data access"]}},"/galexie/.config.json":{"get":{"description":"Returns the upstream SEP-54 configuration used to derive Galexie LedgerCloseMeta object keys. Other immutable SEP-54 objects are available read-only below /galexie using paths described by this configuration.","externalDocs":{"description":"SEP-54: Unified Data Ingestion Scheme","url":"https://github.com/stellar/stellar-protocol/blob/master/ecosystem/sep-0054.md"},"operationId":"getGalexieConfiguration","responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"properties":{"batchesPerPartition":{"minimum":1,"type":"integer"},"compression":{"type":"string"},"ledgersPerBatch":{"minimum":1,"type":"integer"},"networkPassphrase":{"type":"string"},"version":{"type":"string"}},"type":"object"}}},"description":"SEP-54 source configuration."},"502":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"error":{"type":"string"}},"required":["error"],"type":"object"}}},"description":"The configured Galexie upstream is unavailable."}},"security":[],"summary":"Get Galexie SEP-54 configuration","tags":["Data access"]}},"/v1/analytics/assets/holders":{"get":{"description":"Returns current account balances for one issued asset from the owned Horizon state. This is a current-state query, not historical ever-held coverage.","operationId":"listCurrentAssetHolders","parameters":[{"description":"Issued asset identifier in CODE:ISSUER form. Native XLM enumeration requires the local account-state index.","in":"query","name":"asset","required":true,"schema":{"type":"string"}},{"description":"Opaque Horizon paging token from nextCursor.","in":"query","name":"cursor","required":false,"schema":{"maxLength":256,"minLength":1,"type":"string"}},{"in":"query","name":"limit","required":false,"schema":{"default":50,"maximum":200,"minimum":1,"type":"integer"}},{"in":"query","name":"order","required":false,"schema":{"default":"asc","enum":["asc","desc"],"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"asset":{"additionalProperties":false,"properties":{"code":{"anyOf":[{"type":"string"},{"type":"null"}]},"id":{"type":"string"},"issuer":{"anyOf":[{"type":"string"},{"type":"null"}]},"type":{"enum":["credit_alphanum4","credit_alphanum12","native"],"type":"string"}},"required":["code","id","issuer","type"],"type":"object"},"coverage":{"additionalProperties":false,"properties":{"historyLatestLedger":{"anyOf":[{"type":"string"},{"type":"null"}]},"scope":{"enum":["current_state"],"type":"string"},"source":{"enum":["owned_horizon"],"type":"string"}},"required":["historyLatestLedger","scope","source"],"type":"object"},"generatedAt":{"format":"date-time","type":"string"},"limit":{"type":"integer"},"nextCursor":{"anyOf":[{"type":"string"},{"type":"null"}]},"order":{"enum":["asc","desc"],"type":"string"},"records":{"items":{"additionalProperties":true,"properties":{"accountId":{"type":"string"},"balance":{"type":"string"},"lastModifiedLedger":{"anyOf":[{"type":"string"},{"type":"null"}]},"pagingToken":{"type":"string"}},"required":["accountId","balance","pagingToken"],"type":"object"},"type":"array"}},"required":["asset","coverage","generatedAt","limit","nextCursor","order","records"],"type":"object"}}},"description":"Current account balances for the requested asset."},"400":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"error":{"type":"string"}},"required":["error"],"type":"object"}}},"description":"The asset or paging query is invalid."},"501":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"error":{"type":"string"}},"required":["error"],"type":"object"}}},"description":"Native XLM holder enumeration is not available until the local account-state index is built."},"502":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"error":{"type":"string"}},"required":["error"],"type":"object"}}},"description":"The owned Horizon service is unavailable."}},"security":[],"summary":"List current holders of an asset","tags":["Analytics"]}},"/v1/history-data/catalog":{"get":{"description":"Describes the immutable decoded-history collection, its durable contiguous and supplemental coverage, and the exact genesis-to-ledger-2 origin of the LedgerCloseMeta stream.","operationId":"getHistoryDataCatalog","responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"batchListPath":{"type":"string"},"coverage":{"additionalProperties":true,"type":"object"},"format":{"enum":["stellar-atlas-decoded-history-v1"],"type":"string"},"historyOrigin":{"anyOf":[{"additionalProperties":false,"properties":{"explanation":{"type":"string"},"firstLedgerCloseMeta":{"additionalProperties":false,"properties":{"hash":{"pattern":"^[0-9a-f]{64}$","type":"string"},"previousLedgerHash":{"pattern":"^[0-9a-f]{64}$","type":"string"},"sequence":{"enum":["2"],"type":"string"},"transactionCount":{"enum":[0],"type":"integer"}},"required":["hash","previousLedgerHash","sequence","transactionCount"],"type":"object"},"genesis":{"additionalProperties":false,"properties":{"hash":{"pattern":"^[0-9a-f]{64}$","type":"string"},"ledgerCloseMetaAvailable":{"enum":[false],"type":"boolean"},"sequence":{"enum":["1"],"type":"string"}},"required":["hash","ledgerCloseMetaAvailable","sequence"],"type":"object"}},"required":["explanation","firstLedgerCloseMeta","genesis"],"type":"object"},{"type":"null"}]},"galexie":{"additionalProperties":false,"properties":{"compatible":{"type":"boolean"},"endpoint":{"type":"string"},"explanation":{"type":"string"}},"required":["compatible","endpoint","explanation"],"type":"object"},"generatedAt":{"format":"date-time","type":"string"},"networkPassphrase":{"type":"string"},"sourceFormat":{"type":"string"},"storage":{"type":"string"}},"required":["batchListPath","coverage","format","historyOrigin","galexie","generatedAt","networkPassphrase","sourceFormat","storage"],"type":"object"}}},"description":"Decoded-history catalog and coverage."},"500":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"error":{"type":"string"}},"required":["error"],"type":"object"}}},"description":"The history-data catalog is unavailable."}},"security":[],"summary":"Get decoded-history catalog","tags":["Data access"]}},"/v1/history-data/batches":{"get":{"description":"Lists immutable decoded-history batches in descending ledger order. Use nextBeforeLedger as beforeLedger to continue pagination.","operationId":"listHistoryDataBatches","parameters":[{"description":"Return only this dataset in each selected batch.","in":"query","name":"dataset","required":false,"schema":{"enum":["account-state-changes","contract-events","ledger-close-meta","ledger-entry-changes","ledgers","operations","transaction-meta","transaction-results","transactions","trustline-state-changes"],"type":"string"}},{"description":"Maximum batches returned.","in":"query","name":"limit","required":false,"schema":{"default":25,"maximum":100,"minimum":1,"type":"integer"}},{"description":"Return batches beginning below this unsigned ledger sequence.","in":"query","name":"beforeLedger","required":false,"schema":{"maximum":4294967295,"minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"batches":{"items":{"additionalProperties":false,"properties":{"batchId":{"format":"uuid","type":"string"},"endLedger":{"type":"string"},"ledgerCount":{"minimum":1,"type":"integer"},"outputs":{"items":{"additionalProperties":false,"properties":{"byteCount":{"type":"string"},"dataset":{"enum":["account-state-changes","contract-events","ledger-close-meta","ledger-entry-changes","ledgers","operations","transaction-meta","transaction-results","transactions","trustline-state-changes"],"type":"string"},"downloadPath":{"type":"string"},"mediaType":{"type":"string"},"recordCount":{"type":"string"},"representation":{"enum":["lossless-replay","typed-projection"],"type":"string"},"schemaVersion":{"type":"string"},"sha256":{"pattern":"^[0-9a-f]{64}$","type":"string"}},"required":["byteCount","dataset","downloadPath","mediaType","recordCount","representation","schemaVersion","sha256"],"type":"object"},"type":"array"},"processedAt":{"format":"date-time","type":"string"},"startLedger":{"type":"string"}},"required":["batchId","endLedger","ledgerCount","outputs","processedAt","startLedger"],"type":"object"},"type":"array"},"dataset":{"anyOf":[{"enum":["account-state-changes","contract-events","ledger-close-meta","ledger-entry-changes","ledgers","operations","transaction-meta","transaction-results","transactions","trustline-state-changes"],"type":"string"},{"type":"null"}]},"generatedAt":{"format":"date-time","type":"string"},"limit":{"type":"integer"},"nextBeforeLedger":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["batches","dataset","generatedAt","limit","nextBeforeLedger"],"type":"object"}}},"description":"A page of immutable decoded-history batches."},"400":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"error":{"type":"string"}},"required":["error"],"type":"object"}}},"description":"One or more query parameters are invalid."},"500":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"error":{"type":"string"}},"required":["error"],"type":"object"}}},"description":"The batch catalog is unavailable."}},"security":[],"summary":"List decoded-history batches","tags":["Data access"]}},"/v1/history-data/batches/{batchId}/{dataset}":{"get":{"description":"Downloads one immutable artifact. Send Range to retrieve a byte range; verify the complete content with X-Content-SHA256.","operationId":"downloadHistoryDataBatchArtifact","parameters":[{"description":"Immutable batch UUID returned by the batch-list endpoint.","in":"path","name":"batchId","required":true,"schema":{"format":"uuid","type":"string"}},{"description":"Typed dataset contained in the immutable batch.","in":"path","name":"dataset","required":true,"schema":{"enum":["account-state-changes","contract-events","ledger-close-meta","ledger-entry-changes","ledgers","operations","transaction-meta","transaction-results","transactions","trustline-state-changes"],"type":"string"}}],"responses":{"200":{"content":{"application/vnd.apache.parquet":{"schema":{"format":"binary","type":"string"}},"application/x-stellar-ledger-close-meta-batch+xdr+zstd":{"schema":{"format":"binary","type":"string"}}},"description":"Immutable history artifact. Range requests may return HTTP 206.","headers":{"Accept-Ranges":{"description":"The artifact supports HTTP byte ranges.","schema":{"example":"bytes","type":"string"}},"ETag":{"description":"Immutable SHA-256 entity tag.","schema":{"type":"string"}},"X-Content-SHA256":{"description":"Lowercase hexadecimal SHA-256 digest of the complete artifact.","schema":{"pattern":"^[0-9a-f]{64}$","type":"string"}}}},"206":{"content":{"application/vnd.apache.parquet":{"schema":{"format":"binary","type":"string"}},"application/x-stellar-ledger-close-meta-batch+xdr+zstd":{"schema":{"format":"binary","type":"string"}}},"description":"Immutable history artifact. Range requests may return HTTP 206.","headers":{"Accept-Ranges":{"description":"The artifact supports HTTP byte ranges.","schema":{"example":"bytes","type":"string"}},"ETag":{"description":"Immutable SHA-256 entity tag.","schema":{"type":"string"}},"X-Content-SHA256":{"description":"Lowercase hexadecimal SHA-256 digest of the complete artifact.","schema":{"pattern":"^[0-9a-f]{64}$","type":"string"}}}},"400":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"error":{"type":"string"}},"required":["error"],"type":"object"}}},"description":"The batch UUID or dataset is invalid."},"404":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"error":{"type":"string"}},"required":["error"],"type":"object"}}},"description":"No matching immutable artifact exists."},"503":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"error":{"type":"string"}},"required":["error"],"type":"object"}}},"description":"The catalogued artifact is unavailable."}},"security":[],"summary":"Download an immutable history artifact","tags":["Data access"]},"head":{"description":"Returns the same immutable artifact headers without a response body.","operationId":"headHistoryDataBatchArtifact","parameters":[{"description":"Immutable batch UUID returned by the batch-list endpoint.","in":"path","name":"batchId","required":true,"schema":{"format":"uuid","type":"string"}},{"description":"Typed dataset contained in the immutable batch.","in":"path","name":"dataset","required":true,"schema":{"enum":["account-state-changes","contract-events","ledger-close-meta","ledger-entry-changes","ledgers","operations","transaction-meta","transaction-results","transactions","trustline-state-changes"],"type":"string"}}],"responses":{"200":{"description":"Immutable artifact headers.","headers":{"Accept-Ranges":{"description":"The artifact supports HTTP byte ranges.","schema":{"example":"bytes","type":"string"}},"ETag":{"description":"Immutable SHA-256 entity tag.","schema":{"type":"string"}},"X-Content-SHA256":{"description":"Lowercase hexadecimal SHA-256 digest of the complete artifact.","schema":{"pattern":"^[0-9a-f]{64}$","type":"string"}}}},"400":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"error":{"type":"string"}},"required":["error"],"type":"object"}}},"description":"The batch UUID or dataset is invalid."},"404":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"error":{"type":"string"}},"required":["error"],"type":"object"}}},"description":"No matching immutable artifact exists."},"503":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"error":{"type":"string"}},"required":["error"],"type":"object"}}},"description":"The catalogued artifact is unavailable."}},"security":[],"summary":"Inspect an immutable history artifact","tags":["Data access"]}},"/v1/analytics/ledgers/{sequence}":{"get":{"description":"Returns one decoded Hubble ledger in the currently ingested range.","operationId":"getAnalyticsLedger","parameters":[{"description":"Ledger sequence in the currently ingested Hubble range.","in":"path","name":"sequence","required":true,"schema":{"minimum":1,"type":"integer"}}],"responses":{"200":{"description":"Parsed ETL response from completed batches. IDs remain lossless strings where returned by the warehouse; legacy numeric fields are not upgraded to exact values.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubbleLedgerDetail"}}}},"400":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"code":{"type":"string"},"error":{"type":"string"}},"required":["code","error"],"type":"object"}}},"description":"The ledger sequence is invalid."},"404":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"code":{"type":"string"},"error":{"type":"string"}},"required":["code","error"],"type":"object"}}},"description":"The ledger is outside the ingested range."},"503":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"code":{"type":"string"},"error":{"type":"string"}},"required":["code","error"],"type":"object"}}},"description":"The analytics warehouse is unavailable."}},"security":[],"summary":"Locate a ledger","tags":["Analytics"]}},"/v1/analytics/ledgers/{sequence}/transactions":{"get":{"description":"Returns decoded transactions in one ledger with explicit offset pagination.","operationId":"listAnalyticsLedgerTransactions","parameters":[{"description":"Ledger sequence in the currently ingested Hubble range.","in":"path","name":"sequence","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Maximum rows returned.","in":"query","name":"limit","required":false,"schema":{"default":100,"maximum":200,"minimum":1,"type":"integer"}},{"description":"Zero-based row offset. Follow nextOffset when present.","in":"query","name":"offset","required":false,"schema":{"default":0,"minimum":0,"type":"integer"}}],"responses":{"200":{"description":"Parsed ETL response from completed batches. IDs remain lossless strings where returned by the warehouse; legacy numeric fields are not upgraded to exact values.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubbleLedgerTransactionPage"}}}},"400":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"code":{"type":"string"},"error":{"type":"string"}},"required":["code","error"],"type":"object"}}},"description":"The ledger or pagination input is invalid."},"503":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"code":{"type":"string"},"error":{"type":"string"}},"required":["code","error"],"type":"object"}}},"description":"The analytics warehouse is unavailable."}},"security":[],"summary":"List transactions in a ledger","tags":["Analytics"]}},"/v1/analytics/operations/{operationId}":{"get":{"description":"Locates one operation and returns its decoded operation, transaction, and effects. Use view=typed for the additive parsed explorer representation. Parsed operations with exact identifiers and a bounded transaction-hash relationship. Details are legacy parsed values, not a guarantee of exact amounts; use typed transaction amounts for hash-verified envelope values. Only completed matching batch/digest facts are visible. Maximum window span: 1000000 ledgers. The default window is the latest 64 parsed ledgers; date filters only narrow it. Check returned window and coverage. Offset pagination is not immutable under backfill; use narrower ledger windows for large histories. Missing data returns 404 only when the selected window is fully published, including supplemental ranges; otherwise 409 with coverage metadata.","operationId":"getAnalyticsOperation","parameters":[{"in":"path","name":"operationId","required":true,"description":"Supported in both views; typed bounds described here. Exact decimal operation TOID; its encoded ledger is used automatically.","schema":{"type":"string","example":"272689036992143361"}},{"in":"query","name":"min_ledger","description":"Typed only (view=typed). Inclusive minimum ledger. Defaults to max_ledger minus 63, or the ledger encoded in an operation/trade ID.","required":false,"schema":{"type":"integer","minimum":1,"example":63490364}},{"in":"query","name":"max_ledger","description":"Typed only (view=typed). Inclusive maximum ledger. Defaults to the greatest published parsed ledger, or the ledger encoded in an operation/trade ID.","required":false,"schema":{"type":"integer","minimum":1,"example":63490364}},{"in":"query","name":"start_time","description":"Typed only (view=typed). Inclusive UTC ISO timestamp ending in Z. Narrows the selected ledger window; not an all-history date search.","required":false,"schema":{"type":"string","format":"date-time"}},{"in":"query","name":"end_time","description":"Typed only (view=typed). Exclusive UTC ISO timestamp ending in Z.","required":false,"schema":{"type":"string","format":"date-time"}},{"in":"query","name":"source_account","description":"Typed only (view=typed). Exact source account.","required":false,"schema":{"type":"string"}},{"in":"query","name":"type","description":"Typed only (view=typed). Exact numeric Stellar operation type code or stored snake_case name (24 or invoke_host_function).","required":false,"schema":{"type":"string"}},{"in":"query","name":"view","description":"Omit to retain the legacy response and limits. typed selects the bounded parsed explorer representation documented here.","required":false,"schema":{"type":"string","enum":["typed"],"example":"typed"}}],"responses":{"200":{"description":"Legacy response when view is omitted; typed explorer response when view=typed.","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/HubbleOperationDetail"},{"$ref":"#/components/schemas/HubbleExplorerOperationDetail"}]}}}},"400":{"description":"Invalid identifier, unsupported filter, range, date or pagination input.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubbleError"}}}},"404":{"description":"Not found in the fully ingested selected window.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubbleExplorerOperationNotFound"}}}},"409":{"description":"Selected window is not known fully ingested; absence is not proof of nonexistence.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubbleExplorerOperationNotFound"}}}},"500":{"description":"Unexpected query failure (hubble_query_failed); no partial-success response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubbleError"}}}},"503":{"description":"Warehouse unavailable or server query budget exhausted; no partial-success response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubbleError"}}}}},"security":[],"summary":"Locate an operation","tags":["Analytics"]}},"/v1/analytics/operations/{operationId}/effects":{"get":{"description":"Returns one page of decoded effects emitted by one operation. Follow nextOffset until null.","operationId":"listAnalyticsOperationEffects","parameters":[{"description":"Lossless decimal Stellar operation identifier.","in":"path","name":"operationId","required":true,"schema":{"pattern":"^[0-9]{1,20}$","type":"string"}},{"description":"Maximum rows returned.","in":"query","name":"limit","required":false,"schema":{"default":100,"maximum":200,"minimum":1,"type":"integer"}},{"description":"Zero-based row offset. Follow nextOffset when present.","in":"query","name":"offset","required":false,"schema":{"default":0,"minimum":0,"type":"integer"}}],"responses":{"200":{"description":"Parsed ETL response from completed batches. IDs remain lossless strings where returned by the warehouse; legacy numeric fields are not upgraded to exact values.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubbleEffectPage"}}}},"400":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"code":{"type":"string"},"error":{"type":"string"}},"required":["code","error"],"type":"object"}}},"description":"The operation or pagination input is invalid."},"503":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"code":{"type":"string"},"error":{"type":"string"}},"required":["code","error"],"type":"object"}}},"description":"The analytics warehouse is unavailable."}},"security":[],"summary":"List operation effects","tags":["Analytics"]}},"/v1/analytics/accounts/{account}/effects":{"get":{"description":"Returns decoded effects attributed to one account, newest first.","operationId":"listAnalyticsAccountEffects","parameters":[{"description":"Stellar G, M, or C address.","in":"path","name":"account","required":true,"schema":{"pattern":"^[GMC][A-Z2-7]{55,68}$","type":"string"}},{"description":"Inclusive minimum ledger sequence.","in":"query","name":"min_ledger","required":false,"schema":{"minimum":1,"type":"integer"}},{"description":"Inclusive maximum ledger sequence.","in":"query","name":"max_ledger","required":false,"schema":{"minimum":1,"type":"integer"}},{"description":"Maximum rows returned.","in":"query","name":"limit","required":false,"schema":{"default":100,"maximum":200,"minimum":1,"type":"integer"}},{"description":"Zero-based row offset. Follow nextOffset when present.","in":"query","name":"offset","required":false,"schema":{"default":0,"minimum":0,"type":"integer"}}],"responses":{"200":{"description":"Parsed ETL response from completed batches. IDs remain lossless strings where returned by the warehouse; legacy numeric fields are not upgraded to exact values.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubbleEffectPage"}}}},"400":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"code":{"type":"string"},"error":{"type":"string"}},"required":["code","error"],"type":"object"}}},"description":"The account, ledger range, or pagination input is invalid."},"503":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"code":{"type":"string"},"error":{"type":"string"}},"required":["code","error"],"type":"object"}}},"description":"The analytics warehouse is unavailable."}},"security":[],"summary":"List account effects","tags":["Analytics"]}},"/v1/analytics/trades":{"get":{"description":"Searches decoded trades by participant, asset, pool, and ledger range. Use view=typed for the additive parsed explorer representation. Parsed trade records. Amount strings retain source Float64 precision and are explicitly marked source_float64; price rational terms and operation IDs remain exact strings. Only completed matching batch/digest facts are visible. Maximum window span: 1000000 ledgers. The default window is the latest 64 parsed ledgers; date filters only narrow it. Check returned window and coverage. Offset pagination is not immutable under backfill; use narrower ledger windows for large histories. ","operationId":"searchAnalyticsTrades","parameters":[{"in":"query","name":"min_ledger","description":"Supported in both views; typed bounds described here. Inclusive minimum ledger. Defaults to max_ledger minus 63, or the ledger encoded in an operation/trade ID.","required":false,"schema":{"type":"integer","minimum":1,"example":63490364}},{"in":"query","name":"max_ledger","description":"Supported in both views; typed bounds described here. Inclusive maximum ledger. Defaults to the greatest published parsed ledger, or the ledger encoded in an operation/trade ID.","required":false,"schema":{"type":"integer","minimum":1,"example":63490364}},{"in":"query","name":"start_time","description":"Typed only (view=typed). Inclusive UTC ISO timestamp ending in Z. Narrows the selected ledger window; not an all-history date search.","required":false,"schema":{"type":"string","format":"date-time"}},{"in":"query","name":"end_time","description":"Typed only (view=typed). Exclusive UTC ISO timestamp ending in Z.","required":false,"schema":{"type":"string","format":"date-time"}},{"in":"query","name":"limit","description":"Supported in both views; typed bounds described here. Maximum returned rows, with one lookahead row for nextOffset.","required":false,"schema":{"type":"integer","minimum":1,"maximum":100,"default":25,"example":10}},{"in":"query","name":"offset","description":"Supported in both views; typed bounds described here. Zero-based offset. Follow nextOffset with unchanged filters; narrow the window once offset exceeds 10000.","required":false,"schema":{"type":"integer","minimum":0,"maximum":10000,"default":0}},{"in":"query","name":"seller","description":"Supported in both views; typed bounds described here. Exact seller.","required":false,"schema":{"type":"string"}},{"in":"query","name":"buyer","description":"Supported in both views; typed bounds described here. Exact buyer.","required":false,"schema":{"type":"string"}},{"in":"query","name":"selling_asset","description":"Typed only (view=typed). native or CODE:ISSUER.","required":false,"schema":{"type":"string"}},{"in":"query","name":"buying_asset","description":"Typed only (view=typed). native or CODE:ISSUER.","required":false,"schema":{"type":"string"}},{"in":"query","name":"operation_id","description":"Typed only (view=typed). Exact operation id.","required":false,"schema":{"type":"string","pattern":"^-?[0-9]+$","example":"123"}},{"in":"query","name":"selling_asset_code","required":false,"schema":{"type":"string"},"description":"Legacy only; omit view. Rejected with view=typed. "},{"in":"query","name":"selling_asset_issuer","required":false,"schema":{"type":"string"},"description":"Legacy only; omit view. Rejected with view=typed. "},{"in":"query","name":"buying_asset_code","required":false,"schema":{"type":"string"},"description":"Legacy only; omit view. Rejected with view=typed. "},{"in":"query","name":"buying_asset_issuer","required":false,"schema":{"type":"string"},"description":"Legacy only; omit view. Rejected with view=typed. "},{"in":"query","name":"liquidity_pool_id","required":false,"schema":{"type":"string"},"description":"Legacy only; omit view. Rejected with view=typed. "},{"in":"query","name":"view","description":"Omit to retain the legacy response and limits. typed selects the bounded parsed explorer representation documented here.","required":false,"schema":{"type":"string","enum":["typed"],"example":"typed"}}],"responses":{"200":{"description":"Legacy response when view is omitted; typed explorer response when view=typed.","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/HubbleLegacyTradePage"},{"$ref":"#/components/schemas/HubbleExplorerTradePage"}]}}}},"400":{"description":"Invalid identifier, unsupported filter, range, date or pagination input.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubbleError"}}}},"500":{"description":"Unexpected query failure (hubble_query_failed); no partial-success response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubbleError"}}}},"503":{"description":"Warehouse unavailable or server query budget exhausted; no partial-success response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubbleError"}}}}},"security":[],"summary":"Search trades","tags":["Analytics"]}},"/v1/analytics/contracts/{contractId}/state":{"get":{"description":"Returns decoded Soroban contract-data changes for one contract. Optional filters select a ledger key, durability, deletion state, and ledger range.","operationId":"listAnalyticsContractState","parameters":[{"description":"Stellar C-address for a Soroban contract.","in":"path","name":"contractId","required":true,"schema":{"pattern":"^C[A-Z2-7]{55}$","type":"string"}},{"in":"query","name":"ledger_key_hash","required":false,"schema":{"type":"string"}},{"in":"query","name":"durability","required":false,"schema":{"type":"string"}},{"in":"query","name":"deleted","required":false,"schema":{"type":"boolean"}},{"description":"Inclusive minimum ledger sequence.","in":"query","name":"min_ledger","required":false,"schema":{"minimum":1,"type":"integer"}},{"description":"Inclusive maximum ledger sequence.","in":"query","name":"max_ledger","required":false,"schema":{"minimum":1,"type":"integer"}},{"description":"Maximum rows returned.","in":"query","name":"limit","required":false,"schema":{"default":100,"maximum":200,"minimum":1,"type":"integer"}},{"description":"Zero-based row offset. Follow nextOffset when present.","in":"query","name":"offset","required":false,"schema":{"default":0,"minimum":0,"type":"integer"}}],"responses":{"200":{"description":"Parsed ETL response from completed batches. IDs remain lossless strings where returned by the warehouse; legacy numeric fields are not upgraded to exact values.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubbleContractStatePage"}}}},"400":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"code":{"type":"string"},"error":{"type":"string"}},"required":["code","error"],"type":"object"}}},"description":"The contract or state filter is invalid."},"503":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"code":{"type":"string"},"error":{"type":"string"}},"required":["code","error"],"type":"object"}}},"description":"The analytics warehouse is unavailable."}},"security":[],"summary":"List Soroban contract state changes","tags":["Analytics"]}},"/v1/analytics/assets/{asset}/transfers":{"get":{"description":"Returns decoded transfers for native or CODE:ISSUER, with optional sender, recipient, transaction, and ledger filters.","operationId":"listAnalyticsAssetTransfers","parameters":[{"description":"native or URL-encoded CODE:ISSUER.","in":"path","name":"asset","required":true,"schema":{"example":"native","type":"string"}},{"in":"query","name":"from","required":false,"schema":{"type":"string"}},{"in":"query","name":"to","required":false,"schema":{"type":"string"}},{"description":"Restrict results to one transaction hash.","in":"query","name":"transaction_hash","required":false,"schema":{"pattern":"^[0-9a-fA-F]{64}$","type":"string"}},{"description":"Inclusive minimum ledger sequence.","in":"query","name":"min_ledger","required":false,"schema":{"minimum":1,"type":"integer"}},{"description":"Inclusive maximum ledger sequence.","in":"query","name":"max_ledger","required":false,"schema":{"minimum":1,"type":"integer"}},{"description":"Maximum rows returned.","in":"query","name":"limit","required":false,"schema":{"default":100,"maximum":200,"minimum":1,"type":"integer"}},{"description":"Zero-based row offset. Follow nextOffset when present.","in":"query","name":"offset","required":false,"schema":{"default":0,"minimum":0,"type":"integer"}}],"responses":{"200":{"description":"Parsed ETL response from completed batches. IDs remain lossless strings where returned by the warehouse; legacy numeric fields are not upgraded to exact values.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubbleLegacyTransferPage"}}}},"400":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"code":{"type":"string"},"error":{"type":"string"}},"required":["code","error"],"type":"object"}}},"description":"The asset or transfer filter is invalid."},"503":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"code":{"type":"string"},"error":{"type":"string"}},"required":["code","error"],"type":"object"}}},"description":"The analytics warehouse is unavailable."}},"security":[],"summary":"List asset transfers","tags":["Analytics"]}},"/v1/analytics/transactions/{transactionHash}":{"get":{"description":"Locate a transaction by hash. The default response retains transaction, ledger, operations, contractEvents and tokenTransfers. Use view=typed for parsed transaction plus independently cursor-paginated operations, effects and classified events. A ledger_sequence hint is optional; relationships always bind to the resolved exact ledger and transaction ID. Only completed matching batch/digest facts are visible; absent rows do not imply complete archive coverage. All IDs, fees and exact amounts are strings. Operation amounts come from a hash-verified envelope; effect amounts come from exact ETL decimal strings. Supplemental detailsJson can contain rounded legacy numbers, and arbitrary event decoded JSON is not an exact numeric contract: eventXdr retains source evidence. Cursors preserve full ascending operation/effect/event ordering with metadata tie breakers, not an immutable backfill snapshot. Execution budgets belong to the existing read-only ClickHouse profile; hash-only lookup currently uses its bloom index and can time out. Example: ?view=typed&ledger_sequence=26000000&limit=5. GraphQL parity: hubbleTransaction(transactionHash: \"5601a324dae6b95aeb626e4de68268fbb996a655979228178d291fc4b8c908cd\", ledgerSequence: 26000000, limit: 5) { transaction { id hash ledgerSequence feeChargedRaw } operations { items { id type amounts { field raw scale } } nextCursor } effects { items { id operationId type } nextCursor } events { items { id classification { transactionKind eventKind provenance } } nextCursor } }.","operationId":"getAnalyticsTransaction","parameters":[{"description":"64-character hexadecimal Stellar transaction hash.","in":"path","name":"transactionHash","required":true,"schema":{"pattern":"^[0-9a-fA-F]{64}$","type":"string","example":"446670351d9f2af449eda3bfa0e36c3e128e2720443293dd5b585b3bbadeb485"}},{"in":"query","name":"view","required":false,"schema":{"type":"string","enum":["typed"],"example":"typed"},"description":"Omit for the unchanged legacy object with array relationships. typed opts into the parsed, cursor-paginated representation."},{"in":"query","name":"ledger_sequence","required":false,"schema":{"type":"integer","minimum":1,"maximum":2147483647,"example":63490364},"description":"Optional known ledger hint for typed view; constrains native primary key and partition. Hash-only lookup remains supported but can be slower."},{"in":"query","name":"limit","required":false,"schema":{"type":"integer","minimum":1,"maximum":200,"default":25,"example":10},"description":"Maximum items per typed relationship page. Larger limits are rejected, not silently truncated."},{"in":"query","name":"operations_after","required":false,"schema":{"type":"string","maxLength":2048},"description":"Use only this relation's nextCursor with the same transaction. Independent ascending execution-order keyset; not a frozen snapshot under backfill/retries."},{"in":"query","name":"effects_after","required":false,"schema":{"type":"string","maxLength":2048},"description":"Use only this relation's nextCursor with the same transaction. Independent ascending execution-order keyset; not a frozen snapshot under backfill/retries."},{"in":"query","name":"events_after","required":false,"schema":{"type":"string","maxLength":2048},"description":"Use only this relation's nextCursor with the same transaction. Independent ascending execution-order keyset; not a frozen snapshot under backfill/retries."}],"responses":{"200":{"description":"Legacy transaction detail, or typed cursor-paginated transaction detail when view=typed.","content":{"application/json":{"schema":{"oneOf":[{"type":"object","additionalProperties":true,"required":["transaction","operations"],"properties":{"transaction":{"type":"object","additionalProperties":true},"operations":{"type":"array","items":{"type":"object","additionalProperties":true}}}},{"$ref":"#/components/schemas/HubbleTypedTransaction"}]}}}},"400":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"code":{"type":"string"},"error":{"type":"string"}},"required":["code","error"],"type":"object"}}},"description":"The transaction hash is invalid."},"404":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"code":{"type":"string"},"error":{"type":"string"}},"required":["code","error"],"type":"object"}}},"description":"The transaction is outside the currently ingested range or does not exist."},"500":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"code":{"type":"string"},"error":{"type":"string"}},"required":["code","error"],"type":"object"}}},"description":"Unexpected transaction query failure (hubble_query_failed)."},"503":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"code":{"type":"string"},"error":{"type":"string"}},"required":["code","error"],"type":"object"}}},"description":"The analytics warehouse is unavailable."}},"security":[],"summary":"Locate a transaction","tags":["Analytics"]}},"/v1/analytics/accounts/{account}/transactions":{"get":{"description":"Returns transactions sourced by the account or linked through an operation effect, newest first.","operationId":"listAnalyticsAccountTransactions","parameters":[{"description":"Stellar G, M, or C address.","in":"path","name":"account","required":true,"schema":{"pattern":"^[GMC][A-Z2-7]{55,68}$","type":"string"}},{"description":"Maximum rows returned.","in":"query","name":"limit","required":false,"schema":{"default":100,"maximum":200,"minimum":1,"type":"integer"}},{"description":"Zero-based row offset. Follow nextOffset when present.","in":"query","name":"offset","required":false,"schema":{"default":0,"minimum":0,"type":"integer"}}],"responses":{"200":{"description":"Parsed ETL response from completed batches. IDs remain lossless strings where returned by the warehouse; legacy numeric fields are not upgraded to exact values.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubbleAccountTransactionPage"}}}},"400":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"code":{"type":"string"},"error":{"type":"string"}},"required":["code","error"],"type":"object"}}},"description":"The account or pagination input is invalid."},"503":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"code":{"type":"string"},"error":{"type":"string"}},"required":["code","error"],"type":"object"}}},"description":"The analytics warehouse is unavailable."}},"security":[],"summary":"List account transaction activity","tags":["Analytics"]}},"/v1/analytics/transfers":{"get":{"description":"Searches decoded classic and contract token transfers. All supplied filters are combined.","operationId":"searchAnalyticsTransfers","parameters":[{"description":"Exact sender address.","in":"query","name":"from","required":false,"schema":{"type":"string"}},{"description":"Exact recipient address.","in":"query","name":"to","required":false,"schema":{"type":"string"}},{"description":"Exact normalized asset identifier.","in":"query","name":"asset","required":false,"schema":{"type":"string"}},{"description":"Classic asset code.","in":"query","name":"asset_code","required":false,"schema":{"maxLength":12,"type":"string"}},{"description":"Classic asset issuer.","in":"query","name":"asset_issuer","required":false,"schema":{"type":"string"}},{"description":"Soroban token contract address.","in":"query","name":"contract_id","required":false,"schema":{"type":"string"}},{"description":"Restrict results to one transaction hash.","in":"query","name":"transaction_hash","required":false,"schema":{"pattern":"^[0-9a-fA-F]{64}$","type":"string"}},{"description":"Inclusive minimum ledger sequence.","in":"query","name":"min_ledger","required":false,"schema":{"minimum":1,"type":"integer"}},{"description":"Inclusive maximum ledger sequence.","in":"query","name":"max_ledger","required":false,"schema":{"minimum":1,"type":"integer"}},{"description":"Maximum rows returned.","in":"query","name":"limit","required":false,"schema":{"default":100,"maximum":200,"minimum":1,"type":"integer"}},{"description":"Zero-based row offset. Follow nextOffset when present.","in":"query","name":"offset","required":false,"schema":{"default":0,"minimum":0,"type":"integer"}}],"responses":{"200":{"description":"Parsed ETL response from completed batches. IDs remain lossless strings where returned by the warehouse; legacy numeric fields are not upgraded to exact values.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubbleLegacyTransferPage"}}}},"400":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"code":{"type":"string"},"error":{"type":"string"}},"required":["code","error"],"type":"object"}}},"description":"A transfer filter is invalid."},"503":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"code":{"type":"string"},"error":{"type":"string"}},"required":["code","error"],"type":"object"}}},"description":"The analytics warehouse is unavailable."}},"security":[],"summary":"Search token transfers","tags":["Analytics"]}},"/v1/analytics/contracts/{contractId}/events":{"get":{"description":"Set view=typed for parsed events with exact identifiers, retained XDR/decoded JSON, and explicit classification. This includes system, contract, and diagnostic events: execution evidence does not imply success, and a native fee is not Soroban execution evidence. Typed pages support asc or desc ledger/row/batch/digest order (default desc), exact decoded topic-symbol filtering, and q search by exact G/C address, transaction hash, or ledger. The default typed window begins at ledger 2 and ends at the published maximum; explicit bounds and cursors pin the window. Typed pages use a cursor tied to selection filters and watermark. include_summary returns matched-selection total and up to 128 named topic counts independent of cursor/page; it is cached briefly and is not a frozen snapshot. Only completed ingestion batches are visible; coverage gaps are explicit. Omit view to retain the existing raw offset response.","operationId":"listAnalyticsContractEvents","parameters":[{"description":"Stellar C-address for a Soroban contract.","in":"path","name":"contractId","required":true,"schema":{"type":"string","pattern":"^C[A-Z2-7]{55}$","example":"CDL74RF5BLYR2YBLCCI7F5FB6TPSCLKEJUBSD2RSVWZ4YHF3VMFAIGWA"}},{"description":"Restrict results to one transaction hash.","in":"query","name":"transaction_hash","required":false,"schema":{"pattern":"^[0-9a-fA-F]{64}$","type":"string"}},{"description":"Inclusive ledger lower bound. Typed view defaults to ledger 2; maximum span: 2147483647 ledgers. Date filters additionally constrain this window.","in":"query","name":"min_ledger","required":false,"schema":{"type":"integer","minimum":1,"maximum":2147483647,"example":63490364}},{"description":"Inclusive ledger upper bound. Typed view defaults to the published maximum; maximum span: 2147483647 ledgers. Date filters additionally constrain this window.","in":"query","name":"max_ledger","required":false,"schema":{"type":"integer","minimum":1,"maximum":2147483647,"example":63490364}},{"description":"Maximum rows returned.","in":"query","name":"limit","required":false,"schema":{"default":100,"maximum":200,"minimum":1,"type":"integer"}},{"description":"Legacy view only; defaults to 0 when omitted. Must be omitted for view=typed: use after instead.","in":"query","name":"offset","required":false,"schema":{"type":"integer","minimum":0}},{"in":"query","name":"view","required":false,"schema":{"type":"string","enum":["typed"],"example":"typed"},"description":"Opt into the bounded typed cursor response; omit for legacy compatibility."},{"in":"query","name":"after","required":false,"schema":{"type":"string","minLength":1,"maxLength":2048},"description":"Typed only. Paste nextCursor and preserve all filters; limit may change."},{"in":"query","name":"start_time","required":false,"schema":{"type":"string","format":"date-time"},"description":"Typed only. Inclusive UTC timestamp ending in Z."},{"in":"query","name":"end_time","required":false,"schema":{"type":"string","format":"date-time"},"description":"Typed only. Exclusive UTC timestamp ending in Z."},{"in":"query","name":"type_code","required":false,"schema":{"type":"integer","enum":[0,1,2],"example":2},"description":"Typed only: system=0, contract=1, diagnostic=2."},{"in":"query","name":"successful","required":false,"schema":{"type":"boolean","example":false},"description":"Typed only. Transaction success; false selects failed transactions."},{"in":"query","name":"in_successful_contract_call","required":false,"schema":{"type":"boolean","example":false},"description":"Typed only. Stored event call-success flag."},{"in":"query","name":"order","required":false,"schema":{"type":"string","enum":["asc","desc"],"default":"desc"},"description":"Typed only; applies consistently to pages and cursor comparisons."},{"in":"query","name":"topic","required":false,"schema":{"type":"string","minLength":1,"maxLength":128},"description":"Typed only; exact decoded topic symbol filter."},{"in":"query","name":"q","required":false,"schema":{"type":"string","minLength":1,"maxLength":128},"description":"Typed only; exact G/C address, 64-hex transaction hash, or positive ledger sequence."},{"in":"query","name":"include_summary","required":false,"schema":{"type":"boolean","default":false},"description":"Typed only; include matched-selection total and top 128 decoded named topic counts, independent of cursor/page. Cached up to five minutes."}],"responses":{"200":{"description":"Parsed ETL response from completed batches. IDs remain lossless strings where returned by the warehouse; legacy numeric fields are not upgraded to exact values.","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/HubbleContractEventPage"},{"$ref":"#/components/schemas/HubbleTypedContractEventPage"}]}}}},"400":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"code":{"type":"string"},"error":{"type":"string"}},"required":["code","error"],"type":"object"}}},"description":"The contract or filter is invalid."},"500":{"description":"Unexpected bounded query failure.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubbleError"}}}},"503":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"code":{"type":"string"},"error":{"type":"string"}},"required":["code","error"],"type":"object"}}},"description":"The analytics warehouse is unavailable."}},"security":[],"summary":"List contract events","tags":["Analytics"]}},"/v1/analytics/assets/{asset}/holders":{"get":{"description":"Returns positive balances from each account’s latest published observation, optionally at or before as_of_ledger. Complete coverage requires continuous published history from the ledger-2 baseline through the selected ledger; otherwise results are partial or unknown. This is not a pinned current-chain snapshot. Balances retain source Float64 precision.","operationId":"listAnalyticsAssetHolders","parameters":[{"description":"native or CODE:ISSUER.","in":"path","name":"asset","required":true,"schema":{"example":"native","type":"string"}},{"description":"Cursor returned as nextCursor. Reuse with unchanged asset, sort, order and as_of_ledger.","in":"query","name":"after","required":false,"schema":{"type":"string"}},{"description":"Sort by account ID or balance.","in":"query","name":"sort","required":false,"schema":{"type":"string","enum":["account","balance"],"default":"account"}},{"description":"Sort direction; balance ties always use account ID ascending.","in":"query","name":"order","required":false,"schema":{"type":"string","enum":["asc","desc"],"default":"asc"}},{"description":"Optional positive ledger upper bound. State is reconstructed only from published observations at or before this ledger; coverageStatus reports whether history is continuous from the baseline.","in":"query","name":"as_of_ledger","required":false,"schema":{"type":"integer","minimum":1,"maximum":4294967295}},{"description":"Maximum rows returned.","in":"query","name":"limit","required":false,"schema":{"default":100,"maximum":200,"minimum":1,"type":"integer"}}],"responses":{"200":{"description":"Parsed ETL response from completed batches. IDs remain lossless strings where returned by the warehouse; legacy numeric fields are not upgraded to exact values.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubbleHolderPage"}}}},"400":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"code":{"type":"string"},"error":{"type":"string"}},"required":["code","error"],"type":"object"}}},"description":"The asset or cursor is invalid."},"503":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"code":{"type":"string"},"error":{"type":"string"}},"required":["code","error"],"type":"object"}}},"description":"The analytics warehouse is unavailable."}},"security":[],"summary":"List asset holders","tags":["Analytics"]}},"/v1/analytics/assets/{asset}/holders/{account}":{"get":{"description":"Returns one account’s latest observed positive balance from completed batches, not a guarantee of current-chain state when history has gaps. Coverage and watermark identify cached catalog observations, not a pinned snapshot or historical as-of state.","operationId":"getAnalyticsAssetHolder","parameters":[{"description":"native or CODE:ISSUER.","in":"path","name":"asset","required":true,"schema":{"example":"native","type":"string"}},{"description":"Stellar G, M, or C address.","in":"path","name":"account","required":true,"schema":{"pattern":"^[GMC][A-Z2-7]{55,68}$","type":"string"}}],"responses":{"200":{"description":"Parsed ETL response from completed batches. IDs remain lossless strings where returned by the warehouse; legacy numeric fields are not upgraded to exact values.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubbleHolderDetail"}}}},"400":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"code":{"type":"string"},"error":{"type":"string"}},"required":["code","error"],"type":"object"}}},"description":"The asset or account is invalid."},"404":{"description":"No positive balance in the latest ingested state for this account/asset. Coverage gaps mean this does not establish absence on the current chain.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubbleHolderNotFound"}}}},"503":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"code":{"type":"string"},"error":{"type":"string"}},"required":["code","error"],"type":"object"}}},"description":"The analytics warehouse is unavailable."}},"security":[],"summary":"Get one latest-ingested asset holder","tags":["Analytics"]}},"/v1/assets/{asset}/balances":{"get":{"operationId":"listAssetBalancesSnapshot","summary":"List asset balance snapshot","description":"Returns latest-ingested holder-index observations including zero balances, with source Float64 precision, coverage, watermark, and indexed summary. No ledger window is required by default; this is not a pinned current-chain snapshot.","parameters":[{"description":"native or URL-encoded CODE:ISSUER.","in":"path","name":"asset","required":true,"schema":{"example":"native","type":"string"}},{"in":"query","name":"account","required":false,"description":"Optional Stellar G, M, or C address filter.","schema":{"type":"string","pattern":"^[GMC][A-Z2-7]{55,68}$"}},{"in":"query","name":"after","required":false,"description":"Opaque cursor returned as nextCursor; reuse with unchanged filters.","schema":{"type":"string","maxLength":2048}},{"description":"Maximum rows returned.","in":"query","name":"limit","required":false,"schema":{"default":100,"maximum":200,"minimum":1,"type":"integer"}},{"in":"query","name":"sort","required":false,"schema":{"type":"string","enum":["account","balance"],"default":"account"}},{"in":"query","name":"order","required":false,"schema":{"type":"string","enum":["asc","desc"],"default":"asc"}},{"in":"query","name":"as_of_ledger","required":false,"description":"Optional positive ledger upper bound.","schema":{"type":"integer","minimum":1,"maximum":4294967295}},{"in":"query","name":"include_deleted","required":false,"schema":{"type":"boolean","default":false}}],"security":[],"tags":["Assets"],"responses":{"200":{"description":"Returns latest-ingested holder-index observations including zero balances, with source Float64 precision, coverage, watermark, and indexed summary. No ledger window is required by default; this is not a pinned current-chain snapshot.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"coverage":{"$ref":"#/components/schemas/HubbleLedgerCoverage"},"watermark":{"type":"object","additionalProperties":false,"properties":{"mode":{"type":"string","enum":["latest-ingested-observations"]},"catalogGeneratedAt":{"type":"string","format":"date-time"},"catalogMaximumLedger":{"type":"string","nullable":true,"description":"Maximum parsed ledger known to the cached catalog, not a bound pinned to this query."},"snapshotPinned":{"type":"boolean","enum":[false],"description":"Balances and catalog coverage are not an atomic snapshot. Pages may change during ingestion."},"selectedLedger":{"type":"string","nullable":true,"description":"Requested as_of_ledger upper bound; null means latest ingested observations. Individual holder rows can have an earlier ledger_sequence."},"coverageStatus":{"type":"string","enum":["complete","partial_or_unknown"],"description":"Complete only when published ledger history is continuous from the ledger-2 baseline through the selected ledger; otherwise the holder set may be partial."},"indexStatus":{"type":"string","enum":["ready","building","historical-query"],"description":"Read-model state for the optional indexed holder summary."},"balancePrecision":{"type":"string","enum":["source-float64"],"description":"Balances preserve the warehouse source Float64 precision and are not exact atomic-unit values."}},"required":["mode","catalogGeneratedAt","catalogMaximumLedger","snapshotPinned","selectedLedger","coverageStatus","indexStatus","balancePrecision"]},"asset":{"type":"string"},"elapsedMilliseconds":{"type":"number"},"holders":{"type":"array","items":{"$ref":"#/components/schemas/HubbleHolder"}},"indexedSummary":{"type":"object","additionalProperties":false,"properties":{"holderCount":{"type":"string","pattern":"^[0-9]+$","description":"Exact integer count of holders in the latest indexed positive-balance summary."},"balanceTotal":{"type":"number","description":"sourceFloat64 total of latest indexed positive balances; not current-chain total supply."}},"required":["holderCount","balanceTotal"]},"limit":{"type":"integer"},"nextCursor":{"type":"string","nullable":true,"description":"Pass as after with the same asset, sort, order, and as_of_ledger selection; null ends the result. The legacy default account/ascending cursor is an account ID; other selections use an opaque cursor."},"dataset":{"type":"string","enum":["asset_balances"]}},"required":["coverage","watermark","asset","elapsedMilliseconds","holders","indexedSummary","limit","nextCursor","dataset"],"description":"Latest-ingested holder-index snapshot; source Float64 precision and non-pinned coverage/watermark are retained."}}}},"400":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"code":{"type":"string"},"error":{"type":"string"}},"required":["code","error"],"type":"object"}}},"description":"Invalid asset, range, filter, or cursor."},"503":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"code":{"type":"string"},"error":{"type":"string"}},"required":["code","error"],"type":"object"}}},"description":"The Hubble read model is unavailable."}}}},"/v1/assets/{asset}/trustlines":{"get":{"operationId":"listAssetTrustlinesSnapshot","summary":"List asset trustline snapshot","description":"Returns latest-ingested issued-asset trustline observations including zero balances, with source Float64 precision, coverage, watermark, and indexed summary. Native asset trustlines are not defined and return HTTP 400.","parameters":[{"description":"native or URL-encoded CODE:ISSUER.","in":"path","name":"asset","required":true,"schema":{"example":"native","type":"string"}},{"in":"query","name":"account","required":false,"description":"Optional Stellar G, M, or C address filter.","schema":{"type":"string","pattern":"^[GMC][A-Z2-7]{55,68}$"}},{"in":"query","name":"after","required":false,"description":"Opaque cursor returned as nextCursor; reuse with unchanged filters.","schema":{"type":"string","maxLength":2048}},{"description":"Maximum rows returned.","in":"query","name":"limit","required":false,"schema":{"default":100,"maximum":200,"minimum":1,"type":"integer"}},{"in":"query","name":"sort","required":false,"schema":{"type":"string","enum":["account","balance"],"default":"account"}},{"in":"query","name":"order","required":false,"schema":{"type":"string","enum":["asc","desc"],"default":"asc"}},{"in":"query","name":"as_of_ledger","required":false,"description":"Optional positive ledger upper bound.","schema":{"type":"integer","minimum":1,"maximum":4294967295}},{"in":"query","name":"include_deleted","required":false,"schema":{"type":"boolean","default":false}}],"security":[],"tags":["Assets"],"responses":{"200":{"description":"Returns latest-ingested issued-asset trustline observations including zero balances, with source Float64 precision, coverage, watermark, and indexed summary. Native asset trustlines are not defined and return HTTP 400.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"coverage":{"$ref":"#/components/schemas/HubbleLedgerCoverage"},"watermark":{"type":"object","additionalProperties":false,"properties":{"mode":{"type":"string","enum":["latest-ingested-observations"]},"catalogGeneratedAt":{"type":"string","format":"date-time"},"catalogMaximumLedger":{"type":"string","nullable":true,"description":"Maximum parsed ledger known to the cached catalog, not a bound pinned to this query."},"snapshotPinned":{"type":"boolean","enum":[false],"description":"Balances and catalog coverage are not an atomic snapshot. Pages may change during ingestion."},"selectedLedger":{"type":"string","nullable":true,"description":"Requested as_of_ledger upper bound; null means latest ingested observations. Individual holder rows can have an earlier ledger_sequence."},"coverageStatus":{"type":"string","enum":["complete","partial_or_unknown"],"description":"Complete only when published ledger history is continuous from the ledger-2 baseline through the selected ledger; otherwise the holder set may be partial."},"indexStatus":{"type":"string","enum":["ready","building","historical-query"],"description":"Read-model state for the optional indexed holder summary."},"balancePrecision":{"type":"string","enum":["source-float64"],"description":"Balances preserve the warehouse source Float64 precision and are not exact atomic-unit values."}},"required":["mode","catalogGeneratedAt","catalogMaximumLedger","snapshotPinned","selectedLedger","coverageStatus","indexStatus","balancePrecision"]},"asset":{"type":"string"},"elapsedMilliseconds":{"type":"number"},"holders":{"type":"array","items":{"$ref":"#/components/schemas/HubbleHolder"}},"indexedSummary":{"type":"object","additionalProperties":false,"properties":{"holderCount":{"type":"string","pattern":"^[0-9]+$","description":"Exact integer count of holders in the latest indexed positive-balance summary."},"balanceTotal":{"type":"number","description":"sourceFloat64 total of latest indexed positive balances; not current-chain total supply."}},"required":["holderCount","balanceTotal"]},"limit":{"type":"integer"},"nextCursor":{"type":"string","nullable":true,"description":"Pass as after with the same asset, sort, order, and as_of_ledger selection; null ends the result. The legacy default account/ascending cursor is an account ID; other selections use an opaque cursor."},"dataset":{"type":"string","enum":["asset_trustlines"]}},"required":["coverage","watermark","asset","elapsedMilliseconds","holders","indexedSummary","limit","nextCursor","dataset"],"description":"Latest-ingested holder-index snapshot; source Float64 precision and non-pinned coverage/watermark are retained."}}}},"400":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"code":{"type":"string"},"error":{"type":"string"}},"required":["code","error"],"type":"object"}}},"description":"Invalid asset, filter, or cursor; native assets do not have trustlines."},"503":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"code":{"type":"string"},"error":{"type":"string"}},"required":["code","error"],"type":"object"}}},"description":"The Hubble read model is unavailable."}}}},"/v1/analytics/assets/{asset}/balances":{"get":{"operationId":"listAnalyticsAssetBalancesSnapshot","summary":"List asset balance snapshot","description":"Returns latest-ingested holder-index observations including zero balances, with source Float64 precision, coverage, watermark, and indexed summary. No ledger window is required by default; this is not a pinned current-chain snapshot.","parameters":[{"description":"native or URL-encoded CODE:ISSUER.","in":"path","name":"asset","required":true,"schema":{"example":"native","type":"string"}},{"in":"query","name":"account","required":false,"description":"Optional Stellar G, M, or C address filter.","schema":{"type":"string","pattern":"^[GMC][A-Z2-7]{55,68}$"}},{"in":"query","name":"after","required":false,"description":"Opaque cursor returned as nextCursor; reuse with unchanged filters.","schema":{"type":"string","maxLength":2048}},{"description":"Maximum rows returned.","in":"query","name":"limit","required":false,"schema":{"default":100,"maximum":200,"minimum":1,"type":"integer"}},{"in":"query","name":"sort","required":false,"schema":{"type":"string","enum":["account","balance"],"default":"account"}},{"in":"query","name":"order","required":false,"schema":{"type":"string","enum":["asc","desc"],"default":"asc"}},{"in":"query","name":"as_of_ledger","required":false,"description":"Optional positive ledger upper bound.","schema":{"type":"integer","minimum":1,"maximum":4294967295}},{"in":"query","name":"include_deleted","required":false,"schema":{"type":"boolean","default":false}}],"security":[],"tags":["Analytics"],"responses":{"200":{"description":"Returns latest-ingested holder-index observations including zero balances, with source Float64 precision, coverage, watermark, and indexed summary. No ledger window is required by default; this is not a pinned current-chain snapshot.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"coverage":{"$ref":"#/components/schemas/HubbleLedgerCoverage"},"watermark":{"type":"object","additionalProperties":false,"properties":{"mode":{"type":"string","enum":["latest-ingested-observations"]},"catalogGeneratedAt":{"type":"string","format":"date-time"},"catalogMaximumLedger":{"type":"string","nullable":true,"description":"Maximum parsed ledger known to the cached catalog, not a bound pinned to this query."},"snapshotPinned":{"type":"boolean","enum":[false],"description":"Balances and catalog coverage are not an atomic snapshot. Pages may change during ingestion."},"selectedLedger":{"type":"string","nullable":true,"description":"Requested as_of_ledger upper bound; null means latest ingested observations. Individual holder rows can have an earlier ledger_sequence."},"coverageStatus":{"type":"string","enum":["complete","partial_or_unknown"],"description":"Complete only when published ledger history is continuous from the ledger-2 baseline through the selected ledger; otherwise the holder set may be partial."},"indexStatus":{"type":"string","enum":["ready","building","historical-query"],"description":"Read-model state for the optional indexed holder summary."},"balancePrecision":{"type":"string","enum":["source-float64"],"description":"Balances preserve the warehouse source Float64 precision and are not exact atomic-unit values."}},"required":["mode","catalogGeneratedAt","catalogMaximumLedger","snapshotPinned","selectedLedger","coverageStatus","indexStatus","balancePrecision"]},"asset":{"type":"string"},"elapsedMilliseconds":{"type":"number"},"holders":{"type":"array","items":{"$ref":"#/components/schemas/HubbleHolder"}},"indexedSummary":{"type":"object","additionalProperties":false,"properties":{"holderCount":{"type":"string","pattern":"^[0-9]+$","description":"Exact integer count of holders in the latest indexed positive-balance summary."},"balanceTotal":{"type":"number","description":"sourceFloat64 total of latest indexed positive balances; not current-chain total supply."}},"required":["holderCount","balanceTotal"]},"limit":{"type":"integer"},"nextCursor":{"type":"string","nullable":true,"description":"Pass as after with the same asset, sort, order, and as_of_ledger selection; null ends the result. The legacy default account/ascending cursor is an account ID; other selections use an opaque cursor."},"dataset":{"type":"string","enum":["asset_balances"]}},"required":["coverage","watermark","asset","elapsedMilliseconds","holders","indexedSummary","limit","nextCursor","dataset"],"description":"Latest-ingested holder-index snapshot; source Float64 precision and non-pinned coverage/watermark are retained."}}}},"400":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"code":{"type":"string"},"error":{"type":"string"}},"required":["code","error"],"type":"object"}}},"description":"Invalid asset, range, filter, or cursor."},"503":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"code":{"type":"string"},"error":{"type":"string"}},"required":["code","error"],"type":"object"}}},"description":"The Hubble read model is unavailable."}}}},"/v1/analytics/assets/{asset}/trustlines":{"get":{"operationId":"listAnalyticsAssetTrustlinesSnapshot","summary":"List asset trustline snapshot","description":"Returns latest-ingested issued-asset trustline observations including zero balances, with source Float64 precision, coverage, watermark, and indexed summary. Native asset trustlines are not defined and return HTTP 400.","parameters":[{"description":"native or URL-encoded CODE:ISSUER.","in":"path","name":"asset","required":true,"schema":{"example":"native","type":"string"}},{"in":"query","name":"account","required":false,"description":"Optional Stellar G, M, or C address filter.","schema":{"type":"string","pattern":"^[GMC][A-Z2-7]{55,68}$"}},{"in":"query","name":"after","required":false,"description":"Opaque cursor returned as nextCursor; reuse with unchanged filters.","schema":{"type":"string","maxLength":2048}},{"description":"Maximum rows returned.","in":"query","name":"limit","required":false,"schema":{"default":100,"maximum":200,"minimum":1,"type":"integer"}},{"in":"query","name":"sort","required":false,"schema":{"type":"string","enum":["account","balance"],"default":"account"}},{"in":"query","name":"order","required":false,"schema":{"type":"string","enum":["asc","desc"],"default":"asc"}},{"in":"query","name":"as_of_ledger","required":false,"description":"Optional positive ledger upper bound.","schema":{"type":"integer","minimum":1,"maximum":4294967295}},{"in":"query","name":"include_deleted","required":false,"schema":{"type":"boolean","default":false}}],"security":[],"tags":["Analytics"],"responses":{"200":{"description":"Returns latest-ingested issued-asset trustline observations including zero balances, with source Float64 precision, coverage, watermark, and indexed summary. Native asset trustlines are not defined and return HTTP 400.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"coverage":{"$ref":"#/components/schemas/HubbleLedgerCoverage"},"watermark":{"type":"object","additionalProperties":false,"properties":{"mode":{"type":"string","enum":["latest-ingested-observations"]},"catalogGeneratedAt":{"type":"string","format":"date-time"},"catalogMaximumLedger":{"type":"string","nullable":true,"description":"Maximum parsed ledger known to the cached catalog, not a bound pinned to this query."},"snapshotPinned":{"type":"boolean","enum":[false],"description":"Balances and catalog coverage are not an atomic snapshot. Pages may change during ingestion."},"selectedLedger":{"type":"string","nullable":true,"description":"Requested as_of_ledger upper bound; null means latest ingested observations. Individual holder rows can have an earlier ledger_sequence."},"coverageStatus":{"type":"string","enum":["complete","partial_or_unknown"],"description":"Complete only when published ledger history is continuous from the ledger-2 baseline through the selected ledger; otherwise the holder set may be partial."},"indexStatus":{"type":"string","enum":["ready","building","historical-query"],"description":"Read-model state for the optional indexed holder summary."},"balancePrecision":{"type":"string","enum":["source-float64"],"description":"Balances preserve the warehouse source Float64 precision and are not exact atomic-unit values."}},"required":["mode","catalogGeneratedAt","catalogMaximumLedger","snapshotPinned","selectedLedger","coverageStatus","indexStatus","balancePrecision"]},"asset":{"type":"string"},"elapsedMilliseconds":{"type":"number"},"holders":{"type":"array","items":{"$ref":"#/components/schemas/HubbleHolder"}},"indexedSummary":{"type":"object","additionalProperties":false,"properties":{"holderCount":{"type":"string","pattern":"^[0-9]+$","description":"Exact integer count of holders in the latest indexed positive-balance summary."},"balanceTotal":{"type":"number","description":"sourceFloat64 total of latest indexed positive balances; not current-chain total supply."}},"required":["holderCount","balanceTotal"]},"limit":{"type":"integer"},"nextCursor":{"type":"string","nullable":true,"description":"Pass as after with the same asset, sort, order, and as_of_ledger selection; null ends the result. The legacy default account/ascending cursor is an account ID; other selections use an opaque cursor."},"dataset":{"type":"string","enum":["asset_trustlines"]}},"required":["coverage","watermark","asset","elapsedMilliseconds","holders","indexedSummary","limit","nextCursor","dataset"],"description":"Latest-ingested holder-index snapshot; source Float64 precision and non-pinned coverage/watermark are retained."}}}},"400":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"code":{"type":"string"},"error":{"type":"string"}},"required":["code","error"],"type":"object"}}},"description":"Invalid asset, filter, or cursor; native assets do not have trustlines."},"503":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"code":{"type":"string"},"error":{"type":"string"}},"required":["code","error"],"type":"object"}}},"description":"The Hubble read model is unavailable."}}}},"/v1/analytics/assets/{asset}/balance-history":{"get":{"operationId":"listAnalyticsAssetBalanceHistory","summary":"List asset balance history","description":"Returns one final published state per account and ledger, including zero and deleted records, sponsor, flags, liabilities, and trustline limits. This is historical parsed-state data, not a complete current balance inventory; coverage gaps and source Float64 precision are explicit.","parameters":[{"description":"native or URL-encoded CODE:ISSUER.","in":"path","name":"asset","required":true,"schema":{"example":"native","type":"string"}},{"description":"Inclusive minimum ledger sequence.","in":"query","name":"min_ledger","required":false,"schema":{"minimum":1,"type":"integer"}},{"description":"Inclusive maximum ledger sequence.","in":"query","name":"max_ledger","required":false,"schema":{"minimum":1,"type":"integer"}},{"in":"query","name":"start_time","required":false,"description":"Inclusive UTC timestamp ending in Z.","schema":{"type":"string","format":"date-time"}},{"in":"query","name":"end_time","required":false,"description":"Inclusive UTC timestamp ending in Z.","schema":{"type":"string","format":"date-time"}},{"description":"Maximum rows returned.","in":"query","name":"limit","required":false,"schema":{"default":100,"maximum":200,"minimum":1,"type":"integer"}},{"in":"query","name":"after","required":false,"description":"Opaque cursor bound to this selection and source-ledger window.","schema":{"type":"string","maxLength":2048}},{"in":"query","name":"order","required":false,"schema":{"type":"string","enum":["asc","desc"],"default":"desc"}},{"in":"query","name":"account","required":false,"description":"Optional checksum-valid G or C address.","schema":{"type":"string","pattern":"^[GC][A-Z2-7]{55}$"}}],"security":[],"tags":["Analytics"],"responses":{"200":{"description":"Returns one final published state per account and ledger, including zero and deleted records, sponsor, flags, liabilities, and trustline limits. This is historical parsed-state data, not a complete current balance inventory; coverage gaps and source Float64 precision are explicit.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubbleAssetBalanceHistoryPage"}}}},"400":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"code":{"type":"string"},"error":{"type":"string"}},"required":["code","error"],"type":"object"}}},"description":"Invalid asset, range, filter, or cursor."},"503":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"code":{"type":"string"},"error":{"type":"string"}},"required":["code","error"],"type":"object"}}},"description":"The Hubble read model is unavailable."}}}},"/v1/analytics/assets/{asset}/rankings":{"get":{"operationId":"listAnalyticsAssetRankings","summary":"Rank accounts by asset trade activity","description":"Normalizes seller/taker sides across classic orderbook and native AMM trade observations. transaction_count is distinct trading transactions represented by matching trade rows, not every transfer transaction. Does not cover Soroban contract pools. Amounts retain source Float64 precision; selection is not a complete current market view.","parameters":[{"description":"native or URL-encoded CODE:ISSUER.","in":"path","name":"asset","required":true,"schema":{"example":"native","type":"string"}},{"description":"Inclusive minimum ledger sequence.","in":"query","name":"min_ledger","required":false,"schema":{"minimum":1,"type":"integer"}},{"description":"Inclusive maximum ledger sequence.","in":"query","name":"max_ledger","required":false,"schema":{"minimum":1,"type":"integer"}},{"in":"query","name":"start_time","required":false,"description":"Inclusive UTC timestamp ending in Z.","schema":{"type":"string","format":"date-time"}},{"in":"query","name":"end_time","required":false,"description":"Inclusive UTC timestamp ending in Z.","schema":{"type":"string","format":"date-time"}},{"description":"Maximum rows returned.","in":"query","name":"limit","required":false,"schema":{"default":100,"maximum":200,"minimum":1,"type":"integer"}},{"in":"query","name":"after","required":false,"description":"Opaque cursor bound to this selection and source-ledger window.","schema":{"type":"string","maxLength":2048}},{"in":"query","name":"order","required":false,"schema":{"type":"string","enum":["asc","desc"],"default":"desc"}},{"in":"query","name":"metric","required":false,"schema":{"type":"string","enum":["bought","sold","volume","transactions"],"default":"volume"}},{"in":"query","name":"counter_asset","required":false,"description":"Exact native or CODE:ISSUER counter asset.","schema":{"type":"string"}},{"in":"query","name":"account","required":false,"description":"Optional checksum-valid G or C address.","schema":{"type":"string","pattern":"^[GC][A-Z2-7]{55}$"}}],"security":[],"tags":["Analytics"],"responses":{"200":{"description":"Normalizes seller/taker sides across classic orderbook and native AMM trade observations. transaction_count is distinct trading transactions represented by matching trade rows, not every transfer transaction. Does not cover Soroban contract pools. Amounts retain source Float64 precision; selection is not a complete current market view.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubbleAssetRankingPage"}}}},"400":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"code":{"type":"string"},"error":{"type":"string"}},"required":["code","error"],"type":"object"}}},"description":"Invalid asset, range, filter, or cursor."},"503":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"code":{"type":"string"},"error":{"type":"string"}},"required":["code","error"],"type":"object"}}},"description":"The Hubble read model is unavailable."}}}},"/v1/analytics/activity/transfers":{"get":{"operationId":"searchAnalyticsTransferActivity","summary":"Search exact token-transfer activity","description":"Typed, lossless token-transfer activity from completed matching-source batches. When bounds are omitted, searches the latest 100000 published ledgers; dates narrow that ledger window, not all history. Responses state the effective ledger window. Maximum requested span is 1000000 ledgers. Keyset cursors preserve total ordering and the initial ledger watermark, but are NOT frozen database snapshots: backfills, retries, and republication can change visibility. Ingested-only is not a claim of gap-free history. Queries use the server-managed read-only profile for time, memory, and result budgets; exhaustion fails instead of returning partial success. eventTopic is the source event category, not an inferred payment classification.","tags":["Analytics"],"security":[],"parameters":[{"in":"query","name":"account","description":"Either sender, recipient, or muxed recipient. Directional filters are combined with AND.","required":false,"schema":{"type":"string"}},{"in":"query","name":"from","description":"Exact sender G, C, or M address.","required":false,"schema":{"type":"string"}},{"in":"query","name":"to","description":"Exact recipient G, C, or M address.","required":false,"schema":{"type":"string"}},{"in":"query","name":"asset","description":"native or CODE:ISSUER; contract tokens can instead use contract_id.","required":false,"schema":{"type":"string","example":"native"}},{"in":"query","name":"contract_id","description":"Exact token contract C-address.","required":false,"schema":{"type":"string"}},{"in":"query","name":"transaction_hash","description":"64-character hexadecimal transaction hash.","required":false,"schema":{"type":"string"}},{"in":"query","name":"event_topic","description":"Source event category. Select transfer for transfer events; omitted includes fees, mints, burns, and clawbacks.","required":false,"schema":{"type":"string","enum":["transfer","mint","burn","clawback","fee"],"example":"transfer"}},{"in":"query","name":"start_time","description":"Inclusive UTC ISO timestamp ending in Z; additionally narrows the stated ledger range.","required":false,"schema":{"type":"string","format":"date-time"}},{"in":"query","name":"end_time","description":"Exclusive UTC ISO timestamp ending in Z.","required":false,"schema":{"type":"string","format":"date-time"}},{"in":"query","name":"min_ledger","description":"Inclusive minimum ledger. Use explicit bounds for historical date searches.","required":false,"schema":{"type":"integer","minimum":1,"example":26000000}},{"in":"query","name":"max_ledger","description":"Inclusive maximum ledger, capped to published ingestion watermark. At most 1000000 ledgers per query.","required":false,"schema":{"type":"integer","minimum":1,"example":26000099}},{"in":"query","name":"amount_raw","description":"Exact atomic units, canonical non-negative Int128 integer string; no exponent, fraction, or Float64 conversion.","required":false,"schema":{"type":"string"}},{"in":"query","name":"min_amount_raw","description":"Inclusive exact minimum atomic units (integer string).","required":false,"schema":{"type":"string"}},{"in":"query","name":"max_amount_raw","description":"Inclusive exact maximum atomic units (integer string).","required":false,"schema":{"type":"string"}},{"in":"query","name":"limit","description":"Requested rows; fetches one extra row to determine nextCursor. Excess limits are rejected.","required":false,"schema":{"type":"integer","minimum":1,"maximum":200,"default":100,"example":10}},{"in":"query","name":"after","description":"Opaque nextCursor from the previous page. Keep all filters unchanged.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Typed transfer page; atomic amounts and IDs are strings.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubbleTransferPage"}}}},"400":{"description":"Invalid or conflicting filters, cursor, or oversized range."},"503":{"description":"Warehouse unavailable or bounded query budget exceeded; narrow the range or retry."}}}},"/v1/analytics/accounts/{account}/activity/transfers":{"get":{"operationId":"listAnalyticsAccountTransferActivity","summary":"List account transfer activity","description":"Typed, lossless token-transfer activity from completed matching-source batches. When bounds are omitted, searches the latest 100000 published ledgers; dates narrow that ledger window, not all history. Responses state the effective ledger window. Maximum requested span is 1000000 ledgers. Keyset cursors preserve total ordering and the initial ledger watermark, but are NOT frozen database snapshots: backfills, retries, and republication can change visibility. Ingested-only is not a claim of gap-free history. Queries use the server-managed read-only profile for time, memory, and result budgets; exhaustion fails instead of returning partial success. eventTopic is the source event category, not an inferred payment classification.","tags":["Analytics"],"security":[],"parameters":[{"in":"path","name":"account","required":true,"description":"Stellar G, C, or M address.","schema":{"type":"string"}},{"in":"query","name":"from","description":"Exact sender G, C, or M address.","required":false,"schema":{"type":"string"}},{"in":"query","name":"to","description":"Exact recipient G, C, or M address.","required":false,"schema":{"type":"string"}},{"in":"query","name":"asset","description":"native or CODE:ISSUER; contract tokens can instead use contract_id.","required":false,"schema":{"type":"string","example":"native"}},{"in":"query","name":"contract_id","description":"Exact token contract C-address.","required":false,"schema":{"type":"string"}},{"in":"query","name":"transaction_hash","description":"64-character hexadecimal transaction hash.","required":false,"schema":{"type":"string"}},{"in":"query","name":"event_topic","description":"Source event category. Select transfer for transfer events; omitted includes fees, mints, burns, and clawbacks.","required":false,"schema":{"type":"string","enum":["transfer","mint","burn","clawback","fee"],"example":"transfer"}},{"in":"query","name":"start_time","description":"Inclusive UTC ISO timestamp ending in Z; additionally narrows the stated ledger range.","required":false,"schema":{"type":"string","format":"date-time"}},{"in":"query","name":"end_time","description":"Exclusive UTC ISO timestamp ending in Z.","required":false,"schema":{"type":"string","format":"date-time"}},{"in":"query","name":"min_ledger","description":"Inclusive minimum ledger. Use explicit bounds for historical date searches.","required":false,"schema":{"type":"integer","minimum":1,"example":26000000}},{"in":"query","name":"max_ledger","description":"Inclusive maximum ledger, capped to published ingestion watermark. At most 1000000 ledgers per query.","required":false,"schema":{"type":"integer","minimum":1,"example":26000099}},{"in":"query","name":"amount_raw","description":"Exact atomic units, canonical non-negative Int128 integer string; no exponent, fraction, or Float64 conversion.","required":false,"schema":{"type":"string"}},{"in":"query","name":"min_amount_raw","description":"Inclusive exact minimum atomic units (integer string).","required":false,"schema":{"type":"string"}},{"in":"query","name":"max_amount_raw","description":"Inclusive exact maximum atomic units (integer string).","required":false,"schema":{"type":"string"}},{"in":"query","name":"limit","description":"Requested rows; fetches one extra row to determine nextCursor. Excess limits are rejected.","required":false,"schema":{"type":"integer","minimum":1,"maximum":200,"default":100,"example":10}},{"in":"query","name":"after","description":"Opaque nextCursor from the previous page. Keep all filters unchanged.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Typed transfer page; atomic amounts and IDs are strings.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubbleTransferPage"}}}},"400":{"description":"Invalid or conflicting filters, cursor, or oversized range."},"503":{"description":"Warehouse unavailable or bounded query budget exceeded; narrow the range or retry."}}}},"/v1/analytics/assets/{asset}/activity/transfers":{"get":{"operationId":"listAnalyticsAssetTransferActivity","summary":"List asset transfer activity","description":"Typed, lossless token-transfer activity from completed matching-source batches. When bounds are omitted, searches the latest 100000 published ledgers; dates narrow that ledger window, not all history. Responses state the effective ledger window. Maximum requested span is 1000000 ledgers. Keyset cursors preserve total ordering and the initial ledger watermark, but are NOT frozen database snapshots: backfills, retries, and republication can change visibility. Ingested-only is not a claim of gap-free history. Queries use the server-managed read-only profile for time, memory, and result budgets; exhaustion fails instead of returning partial success. eventTopic is the source event category, not an inferred payment classification.","tags":["Analytics"],"security":[],"parameters":[{"in":"path","name":"asset","required":true,"description":"native or URL-encoded CODE:ISSUER.","schema":{"type":"string","example":"native"}},{"in":"query","name":"account","description":"Either sender, recipient, or muxed recipient. Directional filters are combined with AND.","required":false,"schema":{"type":"string"}},{"in":"query","name":"from","description":"Exact sender G, C, or M address.","required":false,"schema":{"type":"string"}},{"in":"query","name":"to","description":"Exact recipient G, C, or M address.","required":false,"schema":{"type":"string"}},{"in":"query","name":"contract_id","description":"Exact token contract C-address.","required":false,"schema":{"type":"string"}},{"in":"query","name":"transaction_hash","description":"64-character hexadecimal transaction hash.","required":false,"schema":{"type":"string"}},{"in":"query","name":"event_topic","description":"Source event category. Select transfer for transfer events; omitted includes fees, mints, burns, and clawbacks.","required":false,"schema":{"type":"string","enum":["transfer","mint","burn","clawback","fee"],"example":"transfer"}},{"in":"query","name":"start_time","description":"Inclusive UTC ISO timestamp ending in Z; additionally narrows the stated ledger range.","required":false,"schema":{"type":"string","format":"date-time"}},{"in":"query","name":"end_time","description":"Exclusive UTC ISO timestamp ending in Z.","required":false,"schema":{"type":"string","format":"date-time"}},{"in":"query","name":"min_ledger","description":"Inclusive minimum ledger. Use explicit bounds for historical date searches.","required":false,"schema":{"type":"integer","minimum":1,"example":26000000}},{"in":"query","name":"max_ledger","description":"Inclusive maximum ledger, capped to published ingestion watermark. At most 1000000 ledgers per query.","required":false,"schema":{"type":"integer","minimum":1,"example":26000099}},{"in":"query","name":"amount_raw","description":"Exact atomic units, canonical non-negative Int128 integer string; no exponent, fraction, or Float64 conversion.","required":false,"schema":{"type":"string"}},{"in":"query","name":"min_amount_raw","description":"Inclusive exact minimum atomic units (integer string).","required":false,"schema":{"type":"string"}},{"in":"query","name":"max_amount_raw","description":"Inclusive exact maximum atomic units (integer string).","required":false,"schema":{"type":"string"}},{"in":"query","name":"limit","description":"Requested rows; fetches one extra row to determine nextCursor. Excess limits are rejected.","required":false,"schema":{"type":"integer","minimum":1,"maximum":200,"default":100,"example":10}},{"in":"query","name":"after","description":"Opaque nextCursor from the previous page. Keep all filters unchanged.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Typed transfer page; atomic amounts and IDs are strings.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubbleTransferPage"}}}},"400":{"description":"Invalid or conflicting filters, cursor, or oversized range."},"503":{"description":"Warehouse unavailable or bounded query budget exceeded; narrow the range or retry."}}}},"/v1/analytics/accounts/{account}/balances":{"get":{"operationId":"listAnalyticsAccountBalances","summary":"List one account’s latest-ingested balances","tags":["Analytics"],"security":[],"description":"Reads native and issued-asset balances from completed parsed batches, including zero balances and honoring observed deletions. Liquidity-pool shares and arbitrary Soroban-token balances are outside this scope. Float64 source observations are not exact atomic amounts. Coverage is partial while ingestion continues and is not a pinned snapshot. An empty200 does not establish absence on the current chain. Only after and limit are supported; current/as-of ledger or time filters are rejected.","parameters":[{"in":"path","name":"account","required":true,"description":"Checksum-valid Stellar Ed25519 G address.","schema":{"type":"string","pattern":"^G[A-Z2-7]{55}$","example":"GASNOA72CECDUZ5GEUK6WFINSASEG6R3WYZB2DE2CGDU7YI7GC2QPSFX"}},{"in":"query","name":"after","required":false,"description":"Opaque nextCursor from the preceding page for this exact account.","schema":{"type":"string","maxLength":512}},{"in":"query","name":"limit","required":false,"schema":{"type":"integer","minimum":1,"maximum":200,"default":100}}],"responses":{"200":{"description":"Latest ingested native and issued balances; an empty page is valid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubbleAccountBalancePage"}}}},"400":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"code":{"type":"string"},"error":{"type":"string"}},"required":["code","error"],"type":"object"}}},"description":"Invalid account, cursor, limit or unsupported query parameter."},"503":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"code":{"type":"string"},"error":{"type":"string"}},"required":["code","error"],"type":"object"}}},"description":"The parsed warehouse is unavailable."}}}},"/v1/analytics/datasets/{dataset}/query":{"post":{"operationId":"queryHubbleDataset","tags":["Analytics"],"security":[],"summary":"Filter or aggregate one parsed dataset","description":"Group matching parsed rows and calculate counts, exact distinct counts, sums, averages and extrema. Both minLedger and maxLedger are required and the inclusive range may cover at most 1,000,000 ledgers. At most 8 group columns, 16 metrics and 64 filters. orderBy names group columns or metric aliases; group keys break ties. No arbitrary SQL, joins, windows or current-state reconstruction. A partial coverage result is not a complete-history answer. Group keys and metrics are strings or null; Float sources and averages remain approximate. Empty count=0; empty sum/avg/min/max=null. Follow nextOffset with identical filters; continuing ingestion means pages are not snapshot-pinned.","parameters":[{"in":"path","name":"dataset","required":true,"schema":{"type":"string","example":"history_operations"},"description":"Dataset from /v1/analytics/datasets. If supplied in the body it must match this path."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"oneOf":[{"description":"Representative bounded query for one historical ledger. This example does not promise that the selected dataset range is currently ingested.","example":{"dataset":"history_transactions","select":["transaction_hash","ledger_sequence","account","successful"],"filters":[{"field":"ledger_sequence","operator":"eq","value":63490364}],"orderBy":[{"field":"id","direction":"asc"}],"limit":10,"offset":0},"additionalProperties":false,"properties":{"dataset":{"type":"string"},"filters":{"items":{"additionalProperties":false,"properties":{"field":{"type":"string"},"operator":{"default":"eq","enum":["contains","eq","gt","gte","in","is_not_null","is_null","lt","lte","ne"],"type":"string"},"value":{},"values":{"items":{},"maxItems":1000,"minItems":1,"type":"array"}},"required":["field"],"type":"object"},"type":"array"},"limit":{"default":100,"maximum":1000,"minimum":1,"type":"integer"},"offset":{"default":0,"minimum":0,"type":"integer"},"orderBy":{"items":{"additionalProperties":false,"properties":{"direction":{"default":"asc","enum":["asc","desc"],"type":"string"},"field":{"type":"string"}},"required":["field"],"type":"object"},"type":"array"},"select":{"items":{"type":"string"},"type":"array"}},"required":[],"type":"object"},{"type":"object","additionalProperties":false,"description":"Group matching parsed rows and calculate counts, exact distinct counts, sums, averages and extrema. Both minLedger and maxLedger are required and the inclusive range may cover at most 1,000,000 ledgers. At most 8 group columns, 16 metrics and 64 filters. orderBy names group columns or metric aliases; group keys break ties. No arbitrary SQL, joins, windows or current-state reconstruction. A partial coverage result is not a complete-history answer. Group keys and metrics are strings or null; Float sources and averages remain approximate. Empty count=0; empty sum/avg/min/max=null. Follow nextOffset with identical filters; continuing ingestion means pages are not snapshot-pinned.","properties":{"dataset":{"type":"string"},"filters":{"items":{"additionalProperties":false,"properties":{"field":{"type":"string"},"operator":{"default":"eq","enum":["contains","eq","gt","gte","in","is_not_null","is_null","lt","lte","ne"],"type":"string"},"value":{},"values":{"items":{},"maxItems":1000,"minItems":1,"type":"array"}},"required":["field"],"type":"object"},"type":"array","maxItems":64},"limit":{"type":"integer","minimum":1,"maximum":1000,"default":100},"offset":{"type":"integer","minimum":0,"maximum":10000,"default":0},"orderBy":{"items":{"additionalProperties":false,"properties":{"direction":{"default":"asc","enum":["asc","desc"],"type":"string"},"field":{"type":"string"}},"required":["field"],"type":"object"},"type":"array"},"groupBy":{"type":"array","items":{"type":"string"},"maxItems":8,"uniqueItems":true},"aggregations":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"function":{"type":"string","enum":["count","count_distinct","sum","avg","min","max"],"description":"count accepts an optional field and skips null field values; count_distinct is exact and skips nulls. sum/avg require numeric fields; min/max support scalar columns."},"field":{"type":"string","description":"Catalog column. Required except for count."},"alias":{"type":"string","pattern":"^[a-z][a-z0-9_]{0,63}$","example":"operations","description":"Unique output name that does not shadow a source column."}},"required":["function","alias"]},"minItems":1,"maxItems":16},"minLedger":{"type":"integer","minimum":1,"maximum":2147483647,"example":63490364},"maxLedger":{"type":"integer","minimum":1,"maximum":2147483647,"example":63490364}},"required":["aggregations","minLedger","maxLedger"]}],"description":"Group matching parsed rows and calculate counts, exact distinct counts, sums, averages and extrema. Both minLedger and maxLedger are required and the inclusive range may cover at most 1,000,000 ledgers. At most 8 group columns, 16 metrics and 64 filters. orderBy names group columns or metric aliases; group keys break ties. No arbitrary SQL, joins, windows or current-state reconstruction. A partial coverage result is not a complete-history answer. Group keys and metrics are strings or null; Float sources and averages remain approximate. Empty count=0; empty sum/avg/min/max=null. Follow nextOffset with identical filters; continuing ingestion means pages are not snapshot-pinned.","example":{"minLedger":63490364,"maxLedger":63490364,"groupBy":["type_string"],"aggregations":[{"function":"count","alias":"operations"}],"orderBy":[{"field":"operations","direction":"desc"}],"limit":20,"offset":0}},"examples":{"operationCounts":{"summary":"Operations by type in one ledger","value":{"minLedger":63490364,"maxLedger":63490364,"groupBy":["type_string"],"aggregations":[{"function":"count","alias":"operations"}],"orderBy":[{"field":"operations","direction":"desc"}],"limit":20,"offset":0}}}}}},"responses":{"200":{"description":"Matching rows or aggregates, with coverage and precision metadata for aggregates.","content":{"application/json":{"schema":{"oneOf":[{"description":"Representative response shape and values, not a current coverage or availability report.","example":{"columns":["transaction_hash","ledger_sequence","account","successful"],"dataset":"history_transactions","elapsedMilliseconds":12.5,"limit":10,"offset":0,"rows":[{"transaction_hash":"446670351d9f2af449eda3bfa0e36c3e128e2720443293dd5b585b3bbadeb485","ledger_sequence":63490364,"account":"GCX7LOMYJM54CXJPNTDZPMFSTQTQJTR5XR4DKZXLSWJG3R4B7GOADWXZ","successful":true}]},"additionalProperties":false,"properties":{"columns":{"items":{"type":"string"},"type":"array"},"dataset":{"type":"string"},"elapsedMilliseconds":{"minimum":0,"type":"number"},"limit":{"minimum":1,"type":"integer"},"offset":{"minimum":0,"type":"integer"},"rows":{"items":{"additionalProperties":true,"type":"object"},"type":"array"}},"required":["columns","dataset","elapsedMilliseconds","limit","offset","rows"],"type":"object"},{"description":"Representative response shape and values, not a current coverage or availability report. Group matching parsed rows and calculate counts, exact distinct counts, sums, averages and extrema. Both minLedger and maxLedger are required and the inclusive range may cover at most 1,000,000 ledgers. At most 8 group columns, 16 metrics and 64 filters. orderBy names group columns or metric aliases; group keys break ties. No arbitrary SQL, joins, windows or current-state reconstruction. A partial coverage result is not a complete-history answer. Group keys and metrics are strings or null; Float sources and averages remain approximate. Empty count=0; empty sum/avg/min/max=null. Follow nextOffset with identical filters; continuing ingestion means pages are not snapshot-pinned.","example":{"columns":["type_string","operations"],"dataset":"history_operations","elapsedMilliseconds":8.5,"limit":20,"offset":0,"rows":[{"type_string":"invoke_host_function","operations":"1"}],"nextOffset":null,"coverage":{"completedRanges":[{"firstLedger":"2","lastLedger":"63489999"},{"firstLedger":"63490304","lastLedger":"63490367"}],"contiguousFirstLedger":"2","contiguousLastLedger":"63489999","contiguousLedgerCount":"63489998","supplementalLedgerCount":"64","totalLedgerCount":"63490062","nextLedger":"63490000","minimumLedger":"2","maximumLedger":"63490367","gapCount":1},"coverageStatus":"complete","window":{"minLedger":63490364,"maxLedger":63490364},"aggregates":[{"alias":"operations","function":"count","field":null,"sourceType":null,"valueEncoding":"string-or-null","approximate":false}],"semantics":"Aggregates of completed, digest-matched rows; not reconstructed current state. Pagination is not snapshot-pinned."},"additionalProperties":false,"properties":{"columns":{"items":{"type":"string"},"type":"array"},"dataset":{"type":"string"},"elapsedMilliseconds":{"minimum":0,"type":"number"},"limit":{"minimum":1,"type":"integer"},"offset":{"minimum":0,"type":"integer"},"rows":{"items":{"additionalProperties":true,"type":"object"},"type":"array"},"nextOffset":{"type":"integer","minimum":0,"nullable":true},"coverage":{"type":"object","additionalProperties":false,"properties":{"contiguousFirstLedger":{"type":"string","pattern":"^[0-9]+$","example":"2","nullable":true},"contiguousLastLedger":{"type":"string","pattern":"^[0-9]+$","example":"63489999","nullable":true},"contiguousLedgerCount":{"type":"string","pattern":"^[0-9]+$","example":"63489998"},"supplementalLedgerCount":{"type":"string","pattern":"^[0-9]+$","example":"64"},"totalLedgerCount":{"type":"string","pattern":"^[0-9]+$","example":"63490062"},"nextLedger":{"type":"string","pattern":"^[0-9]+$","example":"63490000"},"minimumLedger":{"type":"string","pattern":"^[0-9]+$","example":"2","nullable":true},"maximumLedger":{"type":"string","pattern":"^[0-9]+$","example":"63490367","nullable":true},"gapCount":{"type":"integer","minimum":0,"example":1},"completedRanges":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"firstLedger":{"type":"string","pattern":"^[0-9]+$","example":"63490304"},"lastLedger":{"type":"string","pattern":"^[0-9]+$","example":"63490367"}},"required":["firstLedger","lastLedger"]},"description":"Disjoint merged completed manifest intervals, including supplemental imports. An interval does not imply the earlier historical gap is ingested."}},"required":["contiguousFirstLedger","contiguousLastLedger","contiguousLedgerCount","supplementalLedgerCount","totalLedgerCount","nextLedger","minimumLedger","maximumLedger","gapCount"],"description":"Representative response shape and values, not a current coverage or availability report. Counts are distinct ingested ledgers, not rows or checkpoints. The sample deliberately contains one gap.","example":{"completedRanges":[{"firstLedger":"2","lastLedger":"63489999"},{"firstLedger":"63490304","lastLedger":"63490367"}],"contiguousFirstLedger":"2","contiguousLastLedger":"63489999","contiguousLedgerCount":"63489998","supplementalLedgerCount":"64","totalLedgerCount":"63490062","nextLedger":"63490000","minimumLedger":"2","maximumLedger":"63490367","gapCount":1}},"coverageStatus":{"type":"string","enum":["complete","partial_or_unknown"]},"window":{"type":"object","additionalProperties":false,"properties":{"minLedger":{"type":"integer","minimum":1,"maximum":2147483647},"maxLedger":{"type":"integer","minimum":1,"maximum":2147483647}},"required":["minLedger","maxLedger"]},"aggregates":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"alias":{"type":"string"},"function":{"type":"string","enum":["count","count_distinct","sum","avg","min","max"]},"field":{"type":"string","nullable":true},"sourceType":{"type":"string","nullable":true},"valueEncoding":{"type":"string","enum":["string-or-null"]},"approximate":{"type":"boolean"}},"required":["alias","function","field","sourceType","valueEncoding","approximate"]}},"semantics":{"type":"string"}},"required":["columns","dataset","elapsedMilliseconds","limit","offset","rows","nextOffset","coverage","coverageStatus","window","aggregates","semantics"],"type":"object"}],"description":"Representative response shape and values, not a current coverage or availability report.","example":{"columns":["type_string","operations"],"dataset":"history_operations","elapsedMilliseconds":8.5,"limit":20,"offset":0,"rows":[{"type_string":"invoke_host_function","operations":"1"}],"nextOffset":null,"coverage":{"completedRanges":[{"firstLedger":"2","lastLedger":"63489999"},{"firstLedger":"63490304","lastLedger":"63490367"}],"contiguousFirstLedger":"2","contiguousLastLedger":"63489999","contiguousLedgerCount":"63489998","supplementalLedgerCount":"64","totalLedgerCount":"63490062","nextLedger":"63490000","minimumLedger":"2","maximumLedger":"63490367","gapCount":1},"coverageStatus":"complete","window":{"minLedger":63490364,"maxLedger":63490364},"aggregates":[{"alias":"operations","function":"count","field":null,"sourceType":null,"valueEncoding":"string-or-null","approximate":false}],"semantics":"Aggregates of completed, digest-matched rows; not reconstructed current state. Pagination is not snapshot-pinned."}}}}},"400":{"description":"Invalid columns, range, aggregation, filters or path/body mismatch.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"error":{"type":"string"}},"required":["code","error"]}}}},"503":{"description":"Warehouse unavailable; no successful empty result is substituted.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"error":{"type":"string"}},"required":["code","error"]}}}}}}},"/v1/analytics/datasets":{"get":{"description":"Lists configured parsed datasets, their live ClickHouse columns, row estimates, and completed-batch ingestion coverage. Raw ETL datasets do not imply every curated Hubble model is available.","operationId":"listHubbleDatasets","responses":{"200":{"content":{"application/json":{"schema":{"description":"Representative response shape and values, not a current coverage or availability report. One dataset with one column is shown for brevity; the live catalog returns all datasets and columns.","example":{"database":"stellar_hubble","coverage":{"completedRanges":[{"firstLedger":"2","lastLedger":"63489999"},{"firstLedger":"63490304","lastLedger":"63490367"}],"contiguousFirstLedger":"2","contiguousLastLedger":"63489999","contiguousLedgerCount":"63489998","supplementalLedgerCount":"64","totalLedgerCount":"63490062","nextLedger":"63490000","minimumLedger":"2","maximumLedger":"63490367","gapCount":1},"datasets":[{"columns":[{"name":"transaction_hash","position":1,"type":"String"}],"name":"history_transactions","rowCount":"25000000"}],"generatedAt":"2026-07-15T16:44:00.000Z","ingestion":{"completedBatches":"62002","failedBatches":"0","startedBatches":"1","minimumLedger":"2","maximumLedger":"63490367","totalRows":"125000000"},"officialSchemaSource":"stellar/stellar-etl"},"additionalProperties":false,"properties":{"database":{"type":"string"},"coverage":{"type":"object","additionalProperties":false,"properties":{"contiguousFirstLedger":{"type":"string","pattern":"^[0-9]+$","example":"2","nullable":true},"contiguousLastLedger":{"type":"string","pattern":"^[0-9]+$","example":"63489999","nullable":true},"contiguousLedgerCount":{"type":"string","pattern":"^[0-9]+$","example":"63489998"},"supplementalLedgerCount":{"type":"string","pattern":"^[0-9]+$","example":"64"},"totalLedgerCount":{"type":"string","pattern":"^[0-9]+$","example":"63490062"},"nextLedger":{"type":"string","pattern":"^[0-9]+$","example":"63490000"},"minimumLedger":{"type":"string","pattern":"^[0-9]+$","example":"2","nullable":true},"maximumLedger":{"type":"string","pattern":"^[0-9]+$","example":"63490367","nullable":true},"gapCount":{"type":"integer","minimum":0,"example":1},"completedRanges":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"firstLedger":{"type":"string","pattern":"^[0-9]+$","example":"63490304"},"lastLedger":{"type":"string","pattern":"^[0-9]+$","example":"63490367"}},"required":["firstLedger","lastLedger"]},"description":"Disjoint merged completed manifest intervals, including supplemental imports. An interval does not imply the earlier historical gap is ingested."}},"required":["contiguousFirstLedger","contiguousLastLedger","contiguousLedgerCount","supplementalLedgerCount","totalLedgerCount","nextLedger","minimumLedger","maximumLedger","gapCount"],"description":"Representative response shape and values, not a current coverage or availability report. Counts are distinct ingested ledgers, not rows or checkpoints. The sample deliberately contains one gap.","example":{"completedRanges":[{"firstLedger":"2","lastLedger":"63489999"},{"firstLedger":"63490304","lastLedger":"63490367"}],"contiguousFirstLedger":"2","contiguousLastLedger":"63489999","contiguousLedgerCount":"63489998","supplementalLedgerCount":"64","totalLedgerCount":"63490062","nextLedger":"63490000","minimumLedger":"2","maximumLedger":"63490367","gapCount":1}},"datasets":{"items":{"additionalProperties":false,"properties":{"columns":{"items":{"additionalProperties":false,"properties":{"name":{"type":"string"},"position":{"minimum":1,"type":"integer"},"type":{"type":"string"}},"required":["name","position","type"],"type":"object"},"type":"array"},"name":{"type":"string"},"rowCount":{"description":"Estimated active ClickHouse rows.","pattern":"^[0-9]+$","type":"string"}},"required":["columns","name","rowCount"],"type":"object"},"type":"array"},"generatedAt":{"format":"date-time","type":"string"},"ingestion":{"additionalProperties":false,"properties":{"completedBatches":{"type":"string","pattern":"^[0-9]+$"},"failedBatches":{"type":"string","pattern":"^[0-9]+$"},"maximumLedger":{"type":"string","nullable":true},"minimumLedger":{"type":"string","nullable":true},"startedBatches":{"type":"string","pattern":"^[0-9]+$"},"totalRows":{"type":"string","pattern":"^[0-9]+$"}},"required":["completedBatches","failedBatches","maximumLedger","minimumLedger","startedBatches","totalRows"],"type":"object"},"officialSchemaSource":{"type":"string"}},"required":["database","coverage","datasets","generatedAt","ingestion","officialSchemaSource"],"type":"object"}}},"description":"Live Hubble warehouse catalog."},"503":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"code":{"type":"string"},"error":{"type":"string"}},"required":["code","error"],"type":"object"}}},"description":"The Hubble warehouse is unavailable."}},"security":[],"summary":"List Hubble datasets","tags":["Analytics"]}},"/v1/analytics/datasets/{dataset}":{"get":{"description":"Returns one parsed table schema, ingestion metadata, completed ledger coverage, generation timestamp, and official schema source.","operationId":"getHubbleDataset","parameters":[{"description":"Official Stellar ETL/Hubble table name returned by the dataset catalog.","in":"path","name":"dataset","required":true,"schema":{"example":"history_transactions","pattern":"^[a-z][a-z0-9_]*$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"description":"Representative response shape and values, not a current coverage or availability report. One representative column is shown; the real dataset response includes all columns.","example":{"database":"stellar_hubble","dataset":{"columns":[{"name":"transaction_hash","position":1,"type":"String"}],"name":"history_transactions","rowCount":"25000000"},"generatedAt":"2026-07-15T16:44:00.000Z","ingestion":{"completedBatches":"62002","failedBatches":"0","startedBatches":"1","minimumLedger":"2","maximumLedger":"63490367","totalRows":"125000000"},"coverage":{"completedRanges":[{"firstLedger":"2","lastLedger":"63489999"},{"firstLedger":"63490304","lastLedger":"63490367"}],"contiguousFirstLedger":"2","contiguousLastLedger":"63489999","contiguousLedgerCount":"63489998","supplementalLedgerCount":"64","totalLedgerCount":"63490062","nextLedger":"63490000","minimumLedger":"2","maximumLedger":"63490367","gapCount":1},"officialSchemaSource":"stellar/stellar-etl"},"additionalProperties":false,"properties":{"database":{"type":"string"},"dataset":{"additionalProperties":false,"properties":{"columns":{"items":{"additionalProperties":false,"properties":{"name":{"type":"string"},"position":{"minimum":1,"type":"integer"},"type":{"type":"string"}},"required":["name","position","type"],"type":"object"},"type":"array"},"name":{"type":"string"},"rowCount":{"description":"Estimated active ClickHouse rows.","pattern":"^[0-9]+$","type":"string"}},"required":["columns","name","rowCount"],"type":"object"},"generatedAt":{"format":"date-time","type":"string"},"ingestion":{"additionalProperties":false,"properties":{"completedBatches":{"type":"string","pattern":"^[0-9]+$"},"failedBatches":{"type":"string","pattern":"^[0-9]+$"},"maximumLedger":{"type":"string","nullable":true},"minimumLedger":{"type":"string","nullable":true},"startedBatches":{"type":"string","pattern":"^[0-9]+$"},"totalRows":{"type":"string","pattern":"^[0-9]+$"}},"required":["completedBatches","failedBatches","maximumLedger","minimumLedger","startedBatches","totalRows"],"type":"object"},"coverage":{"type":"object","additionalProperties":false,"properties":{"contiguousFirstLedger":{"type":"string","pattern":"^[0-9]+$","example":"2","nullable":true},"contiguousLastLedger":{"type":"string","pattern":"^[0-9]+$","example":"63489999","nullable":true},"contiguousLedgerCount":{"type":"string","pattern":"^[0-9]+$","example":"63489998"},"supplementalLedgerCount":{"type":"string","pattern":"^[0-9]+$","example":"64"},"totalLedgerCount":{"type":"string","pattern":"^[0-9]+$","example":"63490062"},"nextLedger":{"type":"string","pattern":"^[0-9]+$","example":"63490000"},"minimumLedger":{"type":"string","pattern":"^[0-9]+$","example":"2","nullable":true},"maximumLedger":{"type":"string","pattern":"^[0-9]+$","example":"63490367","nullable":true},"gapCount":{"type":"integer","minimum":0,"example":1},"completedRanges":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"firstLedger":{"type":"string","pattern":"^[0-9]+$","example":"63490304"},"lastLedger":{"type":"string","pattern":"^[0-9]+$","example":"63490367"}},"required":["firstLedger","lastLedger"]},"description":"Disjoint merged completed manifest intervals, including supplemental imports. An interval does not imply the earlier historical gap is ingested."}},"required":["contiguousFirstLedger","contiguousLastLedger","contiguousLedgerCount","supplementalLedgerCount","totalLedgerCount","nextLedger","minimumLedger","maximumLedger","gapCount"],"description":"Representative response shape and values, not a current coverage or availability report. Counts are distinct ingested ledgers, not rows or checkpoints. The sample deliberately contains one gap.","example":{"completedRanges":[{"firstLedger":"2","lastLedger":"63489999"},{"firstLedger":"63490304","lastLedger":"63490367"}],"contiguousFirstLedger":"2","contiguousLastLedger":"63489999","contiguousLedgerCount":"63489998","supplementalLedgerCount":"64","totalLedgerCount":"63490062","nextLedger":"63490000","minimumLedger":"2","maximumLedger":"63490367","gapCount":1}},"officialSchemaSource":{"type":"string"}},"required":["database","dataset","generatedAt","ingestion","coverage","officialSchemaSource"],"type":"object"}}},"description":"Hubble dataset schema with warehouse and ingestion metadata."},"400":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"code":{"type":"string"},"error":{"type":"string"}},"required":["code","error"],"type":"object"}}},"description":"The Hubble dataset is unknown."},"503":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"code":{"type":"string"},"error":{"type":"string"}},"required":["code","error"],"type":"object"}}},"description":"The Hubble warehouse is unavailable."}},"security":[],"summary":"Get a Hubble dataset schema","tags":["Analytics"]}},"/v1/analytics/{dataset}":{"get":{"description":"Queries one Hubble table. Any column may be a query parameter. Append __eq, __ne, __gt, __gte, __lt, __lte, __in, __contains, __is_null, or __is_not_null to select an operator. Use select for comma-separated columns and order with a minus prefix for descending order.","operationId":"queryHubbleDatasetResource","parameters":[{"description":"Official Stellar ETL/Hubble table name returned by the dataset catalog.","in":"path","name":"dataset","required":true,"schema":{"example":"history_transactions","pattern":"^[a-z][a-z0-9_]*$","type":"string"}},{"description":"Comma-separated response columns.","in":"query","name":"select","required":false,"schema":{"type":"string"}},{"description":"Comma-separated order columns; prefix a column with - for descending.","in":"query","name":"order","required":false,"schema":{"type":"string"}},{"in":"query","name":"limit","required":false,"schema":{"default":100,"maximum":1000,"minimum":1,"type":"integer"}},{"in":"query","name":"offset","required":false,"schema":{"default":0,"minimum":0,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"description":"Representative response shape and values, not a current coverage or availability report.","example":{"columns":["transaction_hash","ledger_sequence","account","successful"],"dataset":"history_transactions","elapsedMilliseconds":12.5,"limit":10,"offset":0,"rows":[{"transaction_hash":"446670351d9f2af449eda3bfa0e36c3e128e2720443293dd5b585b3bbadeb485","ledger_sequence":63490364,"account":"GCX7LOMYJM54CXJPNTDZPMFSTQTQJTR5XR4DKZXLSWJG3R4B7GOADWXZ","successful":true}]},"additionalProperties":false,"properties":{"columns":{"items":{"type":"string"},"type":"array"},"dataset":{"type":"string"},"elapsedMilliseconds":{"minimum":0,"type":"number"},"limit":{"minimum":1,"type":"integer"},"offset":{"minimum":0,"type":"integer"},"rows":{"items":{"additionalProperties":true,"type":"object"},"type":"array"}},"required":["columns","dataset","elapsedMilliseconds","limit","offset","rows"],"type":"object"}}},"description":"Filtered Hubble rows."},"400":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"code":{"type":"string"},"error":{"type":"string"}},"required":["code","error"],"type":"object"}}},"description":"The Hubble query is invalid."},"503":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"code":{"type":"string"},"error":{"type":"string"}},"required":["code","error"],"type":"object"}}},"description":"The Hubble warehouse is unavailable."}},"security":[],"summary":"Query a Hubble dataset","tags":["Analytics"]}},"/v1/analytics/query":{"post":{"description":"Runs a structured, parameterized query against any official Hubble table. Raw SQL is not accepted.","operationId":"queryHubbleWarehouse","requestBody":{"content":{"application/json":{"schema":{"oneOf":[{"description":"Representative bounded query for one historical ledger. This example does not promise that the selected dataset range is currently ingested.","example":{"dataset":"history_transactions","select":["transaction_hash","ledger_sequence","account","successful"],"filters":[{"field":"ledger_sequence","operator":"eq","value":63490364}],"orderBy":[{"field":"id","direction":"asc"}],"limit":10,"offset":0},"additionalProperties":false,"properties":{"dataset":{"type":"string"},"filters":{"items":{"additionalProperties":false,"properties":{"field":{"type":"string"},"operator":{"default":"eq","enum":["contains","eq","gt","gte","in","is_not_null","is_null","lt","lte","ne"],"type":"string"},"value":{},"values":{"items":{},"maxItems":1000,"minItems":1,"type":"array"}},"required":["field"],"type":"object"},"type":"array"},"limit":{"default":100,"maximum":1000,"minimum":1,"type":"integer"},"offset":{"default":0,"minimum":0,"type":"integer"},"orderBy":{"items":{"additionalProperties":false,"properties":{"direction":{"default":"asc","enum":["asc","desc"],"type":"string"},"field":{"type":"string"}},"required":["field"],"type":"object"},"type":"array"},"select":{"items":{"type":"string"},"type":"array"}},"required":["dataset"],"type":"object"},{"type":"object","additionalProperties":false,"description":"Group matching parsed rows and calculate counts, exact distinct counts, sums, averages and extrema. Both minLedger and maxLedger are required and the inclusive range may cover at most 1,000,000 ledgers. At most 8 group columns, 16 metrics and 64 filters. orderBy names group columns or metric aliases; group keys break ties. No arbitrary SQL, joins, windows or current-state reconstruction. A partial coverage result is not a complete-history answer. Group keys and metrics are strings or null; Float sources and averages remain approximate. Empty count=0; empty sum/avg/min/max=null. Follow nextOffset with identical filters; continuing ingestion means pages are not snapshot-pinned.","properties":{"dataset":{"type":"string"},"filters":{"items":{"additionalProperties":false,"properties":{"field":{"type":"string"},"operator":{"default":"eq","enum":["contains","eq","gt","gte","in","is_not_null","is_null","lt","lte","ne"],"type":"string"},"value":{},"values":{"items":{},"maxItems":1000,"minItems":1,"type":"array"}},"required":["field"],"type":"object"},"type":"array","maxItems":64},"limit":{"type":"integer","minimum":1,"maximum":1000,"default":100},"offset":{"type":"integer","minimum":0,"maximum":10000,"default":0},"orderBy":{"items":{"additionalProperties":false,"properties":{"direction":{"default":"asc","enum":["asc","desc"],"type":"string"},"field":{"type":"string"}},"required":["field"],"type":"object"},"type":"array"},"groupBy":{"type":"array","items":{"type":"string"},"maxItems":8,"uniqueItems":true},"aggregations":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"function":{"type":"string","enum":["count","count_distinct","sum","avg","min","max"],"description":"count accepts an optional field and skips null field values; count_distinct is exact and skips nulls. sum/avg require numeric fields; min/max support scalar columns."},"field":{"type":"string","description":"Catalog column. Required except for count."},"alias":{"type":"string","pattern":"^[a-z][a-z0-9_]{0,63}$","example":"operations","description":"Unique output name that does not shadow a source column."}},"required":["function","alias"]},"minItems":1,"maxItems":16},"minLedger":{"type":"integer","minimum":1,"maximum":2147483647,"example":63490364},"maxLedger":{"type":"integer","minimum":1,"maximum":2147483647,"example":63490364}},"required":["dataset","aggregations","minLedger","maxLedger"]}],"description":"Group matching parsed rows and calculate counts, exact distinct counts, sums, averages and extrema. Both minLedger and maxLedger are required and the inclusive range may cover at most 1,000,000 ledgers. At most 8 group columns, 16 metrics and 64 filters. orderBy names group columns or metric aliases; group keys break ties. No arbitrary SQL, joins, windows or current-state reconstruction. A partial coverage result is not a complete-history answer. Group keys and metrics are strings or null; Float sources and averages remain approximate. Empty count=0; empty sum/avg/min/max=null. Follow nextOffset with identical filters; continuing ingestion means pages are not snapshot-pinned.","example":{"dataset":"history_transactions","select":["transaction_hash","ledger_sequence","account","successful"],"filters":[{"field":"ledger_sequence","operator":"eq","value":63490364}],"orderBy":[{"field":"id","direction":"asc"}],"limit":10,"offset":0}}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"oneOf":[{"description":"Representative response shape and values, not a current coverage or availability report.","example":{"columns":["transaction_hash","ledger_sequence","account","successful"],"dataset":"history_transactions","elapsedMilliseconds":12.5,"limit":10,"offset":0,"rows":[{"transaction_hash":"446670351d9f2af449eda3bfa0e36c3e128e2720443293dd5b585b3bbadeb485","ledger_sequence":63490364,"account":"GCX7LOMYJM54CXJPNTDZPMFSTQTQJTR5XR4DKZXLSWJG3R4B7GOADWXZ","successful":true}]},"additionalProperties":false,"properties":{"columns":{"items":{"type":"string"},"type":"array"},"dataset":{"type":"string"},"elapsedMilliseconds":{"minimum":0,"type":"number"},"limit":{"minimum":1,"type":"integer"},"offset":{"minimum":0,"type":"integer"},"rows":{"items":{"additionalProperties":true,"type":"object"},"type":"array"}},"required":["columns","dataset","elapsedMilliseconds","limit","offset","rows"],"type":"object"},{"description":"Representative response shape and values, not a current coverage or availability report. Group matching parsed rows and calculate counts, exact distinct counts, sums, averages and extrema. Both minLedger and maxLedger are required and the inclusive range may cover at most 1,000,000 ledgers. At most 8 group columns, 16 metrics and 64 filters. orderBy names group columns or metric aliases; group keys break ties. No arbitrary SQL, joins, windows or current-state reconstruction. A partial coverage result is not a complete-history answer. Group keys and metrics are strings or null; Float sources and averages remain approximate. Empty count=0; empty sum/avg/min/max=null. Follow nextOffset with identical filters; continuing ingestion means pages are not snapshot-pinned.","example":{"columns":["type_string","operations"],"dataset":"history_operations","elapsedMilliseconds":8.5,"limit":20,"offset":0,"rows":[{"type_string":"invoke_host_function","operations":"1"}],"nextOffset":null,"coverage":{"completedRanges":[{"firstLedger":"2","lastLedger":"63489999"},{"firstLedger":"63490304","lastLedger":"63490367"}],"contiguousFirstLedger":"2","contiguousLastLedger":"63489999","contiguousLedgerCount":"63489998","supplementalLedgerCount":"64","totalLedgerCount":"63490062","nextLedger":"63490000","minimumLedger":"2","maximumLedger":"63490367","gapCount":1},"coverageStatus":"complete","window":{"minLedger":63490364,"maxLedger":63490364},"aggregates":[{"alias":"operations","function":"count","field":null,"sourceType":null,"valueEncoding":"string-or-null","approximate":false}],"semantics":"Aggregates of completed, digest-matched rows; not reconstructed current state. Pagination is not snapshot-pinned."},"additionalProperties":false,"properties":{"columns":{"items":{"type":"string"},"type":"array"},"dataset":{"type":"string"},"elapsedMilliseconds":{"minimum":0,"type":"number"},"limit":{"minimum":1,"type":"integer"},"offset":{"minimum":0,"type":"integer"},"rows":{"items":{"additionalProperties":true,"type":"object"},"type":"array"},"nextOffset":{"type":"integer","minimum":0,"nullable":true},"coverage":{"type":"object","additionalProperties":false,"properties":{"contiguousFirstLedger":{"type":"string","pattern":"^[0-9]+$","example":"2","nullable":true},"contiguousLastLedger":{"type":"string","pattern":"^[0-9]+$","example":"63489999","nullable":true},"contiguousLedgerCount":{"type":"string","pattern":"^[0-9]+$","example":"63489998"},"supplementalLedgerCount":{"type":"string","pattern":"^[0-9]+$","example":"64"},"totalLedgerCount":{"type":"string","pattern":"^[0-9]+$","example":"63490062"},"nextLedger":{"type":"string","pattern":"^[0-9]+$","example":"63490000"},"minimumLedger":{"type":"string","pattern":"^[0-9]+$","example":"2","nullable":true},"maximumLedger":{"type":"string","pattern":"^[0-9]+$","example":"63490367","nullable":true},"gapCount":{"type":"integer","minimum":0,"example":1},"completedRanges":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"firstLedger":{"type":"string","pattern":"^[0-9]+$","example":"63490304"},"lastLedger":{"type":"string","pattern":"^[0-9]+$","example":"63490367"}},"required":["firstLedger","lastLedger"]},"description":"Disjoint merged completed manifest intervals, including supplemental imports. An interval does not imply the earlier historical gap is ingested."}},"required":["contiguousFirstLedger","contiguousLastLedger","contiguousLedgerCount","supplementalLedgerCount","totalLedgerCount","nextLedger","minimumLedger","maximumLedger","gapCount"],"description":"Representative response shape and values, not a current coverage or availability report. Counts are distinct ingested ledgers, not rows or checkpoints. The sample deliberately contains one gap.","example":{"completedRanges":[{"firstLedger":"2","lastLedger":"63489999"},{"firstLedger":"63490304","lastLedger":"63490367"}],"contiguousFirstLedger":"2","contiguousLastLedger":"63489999","contiguousLedgerCount":"63489998","supplementalLedgerCount":"64","totalLedgerCount":"63490062","nextLedger":"63490000","minimumLedger":"2","maximumLedger":"63490367","gapCount":1}},"coverageStatus":{"type":"string","enum":["complete","partial_or_unknown"]},"window":{"type":"object","additionalProperties":false,"properties":{"minLedger":{"type":"integer","minimum":1,"maximum":2147483647},"maxLedger":{"type":"integer","minimum":1,"maximum":2147483647}},"required":["minLedger","maxLedger"]},"aggregates":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"alias":{"type":"string"},"function":{"type":"string","enum":["count","count_distinct","sum","avg","min","max"]},"field":{"type":"string","nullable":true},"sourceType":{"type":"string","nullable":true},"valueEncoding":{"type":"string","enum":["string-or-null"]},"approximate":{"type":"boolean"}},"required":["alias","function","field","sourceType","valueEncoding","approximate"]}},"semantics":{"type":"string"}},"required":["columns","dataset","elapsedMilliseconds","limit","offset","rows","nextOffset","coverage","coverageStatus","window","aggregates","semantics"],"type":"object"}],"description":"Representative response shape and values, not a current coverage or availability report.","example":{"columns":["type_string","operations"],"dataset":"history_operations","elapsedMilliseconds":8.5,"limit":20,"offset":0,"rows":[{"type_string":"invoke_host_function","operations":"1"}],"nextOffset":null,"coverage":{"completedRanges":[{"firstLedger":"2","lastLedger":"63489999"},{"firstLedger":"63490304","lastLedger":"63490367"}],"contiguousFirstLedger":"2","contiguousLastLedger":"63489999","contiguousLedgerCount":"63489998","supplementalLedgerCount":"64","totalLedgerCount":"63490062","nextLedger":"63490000","minimumLedger":"2","maximumLedger":"63490367","gapCount":1},"coverageStatus":"complete","window":{"minLedger":63490364,"maxLedger":63490364},"aggregates":[{"alias":"operations","function":"count","field":null,"sourceType":null,"valueEncoding":"string-or-null","approximate":false}],"semantics":"Aggregates of completed, digest-matched rows; not reconstructed current state. Pagination is not snapshot-pinned."}}}},"description":"Filtered Hubble rows."},"400":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"code":{"type":"string"},"error":{"type":"string"}},"required":["code","error"],"type":"object"}}},"description":"The Hubble query is invalid."},"503":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"code":{"type":"string"},"error":{"type":"string"}},"required":["code","error"],"type":"object"}}},"description":"The Hubble warehouse is unavailable."}},"security":[],"summary":"Run a structured Hubble query","tags":["Analytics"]}},"/v1/analytics/liquidity-pools":{"get":{"operationId":"listParsedLiquidityPools","summary":"List parsed liquidity-pools","description":"Native protocol liquidity-pool change observations, including removals; not contract AMMs. Rows are not distinct pools or a current inventory. Reserves and shares retain source Float64 precision. Removal rows expose null state values rather than fabricated zero balances. Only completed matching batch/digest facts are visible. Maximum window span: 1000000 ledgers. The default window is the latest 64 parsed ledgers; date filters only narrow it. Check returned window and coverage. Offset pagination is not immutable under backfill; use narrower ledger windows for large histories. ","tags":["Analytics"],"security":[],"parameters":[{"in":"query","name":"min_ledger","description":"Inclusive minimum ledger. Defaults to max_ledger minus 63, or the ledger encoded in an operation/trade ID.","required":false,"schema":{"type":"integer","minimum":1,"example":63491202}},{"in":"query","name":"max_ledger","description":"Inclusive maximum ledger. Defaults to the greatest published parsed ledger, or the ledger encoded in an operation/trade ID.","required":false,"schema":{"type":"integer","minimum":1,"example":63491202}},{"in":"query","name":"start_time","description":"Inclusive UTC ISO timestamp ending in Z. Narrows the selected ledger window; not an all-history date search.","required":false,"schema":{"type":"string","format":"date-time"}},{"in":"query","name":"end_time","description":"Exclusive UTC ISO timestamp ending in Z.","required":false,"schema":{"type":"string","format":"date-time"}},{"in":"query","name":"limit","description":"Maximum returned rows, with one lookahead row for nextOffset.","required":false,"schema":{"type":"integer","minimum":1,"maximum":100,"default":25,"example":10}},{"in":"query","name":"offset","description":"Zero-based offset. Follow nextOffset with unchanged filters; narrow the window once offset exceeds 10000.","required":false,"schema":{"type":"integer","minimum":0,"maximum":10000,"default":0}},{"in":"query","name":"order_by","description":"Sort key for latest pool snapshots when no historical window is supplied; in historical mode sorts observations in the selected window.","required":false,"schema":{"type":"string","enum":["pool","asset_a","asset_b","reserve_a","reserve_b","shares","trustlines","fee","ledger","time"],"default":"trustlines"}},{"in":"query","name":"order","description":"Sort direction for latest snapshots or historical observations.","required":false,"schema":{"type":"string","enum":["asc","desc"],"default":"desc"}},{"in":"query","name":"pool_id","description":"Exact pool id.","required":false,"schema":{"type":"string"}},{"in":"query","name":"asset_a","description":"native or CODE:ISSUER.","required":false,"schema":{"type":"string"}},{"in":"query","name":"asset_b","description":"native or CODE:ISSUER.","required":false,"schema":{"type":"string"}},{"in":"query","name":"deleted","description":"Exact deleted.","required":false,"schema":{"type":"string","enum":["true","false"]}}],"responses":{"200":{"description":"Native protocol liquidity-pool change observations, including removals; not contract AMMs. Rows are not distinct pools or a current inventory. Reserves and shares retain source Float64 precision. Removal rows expose null state values rather than fabricated zero balances.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubbleExplorerLiquidityPoolPage"}}}},"400":{"description":"Invalid identifier, unsupported filter, range, date or pagination input.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubbleError"}}}},"500":{"description":"Unexpected query failure (hubble_query_failed); no partial-success response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubbleError"}}}},"503":{"description":"Warehouse unavailable or server query budget exhausted; no partial-success response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubbleError"}}}}}}},"/v1/analytics/liquidity-pools/{poolId}":{"get":{"operationId":"getParsedLiquidityPool","summary":"Locate a parsed liquidity-pool","description":"Native protocol liquidity-pool change observations, including removals; not contract AMMs. Rows are not distinct pools or a current inventory. Reserves and shares retain source Float64 precision. Removal rows expose null state values rather than fabricated zero balances. Only completed matching batch/digest facts are visible. Maximum window span: 1000000 ledgers. The default window is the latest 64 parsed ledgers; date filters only narrow it. Check returned window and coverage. Offset pagination is not immutable under backfill; use narrower ledger windows for large histories. Missing data returns 404 only when the selected window is fully published, including supplemental ranges; otherwise 409 with coverage metadata.","tags":["Analytics"],"security":[],"parameters":[{"in":"path","name":"poolId","required":true,"description":"64-character hexadecimal native pool ID or checksum-valid L-address. Detail is the latest observation in the selected window.","schema":{"type":"string","example":"f82c4083862934876ec3c9f67fa60521da6a0d83789fa3123bd8dc1d268c03b6"}},{"in":"query","name":"min_ledger","description":"Inclusive minimum ledger. Defaults to max_ledger minus 63, or the ledger encoded in an operation/trade ID.","required":false,"schema":{"type":"integer","minimum":1,"example":63491202}},{"in":"query","name":"max_ledger","description":"Inclusive maximum ledger. Defaults to the greatest published parsed ledger, or the ledger encoded in an operation/trade ID.","required":false,"schema":{"type":"integer","minimum":1,"example":63491202}},{"in":"query","name":"start_time","description":"Inclusive UTC ISO timestamp ending in Z. Narrows the selected ledger window; not an all-history date search.","required":false,"schema":{"type":"string","format":"date-time"}},{"in":"query","name":"end_time","description":"Exclusive UTC ISO timestamp ending in Z.","required":false,"schema":{"type":"string","format":"date-time"}},{"in":"query","name":"order_by","description":"Sort key for latest pool snapshots when no historical window is supplied; in historical mode sorts observations in the selected window.","required":false,"schema":{"type":"string","enum":["pool","asset_a","asset_b","reserve_a","reserve_b","shares","trustlines","fee","ledger","time"],"default":"trustlines"}},{"in":"query","name":"order","description":"Sort direction for latest snapshots or historical observations.","required":false,"schema":{"type":"string","enum":["asc","desc"],"default":"desc"}},{"in":"query","name":"pool_id","description":"Exact pool id.","required":false,"schema":{"type":"string"}},{"in":"query","name":"asset_a","description":"native or CODE:ISSUER.","required":false,"schema":{"type":"string"}},{"in":"query","name":"asset_b","description":"native or CODE:ISSUER.","required":false,"schema":{"type":"string"}},{"in":"query","name":"deleted","description":"Exact deleted.","required":false,"schema":{"type":"string","enum":["true","false"]}}],"responses":{"200":{"description":"Native protocol liquidity-pool change observations, including removals; not contract AMMs. Rows are not distinct pools or a current inventory. Reserves and shares retain source Float64 precision. Removal rows expose null state values rather than fabricated zero balances.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubbleExplorerLiquidityPoolDetail"}}}},"400":{"description":"Invalid identifier, unsupported filter, range, date or pagination input.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubbleError"}}}},"404":{"description":"Not found in the fully ingested selected window.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubbleExplorerLiquidityPoolNotFound"}}}},"409":{"description":"Selected window is not known fully ingested; absence is not proof of nonexistence.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubbleExplorerLiquidityPoolNotFound"}}}},"500":{"description":"Unexpected query failure (hubble_query_failed); no partial-success response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubbleError"}}}},"503":{"description":"Warehouse unavailable or server query budget exhausted; no partial-success response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubbleError"}}}}}}},"/v1/analytics/operations":{"get":{"operationId":"listParsedOperations","summary":"List parsed operations","description":"Parsed operations with exact identifiers and a bounded transaction-hash relationship. Details are legacy parsed values, not a guarantee of exact amounts; use typed transaction amounts for hash-verified envelope values. Only completed matching batch/digest facts are visible. Maximum window span: 1000000 ledgers. The default window is the latest 64 parsed ledgers; date filters only narrow it. Check returned window and coverage. Offset pagination is not immutable under backfill; use narrower ledger windows for large histories. ","tags":["Analytics"],"security":[],"parameters":[{"in":"query","name":"min_ledger","description":"Inclusive minimum ledger. Defaults to max_ledger minus 63, or the ledger encoded in an operation/trade ID.","required":false,"schema":{"type":"integer","minimum":1,"example":63490364}},{"in":"query","name":"max_ledger","description":"Inclusive maximum ledger. Defaults to the greatest published parsed ledger, or the ledger encoded in an operation/trade ID.","required":false,"schema":{"type":"integer","minimum":1,"example":63490364}},{"in":"query","name":"start_time","description":"Inclusive UTC ISO timestamp ending in Z. Narrows the selected ledger window; not an all-history date search.","required":false,"schema":{"type":"string","format":"date-time"}},{"in":"query","name":"end_time","description":"Exclusive UTC ISO timestamp ending in Z.","required":false,"schema":{"type":"string","format":"date-time"}},{"in":"query","name":"limit","description":"Maximum returned rows, with one lookahead row for nextOffset.","required":false,"schema":{"type":"integer","minimum":1,"maximum":100,"default":25,"example":10}},{"in":"query","name":"offset","description":"Zero-based offset. Follow nextOffset with unchanged filters; narrow the window once offset exceeds 10000.","required":false,"schema":{"type":"integer","minimum":0,"maximum":10000,"default":0}},{"in":"query","name":"source_account","description":"Exact source account.","required":false,"schema":{"type":"string"}},{"in":"query","name":"type","description":"Exact numeric Stellar operation type code or stored snake_case name (24 or invoke_host_function).","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Parsed operations with exact identifiers and a bounded transaction-hash relationship. Details are legacy parsed values, not a guarantee of exact amounts; use typed transaction amounts for hash-verified envelope values.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubbleExplorerOperationPage"}}}},"400":{"description":"Invalid identifier, unsupported filter, range, date or pagination input.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubbleError"}}}},"500":{"description":"Unexpected query failure (hubble_query_failed); no partial-success response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubbleError"}}}},"503":{"description":"Warehouse unavailable or server query budget exhausted; no partial-success response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubbleError"}}}}}}},"/v1/analytics/assets":{"get":{"operationId":"listParsedAssets","summary":"List parsed assets","description":"Distinct asset identities observed inside the window; not a current global registry or a holder snapshot. Only completed matching batch/digest facts are visible. Maximum window span: 1000000 ledgers. The default window is the latest 64 parsed ledgers; date filters only narrow it. Check returned window and coverage. Offset pagination is not immutable under backfill; use narrower ledger windows for large histories. ","tags":["Analytics"],"security":[],"parameters":[{"in":"query","name":"min_ledger","description":"Inclusive minimum ledger. Defaults to max_ledger minus 63, or the ledger encoded in an operation/trade ID.","required":false,"schema":{"type":"integer","minimum":1,"example":63490364}},{"in":"query","name":"max_ledger","description":"Inclusive maximum ledger. Defaults to the greatest published parsed ledger, or the ledger encoded in an operation/trade ID.","required":false,"schema":{"type":"integer","minimum":1,"example":63490364}},{"in":"query","name":"start_time","description":"Inclusive UTC ISO timestamp ending in Z. Narrows the selected ledger window; not an all-history date search.","required":false,"schema":{"type":"string","format":"date-time"}},{"in":"query","name":"end_time","description":"Exclusive UTC ISO timestamp ending in Z.","required":false,"schema":{"type":"string","format":"date-time"}},{"in":"query","name":"limit","description":"Maximum returned rows, with one lookahead row for nextOffset.","required":false,"schema":{"type":"integer","minimum":1,"maximum":100,"default":25,"example":10}},{"in":"query","name":"offset","description":"Zero-based offset. Follow nextOffset with unchanged filters; narrow the window once offset exceeds 10000.","required":false,"schema":{"type":"integer","minimum":0,"maximum":10000,"default":0}},{"in":"query","name":"asset_code","description":"Exact asset code.","required":false,"schema":{"type":"string"}},{"in":"query","name":"asset_issuer","description":"Exact asset issuer.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Distinct asset identities observed inside the window; not a current global registry or a holder snapshot.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubbleExplorerAssetPage"}}}},"400":{"description":"Invalid identifier, unsupported filter, range, date or pagination input.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubbleError"}}}},"500":{"description":"Unexpected query failure (hubble_query_failed); no partial-success response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubbleError"}}}},"503":{"description":"Warehouse unavailable or server query budget exhausted; no partial-success response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubbleError"}}}}}}},"/v1/analytics/assets/{asset}":{"get":{"operationId":"getParsedAsset","summary":"Locate a parsed asset","description":"Distinct asset identities observed inside the window; not a current global registry or a holder snapshot. Only completed matching batch/digest facts are visible. Maximum window span: 1000000 ledgers. The default window is the latest 64 parsed ledgers; date filters only narrow it. Check returned window and coverage. Offset pagination is not immutable under backfill; use narrower ledger windows for large histories. Missing data returns 404 only when the selected window is fully published, including supplemental ranges; otherwise 409 with coverage metadata.","tags":["Analytics"],"security":[],"parameters":[{"in":"path","name":"asset","required":true,"description":"native or URL-encoded CODE:ISSUER.","schema":{"type":"string","example":"USDC:GBVVYDFLEBUNSWBHNJS3RSLLJTMJ46PJXTTMA3V6YJ4KDRMAEJIDUSDC"}},{"in":"query","name":"min_ledger","description":"Inclusive minimum ledger. Defaults to max_ledger minus 63, or the ledger encoded in an operation/trade ID.","required":false,"schema":{"type":"integer","minimum":1,"example":63490364}},{"in":"query","name":"max_ledger","description":"Inclusive maximum ledger. Defaults to the greatest published parsed ledger, or the ledger encoded in an operation/trade ID.","required":false,"schema":{"type":"integer","minimum":1,"example":63490364}},{"in":"query","name":"start_time","description":"Inclusive UTC ISO timestamp ending in Z. Narrows the selected ledger window; not an all-history date search.","required":false,"schema":{"type":"string","format":"date-time"}},{"in":"query","name":"end_time","description":"Exclusive UTC ISO timestamp ending in Z.","required":false,"schema":{"type":"string","format":"date-time"}},{"in":"query","name":"asset_code","description":"Exact asset code.","required":false,"schema":{"type":"string"}},{"in":"query","name":"asset_issuer","description":"Exact asset issuer.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Distinct asset identities observed inside the window; not a current global registry or a holder snapshot.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubbleExplorerAssetDetail"}}}},"400":{"description":"Invalid identifier, unsupported filter, range, date or pagination input.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubbleError"}}}},"404":{"description":"Not found in the fully ingested selected window.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubbleExplorerAssetNotFound"}}}},"409":{"description":"Selected window is not known fully ingested; absence is not proof of nonexistence.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubbleExplorerAssetNotFound"}}}},"500":{"description":"Unexpected query failure (hubble_query_failed); no partial-success response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubbleError"}}}},"503":{"description":"Warehouse unavailable or server query budget exhausted; no partial-success response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubbleError"}}}}}}},"/v1/analytics/contracts":{"get":{"operationId":"listParsedContracts","summary":"List parsed contracts","description":"Distinct contract IDs observed in contract-data changes inside the window; exact detail also checks same-window contract events when state is absent. Not a complete deployed-contract registry. Follow the contract events/state routes for evidence. Only completed matching batch/digest facts are visible. Maximum window span: 1000000 ledgers. The default window is the latest 64 parsed ledgers; date filters only narrow it. Check returned window and coverage. Offset pagination is not immutable under backfill; use narrower ledger windows for large histories. ","tags":["Analytics"],"security":[],"parameters":[{"in":"query","name":"min_ledger","description":"Inclusive minimum ledger. Defaults to max_ledger minus 63, or the ledger encoded in an operation/trade ID.","required":false,"schema":{"type":"integer","minimum":1,"example":63491202}},{"in":"query","name":"max_ledger","description":"Inclusive maximum ledger. Defaults to the greatest published parsed ledger, or the ledger encoded in an operation/trade ID.","required":false,"schema":{"type":"integer","minimum":1,"example":63491202}},{"in":"query","name":"start_time","description":"Inclusive UTC ISO timestamp ending in Z. Narrows the selected ledger window; not an all-history date search.","required":false,"schema":{"type":"string","format":"date-time"}},{"in":"query","name":"end_time","description":"Exclusive UTC ISO timestamp ending in Z.","required":false,"schema":{"type":"string","format":"date-time"}},{"in":"query","name":"limit","description":"Maximum returned rows, with one lookahead row for nextOffset.","required":false,"schema":{"type":"integer","minimum":1,"maximum":100,"default":25,"example":10}},{"in":"query","name":"offset","description":"Zero-based offset. Follow nextOffset with unchanged filters; narrow the window once offset exceeds 10000.","required":false,"schema":{"type":"integer","minimum":0,"maximum":10000,"default":0}}],"responses":{"200":{"description":"Distinct contract IDs observed in contract-data changes inside the window; exact detail also checks same-window contract events when state is absent. Not a complete deployed-contract registry. Follow the contract events/state routes for evidence.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubbleExplorerContractPage"}}}},"400":{"description":"Invalid identifier, unsupported filter, range, date or pagination input.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubbleError"}}}},"500":{"description":"Unexpected query failure (hubble_query_failed); no partial-success response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubbleError"}}}},"503":{"description":"Warehouse unavailable or server query budget exhausted; no partial-success response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubbleError"}}}}}}},"/v1/analytics/contracts/{contractId}":{"get":{"operationId":"getParsedContract","summary":"Locate a parsed contract","description":"Distinct contract IDs observed in contract-data changes inside the window; exact detail also checks same-window contract events when state is absent. Not a complete deployed-contract registry. Follow the contract events/state routes for evidence. Only completed matching batch/digest facts are visible. Maximum window span: 1000000 ledgers. The default window is the latest 64 parsed ledgers; date filters only narrow it. Check returned window and coverage. Offset pagination is not immutable under backfill; use narrower ledger windows for large histories. Missing data returns 404 only when the selected window is fully published, including supplemental ranges; otherwise 409 with coverage metadata.","tags":["Analytics"],"security":[],"parameters":[{"in":"path","name":"contractId","required":true,"description":"Stellar C-address.","schema":{"type":"string","example":"CDL74RF5BLYR2YBLCCI7F5FB6TPSCLKEJUBSD2RSVWZ4YHF3VMFAIGWA"}},{"in":"query","name":"min_ledger","description":"Inclusive minimum ledger. Defaults to max_ledger minus 63, or the ledger encoded in an operation/trade ID.","required":false,"schema":{"type":"integer","minimum":1,"example":63491202}},{"in":"query","name":"max_ledger","description":"Inclusive maximum ledger. Defaults to the greatest published parsed ledger, or the ledger encoded in an operation/trade ID.","required":false,"schema":{"type":"integer","minimum":1,"example":63491202}},{"in":"query","name":"start_time","description":"Inclusive UTC ISO timestamp ending in Z. Narrows the selected ledger window; not an all-history date search.","required":false,"schema":{"type":"string","format":"date-time"}},{"in":"query","name":"end_time","description":"Exclusive UTC ISO timestamp ending in Z.","required":false,"schema":{"type":"string","format":"date-time"}}],"responses":{"200":{"description":"Distinct contract IDs observed in contract-data changes inside the window; exact detail also checks same-window contract events when state is absent. Not a complete deployed-contract registry. Follow the contract events/state routes for evidence.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubbleExplorerContractDetail"}}}},"400":{"description":"Invalid identifier, unsupported filter, range, date or pagination input.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubbleError"}}}},"404":{"description":"Not found in the fully ingested selected window.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubbleExplorerContractNotFound"}}}},"409":{"description":"Selected window is not known fully ingested; absence is not proof of nonexistence.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubbleExplorerContractNotFound"}}}},"500":{"description":"Unexpected query failure (hubble_query_failed); no partial-success response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubbleError"}}}},"503":{"description":"Warehouse unavailable or server query budget exhausted; no partial-success response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubbleError"}}}}}}},"/v1/analytics/offers":{"get":{"operationId":"listParsedOffers","summary":"List parsed offers","description":"Historical offer changes, including deleted offers. Detail is latest observed in this window, not the current order book. Amount strings retain source Float64 precision; price rational terms remain exact strings. Only completed matching batch/digest facts are visible. Maximum window span: 1000000 ledgers. The default window is the latest 64 parsed ledgers; date filters only narrow it. Check returned window and coverage. Offset pagination is not immutable under backfill; use narrower ledger windows for large histories. ","tags":["Analytics"],"security":[],"parameters":[{"in":"query","name":"min_ledger","description":"Inclusive minimum ledger. Defaults to max_ledger minus 63, or the ledger encoded in an operation/trade ID.","required":false,"schema":{"type":"integer","minimum":1,"example":63490364}},{"in":"query","name":"max_ledger","description":"Inclusive maximum ledger. Defaults to the greatest published parsed ledger, or the ledger encoded in an operation/trade ID.","required":false,"schema":{"type":"integer","minimum":1,"example":63490364}},{"in":"query","name":"start_time","description":"Inclusive UTC ISO timestamp ending in Z. Narrows the selected ledger window; not an all-history date search.","required":false,"schema":{"type":"string","format":"date-time"}},{"in":"query","name":"end_time","description":"Exclusive UTC ISO timestamp ending in Z.","required":false,"schema":{"type":"string","format":"date-time"}},{"in":"query","name":"limit","description":"Maximum returned rows, with one lookahead row for nextOffset.","required":false,"schema":{"type":"integer","minimum":1,"maximum":100,"default":25,"example":10}},{"in":"query","name":"offset","description":"Zero-based offset. Follow nextOffset with unchanged filters; narrow the window once offset exceeds 10000.","required":false,"schema":{"type":"integer","minimum":0,"maximum":10000,"default":0}},{"in":"query","name":"seller","description":"Exact seller.","required":false,"schema":{"type":"string"}},{"in":"query","name":"offer_id","description":"Exact offer id.","required":false,"schema":{"type":"string","pattern":"^-?[0-9]+$","example":"123"}},{"in":"query","name":"selling_asset","description":"native or CODE:ISSUER.","required":false,"schema":{"type":"string"}},{"in":"query","name":"buying_asset","description":"native or CODE:ISSUER.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Historical offer changes, including deleted offers. Detail is latest observed in this window, not the current order book. Amount strings retain source Float64 precision; price rational terms remain exact strings.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubbleExplorerOfferPage"}}}},"400":{"description":"Invalid identifier, unsupported filter, range, date or pagination input.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubbleError"}}}},"500":{"description":"Unexpected query failure (hubble_query_failed); no partial-success response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubbleError"}}}},"503":{"description":"Warehouse unavailable or server query budget exhausted; no partial-success response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubbleError"}}}}}}},"/v1/analytics/offers/{offerId}":{"get":{"operationId":"getParsedOffer","summary":"Locate a parsed offer","description":"Historical offer changes, including deleted offers. Detail is latest observed in this window, not the current order book. Amount strings retain source Float64 precision; price rational terms remain exact strings. Only completed matching batch/digest facts are visible. Maximum window span: 1000000 ledgers. The default window is the latest 64 parsed ledgers; date filters only narrow it. Check returned window and coverage. Offset pagination is not immutable under backfill; use narrower ledger windows for large histories. Missing data returns 404 only when the selected window is fully published, including supplemental ranges; otherwise 409 with coverage metadata.","tags":["Analytics"],"security":[],"parameters":[{"in":"path","name":"offerId","required":true,"description":"Exact decimal offer ID. Detail is the latest observed change within the selected window.","schema":{"type":"string","example":"1848813589"}},{"in":"query","name":"min_ledger","description":"Inclusive minimum ledger. Defaults to max_ledger minus 63, or the ledger encoded in an operation/trade ID.","required":false,"schema":{"type":"integer","minimum":1,"example":63490364}},{"in":"query","name":"max_ledger","description":"Inclusive maximum ledger. Defaults to the greatest published parsed ledger, or the ledger encoded in an operation/trade ID.","required":false,"schema":{"type":"integer","minimum":1,"example":63490364}},{"in":"query","name":"start_time","description":"Inclusive UTC ISO timestamp ending in Z. Narrows the selected ledger window; not an all-history date search.","required":false,"schema":{"type":"string","format":"date-time"}},{"in":"query","name":"end_time","description":"Exclusive UTC ISO timestamp ending in Z.","required":false,"schema":{"type":"string","format":"date-time"}},{"in":"query","name":"seller","description":"Exact seller.","required":false,"schema":{"type":"string"}},{"in":"query","name":"offer_id","description":"Exact offer id.","required":false,"schema":{"type":"string","pattern":"^-?[0-9]+$","example":"123"}},{"in":"query","name":"selling_asset","description":"native or CODE:ISSUER.","required":false,"schema":{"type":"string"}},{"in":"query","name":"buying_asset","description":"native or CODE:ISSUER.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Historical offer changes, including deleted offers. Detail is latest observed in this window, not the current order book. Amount strings retain source Float64 precision; price rational terms remain exact strings.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubbleExplorerOfferDetail"}}}},"400":{"description":"Invalid identifier, unsupported filter, range, date or pagination input.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubbleError"}}}},"404":{"description":"Not found in the fully ingested selected window.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubbleExplorerOfferNotFound"}}}},"409":{"description":"Selected window is not known fully ingested; absence is not proof of nonexistence.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubbleExplorerOfferNotFound"}}}},"500":{"description":"Unexpected query failure (hubble_query_failed); no partial-success response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubbleError"}}}},"503":{"description":"Warehouse unavailable or server query budget exhausted; no partial-success response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubbleError"}}}}}}},"/v1/analytics/trades/{tradeId}":{"get":{"operationId":"getParsedTrade","summary":"Locate a parsed trade","description":"Parsed trade records. Amount strings retain source Float64 precision and are explicitly marked source_float64; price rational terms and operation IDs remain exact strings. Only completed matching batch/digest facts are visible. Maximum window span: 1000000 ledgers. The default window is the latest 64 parsed ledgers; date filters only narrow it. Check returned window and coverage. Offset pagination is not immutable under backfill; use narrower ledger windows for large histories. Missing data returns 404 only when the selected window is fully published, including supplemental ranges; otherwise 409 with coverage metadata.","tags":["Analytics"],"security":[],"parameters":[{"in":"path","name":"tradeId","required":true,"description":"OPERATION_ID:ORDER, using the exact operation TOID and trade order.","schema":{"type":"string","example":"272689036991197185:0"}},{"in":"query","name":"min_ledger","description":"Inclusive minimum ledger. Defaults to max_ledger minus 63, or the ledger encoded in an operation/trade ID.","required":false,"schema":{"type":"integer","minimum":1,"example":63490364}},{"in":"query","name":"max_ledger","description":"Inclusive maximum ledger. Defaults to the greatest published parsed ledger, or the ledger encoded in an operation/trade ID.","required":false,"schema":{"type":"integer","minimum":1,"example":63490364}},{"in":"query","name":"start_time","description":"Inclusive UTC ISO timestamp ending in Z. Narrows the selected ledger window; not an all-history date search.","required":false,"schema":{"type":"string","format":"date-time"}},{"in":"query","name":"end_time","description":"Exclusive UTC ISO timestamp ending in Z.","required":false,"schema":{"type":"string","format":"date-time"}},{"in":"query","name":"seller","description":"Exact seller.","required":false,"schema":{"type":"string"}},{"in":"query","name":"buyer","description":"Exact buyer.","required":false,"schema":{"type":"string"}},{"in":"query","name":"selling_asset","description":"native or CODE:ISSUER.","required":false,"schema":{"type":"string"}},{"in":"query","name":"buying_asset","description":"native or CODE:ISSUER.","required":false,"schema":{"type":"string"}},{"in":"query","name":"operation_id","description":"Exact operation id.","required":false,"schema":{"type":"string","pattern":"^-?[0-9]+$","example":"123"}}],"responses":{"200":{"description":"Parsed trade records. Amount strings retain source Float64 precision and are explicitly marked source_float64; price rational terms and operation IDs remain exact strings.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubbleExplorerTradeDetail"}}}},"400":{"description":"Invalid identifier, unsupported filter, range, date or pagination input.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubbleError"}}}},"404":{"description":"Not found in the fully ingested selected window.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubbleExplorerTradeNotFound"}}}},"409":{"description":"Selected window is not known fully ingested; absence is not proof of nonexistence.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubbleExplorerTradeNotFound"}}}},"500":{"description":"Unexpected query failure (hubble_query_failed); no partial-success response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubbleError"}}}},"503":{"description":"Warehouse unavailable or server query budget exhausted; no partial-success response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubbleError"}}}}}}},"/v1/datasets":{"get":{"description":"Lists configured parsed datasets, their live ClickHouse columns, row estimates, and completed-batch ingestion coverage. Raw ETL datasets do not imply every curated Hubble model is available.","operationId":"listParsedDatasets","responses":{"200":{"content":{"application/json":{"schema":{"description":"Representative response shape and values, not a current coverage or availability report. One dataset with one column is shown for brevity; the live catalog returns all datasets and columns.","example":{"database":"stellar_hubble","coverage":{"completedRanges":[{"firstLedger":"2","lastLedger":"63489999"},{"firstLedger":"63490304","lastLedger":"63490367"}],"contiguousFirstLedger":"2","contiguousLastLedger":"63489999","contiguousLedgerCount":"63489998","supplementalLedgerCount":"64","totalLedgerCount":"63490062","nextLedger":"63490000","minimumLedger":"2","maximumLedger":"63490367","gapCount":1},"datasets":[{"columns":[{"name":"transaction_hash","position":1,"type":"String"}],"name":"history_transactions","rowCount":"25000000"}],"generatedAt":"2026-07-15T16:44:00.000Z","ingestion":{"completedBatches":"62002","failedBatches":"0","startedBatches":"1","minimumLedger":"2","maximumLedger":"63490367","totalRows":"125000000"},"officialSchemaSource":"stellar/stellar-etl"},"additionalProperties":false,"properties":{"database":{"type":"string"},"coverage":{"type":"object","additionalProperties":false,"properties":{"contiguousFirstLedger":{"type":"string","pattern":"^[0-9]+$","example":"2","nullable":true},"contiguousLastLedger":{"type":"string","pattern":"^[0-9]+$","example":"63489999","nullable":true},"contiguousLedgerCount":{"type":"string","pattern":"^[0-9]+$","example":"63489998"},"supplementalLedgerCount":{"type":"string","pattern":"^[0-9]+$","example":"64"},"totalLedgerCount":{"type":"string","pattern":"^[0-9]+$","example":"63490062"},"nextLedger":{"type":"string","pattern":"^[0-9]+$","example":"63490000"},"minimumLedger":{"type":"string","pattern":"^[0-9]+$","example":"2","nullable":true},"maximumLedger":{"type":"string","pattern":"^[0-9]+$","example":"63490367","nullable":true},"gapCount":{"type":"integer","minimum":0,"example":1},"completedRanges":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"firstLedger":{"type":"string","pattern":"^[0-9]+$","example":"63490304"},"lastLedger":{"type":"string","pattern":"^[0-9]+$","example":"63490367"}},"required":["firstLedger","lastLedger"]},"description":"Disjoint merged completed manifest intervals, including supplemental imports. An interval does not imply the earlier historical gap is ingested."}},"required":["contiguousFirstLedger","contiguousLastLedger","contiguousLedgerCount","supplementalLedgerCount","totalLedgerCount","nextLedger","minimumLedger","maximumLedger","gapCount"],"description":"Representative response shape and values, not a current coverage or availability report. Counts are distinct ingested ledgers, not rows or checkpoints. The sample deliberately contains one gap.","example":{"completedRanges":[{"firstLedger":"2","lastLedger":"63489999"},{"firstLedger":"63490304","lastLedger":"63490367"}],"contiguousFirstLedger":"2","contiguousLastLedger":"63489999","contiguousLedgerCount":"63489998","supplementalLedgerCount":"64","totalLedgerCount":"63490062","nextLedger":"63490000","minimumLedger":"2","maximumLedger":"63490367","gapCount":1}},"datasets":{"items":{"additionalProperties":false,"properties":{"columns":{"items":{"additionalProperties":false,"properties":{"name":{"type":"string"},"position":{"minimum":1,"type":"integer"},"type":{"type":"string"}},"required":["name","position","type"],"type":"object"},"type":"array"},"name":{"type":"string"},"rowCount":{"description":"Estimated active ClickHouse rows.","pattern":"^[0-9]+$","type":"string"}},"required":["columns","name","rowCount"],"type":"object"},"type":"array"},"generatedAt":{"format":"date-time","type":"string"},"ingestion":{"additionalProperties":false,"properties":{"completedBatches":{"type":"string","pattern":"^[0-9]+$"},"failedBatches":{"type":"string","pattern":"^[0-9]+$"},"maximumLedger":{"type":"string","nullable":true},"minimumLedger":{"type":"string","nullable":true},"startedBatches":{"type":"string","pattern":"^[0-9]+$"},"totalRows":{"type":"string","pattern":"^[0-9]+$"}},"required":["completedBatches","failedBatches","maximumLedger","minimumLedger","startedBatches","totalRows"],"type":"object"},"officialSchemaSource":{"type":"string"}},"required":["database","coverage","datasets","generatedAt","ingestion","officialSchemaSource"],"type":"object"}}},"description":"Live Hubble warehouse catalog."},"503":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"code":{"type":"string"},"error":{"type":"string"}},"required":["code","error"],"type":"object"}}},"description":"The Hubble warehouse is unavailable."}},"security":[],"summary":"List Hubble datasets","tags":["Analytics"]}},"/v1/datasets/{dataset}":{"get":{"description":"Returns one parsed table schema, ingestion metadata, completed ledger coverage, generation timestamp, and official schema source.","operationId":"getParsedDataset","parameters":[{"description":"Official Stellar ETL/Hubble table name returned by the dataset catalog.","in":"path","name":"dataset","required":true,"schema":{"example":"history_transactions","pattern":"^[a-z][a-z0-9_]*$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"description":"Representative response shape and values, not a current coverage or availability report. One representative column is shown; the real dataset response includes all columns.","example":{"database":"stellar_hubble","dataset":{"columns":[{"name":"transaction_hash","position":1,"type":"String"}],"name":"history_transactions","rowCount":"25000000"},"generatedAt":"2026-07-15T16:44:00.000Z","ingestion":{"completedBatches":"62002","failedBatches":"0","startedBatches":"1","minimumLedger":"2","maximumLedger":"63490367","totalRows":"125000000"},"coverage":{"completedRanges":[{"firstLedger":"2","lastLedger":"63489999"},{"firstLedger":"63490304","lastLedger":"63490367"}],"contiguousFirstLedger":"2","contiguousLastLedger":"63489999","contiguousLedgerCount":"63489998","supplementalLedgerCount":"64","totalLedgerCount":"63490062","nextLedger":"63490000","minimumLedger":"2","maximumLedger":"63490367","gapCount":1},"officialSchemaSource":"stellar/stellar-etl"},"additionalProperties":false,"properties":{"database":{"type":"string"},"dataset":{"additionalProperties":false,"properties":{"columns":{"items":{"additionalProperties":false,"properties":{"name":{"type":"string"},"position":{"minimum":1,"type":"integer"},"type":{"type":"string"}},"required":["name","position","type"],"type":"object"},"type":"array"},"name":{"type":"string"},"rowCount":{"description":"Estimated active ClickHouse rows.","pattern":"^[0-9]+$","type":"string"}},"required":["columns","name","rowCount"],"type":"object"},"generatedAt":{"format":"date-time","type":"string"},"ingestion":{"additionalProperties":false,"properties":{"completedBatches":{"type":"string","pattern":"^[0-9]+$"},"failedBatches":{"type":"string","pattern":"^[0-9]+$"},"maximumLedger":{"type":"string","nullable":true},"minimumLedger":{"type":"string","nullable":true},"startedBatches":{"type":"string","pattern":"^[0-9]+$"},"totalRows":{"type":"string","pattern":"^[0-9]+$"}},"required":["completedBatches","failedBatches","maximumLedger","minimumLedger","startedBatches","totalRows"],"type":"object"},"coverage":{"type":"object","additionalProperties":false,"properties":{"contiguousFirstLedger":{"type":"string","pattern":"^[0-9]+$","example":"2","nullable":true},"contiguousLastLedger":{"type":"string","pattern":"^[0-9]+$","example":"63489999","nullable":true},"contiguousLedgerCount":{"type":"string","pattern":"^[0-9]+$","example":"63489998"},"supplementalLedgerCount":{"type":"string","pattern":"^[0-9]+$","example":"64"},"totalLedgerCount":{"type":"string","pattern":"^[0-9]+$","example":"63490062"},"nextLedger":{"type":"string","pattern":"^[0-9]+$","example":"63490000"},"minimumLedger":{"type":"string","pattern":"^[0-9]+$","example":"2","nullable":true},"maximumLedger":{"type":"string","pattern":"^[0-9]+$","example":"63490367","nullable":true},"gapCount":{"type":"integer","minimum":0,"example":1},"completedRanges":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"firstLedger":{"type":"string","pattern":"^[0-9]+$","example":"63490304"},"lastLedger":{"type":"string","pattern":"^[0-9]+$","example":"63490367"}},"required":["firstLedger","lastLedger"]},"description":"Disjoint merged completed manifest intervals, including supplemental imports. An interval does not imply the earlier historical gap is ingested."}},"required":["contiguousFirstLedger","contiguousLastLedger","contiguousLedgerCount","supplementalLedgerCount","totalLedgerCount","nextLedger","minimumLedger","maximumLedger","gapCount"],"description":"Representative response shape and values, not a current coverage or availability report. Counts are distinct ingested ledgers, not rows or checkpoints. The sample deliberately contains one gap.","example":{"completedRanges":[{"firstLedger":"2","lastLedger":"63489999"},{"firstLedger":"63490304","lastLedger":"63490367"}],"contiguousFirstLedger":"2","contiguousLastLedger":"63489999","contiguousLedgerCount":"63489998","supplementalLedgerCount":"64","totalLedgerCount":"63490062","nextLedger":"63490000","minimumLedger":"2","maximumLedger":"63490367","gapCount":1}},"officialSchemaSource":{"type":"string"}},"required":["database","dataset","generatedAt","ingestion","coverage","officialSchemaSource"],"type":"object"}}},"description":"Hubble dataset schema with warehouse and ingestion metadata."},"400":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"code":{"type":"string"},"error":{"type":"string"}},"required":["code","error"],"type":"object"}}},"description":"The Hubble dataset is unknown."},"503":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"code":{"type":"string"},"error":{"type":"string"}},"required":["code","error"],"type":"object"}}},"description":"The Hubble warehouse is unavailable."}},"security":[],"summary":"Get a Hubble dataset schema","tags":["Analytics"]}},"/v1/datasets/{dataset}/records":{"get":{"description":"Queries one Hubble table. Any column may be a query parameter. Append __eq, __ne, __gt, __gte, __lt, __lte, __in, __contains, __is_null, or __is_not_null to select an operator. Use select for comma-separated columns and order with a minus prefix for descending order.","operationId":"queryParsedDatasetRecords","parameters":[{"description":"Official Stellar ETL/Hubble table name returned by the dataset catalog.","in":"path","name":"dataset","required":true,"schema":{"example":"history_transactions","pattern":"^[a-z][a-z0-9_]*$","type":"string"}},{"description":"Comma-separated response columns.","in":"query","name":"select","required":false,"schema":{"type":"string"}},{"description":"Comma-separated order columns; prefix a column with - for descending.","in":"query","name":"order","required":false,"schema":{"type":"string"}},{"in":"query","name":"limit","required":false,"schema":{"default":100,"maximum":1000,"minimum":1,"type":"integer"}},{"in":"query","name":"offset","required":false,"schema":{"default":0,"minimum":0,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"description":"Representative response shape and values, not a current coverage or availability report.","example":{"columns":["transaction_hash","ledger_sequence","account","successful"],"dataset":"history_transactions","elapsedMilliseconds":12.5,"limit":10,"offset":0,"rows":[{"transaction_hash":"446670351d9f2af449eda3bfa0e36c3e128e2720443293dd5b585b3bbadeb485","ledger_sequence":63490364,"account":"GCX7LOMYJM54CXJPNTDZPMFSTQTQJTR5XR4DKZXLSWJG3R4B7GOADWXZ","successful":true}]},"additionalProperties":false,"properties":{"columns":{"items":{"type":"string"},"type":"array"},"dataset":{"type":"string"},"elapsedMilliseconds":{"minimum":0,"type":"number"},"limit":{"minimum":1,"type":"integer"},"offset":{"minimum":0,"type":"integer"},"rows":{"items":{"additionalProperties":true,"type":"object"},"type":"array"},"nextOffset":{"type":"integer","minimum":0,"nullable":true,"description":"Possible next offset with unchanged filters; null when exhausted. A full final page may be followed by an empty page. No total-count query is performed."}},"required":["columns","dataset","elapsedMilliseconds","limit","offset","rows"],"type":"object"}}},"description":"Filtered Hubble rows."},"400":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"code":{"type":"string"},"error":{"type":"string"}},"required":["code","error"],"type":"object"}}},"description":"The Hubble query is invalid."},"503":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"code":{"type":"string"},"error":{"type":"string"}},"required":["code","error"],"type":"object"}}},"description":"The Hubble warehouse is unavailable."}},"security":[],"summary":"Query a Hubble dataset","tags":["Analytics"]}},"/v1/datasets/{dataset}/query":{"post":{"operationId":"queryParsedDataset","tags":["Analytics"],"security":[],"summary":"Filter or aggregate one parsed dataset","description":"Group matching parsed rows and calculate counts, exact distinct counts, sums, averages and extrema. Both minLedger and maxLedger are required and the inclusive range may cover at most 1,000,000 ledgers. At most 8 group columns, 16 metrics and 64 filters. orderBy names group columns or metric aliases; group keys break ties. No arbitrary SQL, joins, windows or current-state reconstruction. A partial coverage result is not a complete-history answer. Group keys and metrics are strings or null; Float sources and averages remain approximate. Empty count=0; empty sum/avg/min/max=null. Follow nextOffset with identical filters; continuing ingestion means pages are not snapshot-pinned.","parameters":[{"in":"path","name":"dataset","required":true,"schema":{"type":"string","example":"history_operations"},"description":"Dataset from /v1/analytics/datasets. If supplied in the body it must match this path."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"oneOf":[{"description":"Representative bounded query for one historical ledger. This example does not promise that the selected dataset range is currently ingested.","example":{"dataset":"history_transactions","select":["transaction_hash","ledger_sequence","account","successful"],"filters":[{"field":"ledger_sequence","operator":"eq","value":63490364}],"orderBy":[{"field":"id","direction":"asc"}],"limit":10,"offset":0},"additionalProperties":false,"properties":{"dataset":{"type":"string"},"filters":{"items":{"additionalProperties":false,"properties":{"field":{"type":"string"},"operator":{"default":"eq","enum":["contains","eq","gt","gte","in","is_not_null","is_null","lt","lte","ne"],"type":"string"},"value":{},"values":{"items":{},"maxItems":1000,"minItems":1,"type":"array"}},"required":["field"],"type":"object"},"type":"array"},"limit":{"default":100,"maximum":1000,"minimum":1,"type":"integer"},"offset":{"default":0,"minimum":0,"type":"integer"},"orderBy":{"items":{"additionalProperties":false,"properties":{"direction":{"default":"asc","enum":["asc","desc"],"type":"string"},"field":{"type":"string"}},"required":["field"],"type":"object"},"type":"array"},"select":{"items":{"type":"string"},"type":"array"}},"required":[],"type":"object"},{"type":"object","additionalProperties":false,"description":"Group matching parsed rows and calculate counts, exact distinct counts, sums, averages and extrema. Both minLedger and maxLedger are required and the inclusive range may cover at most 1,000,000 ledgers. At most 8 group columns, 16 metrics and 64 filters. orderBy names group columns or metric aliases; group keys break ties. No arbitrary SQL, joins, windows or current-state reconstruction. A partial coverage result is not a complete-history answer. Group keys and metrics are strings or null; Float sources and averages remain approximate. Empty count=0; empty sum/avg/min/max=null. Follow nextOffset with identical filters; continuing ingestion means pages are not snapshot-pinned.","properties":{"dataset":{"type":"string"},"filters":{"items":{"additionalProperties":false,"properties":{"field":{"type":"string"},"operator":{"default":"eq","enum":["contains","eq","gt","gte","in","is_not_null","is_null","lt","lte","ne"],"type":"string"},"value":{},"values":{"items":{},"maxItems":1000,"minItems":1,"type":"array"}},"required":["field"],"type":"object"},"type":"array","maxItems":64},"limit":{"type":"integer","minimum":1,"maximum":1000,"default":100},"offset":{"type":"integer","minimum":0,"maximum":10000,"default":0},"orderBy":{"items":{"additionalProperties":false,"properties":{"direction":{"default":"asc","enum":["asc","desc"],"type":"string"},"field":{"type":"string"}},"required":["field"],"type":"object"},"type":"array"},"groupBy":{"type":"array","items":{"type":"string"},"maxItems":8,"uniqueItems":true},"aggregations":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"function":{"type":"string","enum":["count","count_distinct","sum","avg","min","max"],"description":"count accepts an optional field and skips null field values; count_distinct is exact and skips nulls. sum/avg require numeric fields; min/max support scalar columns."},"field":{"type":"string","description":"Catalog column. Required except for count."},"alias":{"type":"string","pattern":"^[a-z][a-z0-9_]{0,63}$","example":"operations","description":"Unique output name that does not shadow a source column."}},"required":["function","alias"]},"minItems":1,"maxItems":16},"minLedger":{"type":"integer","minimum":1,"maximum":2147483647,"example":63490364},"maxLedger":{"type":"integer","minimum":1,"maximum":2147483647,"example":63490364}},"required":["aggregations","minLedger","maxLedger"]}],"description":"Group matching parsed rows and calculate counts, exact distinct counts, sums, averages and extrema. Both minLedger and maxLedger are required and the inclusive range may cover at most 1,000,000 ledgers. At most 8 group columns, 16 metrics and 64 filters. orderBy names group columns or metric aliases; group keys break ties. No arbitrary SQL, joins, windows or current-state reconstruction. A partial coverage result is not a complete-history answer. Group keys and metrics are strings or null; Float sources and averages remain approximate. Empty count=0; empty sum/avg/min/max=null. Follow nextOffset with identical filters; continuing ingestion means pages are not snapshot-pinned.","example":{"minLedger":63490364,"maxLedger":63490364,"groupBy":["type_string"],"aggregations":[{"function":"count","alias":"operations"}],"orderBy":[{"field":"operations","direction":"desc"}],"limit":20,"offset":0}},"examples":{"operationCounts":{"summary":"Operations by type in one ledger","value":{"minLedger":63490364,"maxLedger":63490364,"groupBy":["type_string"],"aggregations":[{"function":"count","alias":"operations"}],"orderBy":[{"field":"operations","direction":"desc"}],"limit":20,"offset":0}}}}}},"responses":{"200":{"description":"Matching rows or aggregates, with coverage and precision metadata for aggregates.","content":{"application/json":{"schema":{"oneOf":[{"description":"Representative response shape and values, not a current coverage or availability report.","example":{"columns":["transaction_hash","ledger_sequence","account","successful"],"dataset":"history_transactions","elapsedMilliseconds":12.5,"limit":10,"offset":0,"rows":[{"transaction_hash":"446670351d9f2af449eda3bfa0e36c3e128e2720443293dd5b585b3bbadeb485","ledger_sequence":63490364,"account":"GCX7LOMYJM54CXJPNTDZPMFSTQTQJTR5XR4DKZXLSWJG3R4B7GOADWXZ","successful":true}]},"additionalProperties":false,"properties":{"columns":{"items":{"type":"string"},"type":"array"},"dataset":{"type":"string"},"elapsedMilliseconds":{"minimum":0,"type":"number"},"limit":{"minimum":1,"type":"integer"},"offset":{"minimum":0,"type":"integer"},"rows":{"items":{"additionalProperties":true,"type":"object"},"type":"array"}},"required":["columns","dataset","elapsedMilliseconds","limit","offset","rows"],"type":"object"},{"description":"Representative response shape and values, not a current coverage or availability report. Group matching parsed rows and calculate counts, exact distinct counts, sums, averages and extrema. Both minLedger and maxLedger are required and the inclusive range may cover at most 1,000,000 ledgers. At most 8 group columns, 16 metrics and 64 filters. orderBy names group columns or metric aliases; group keys break ties. No arbitrary SQL, joins, windows or current-state reconstruction. A partial coverage result is not a complete-history answer. Group keys and metrics are strings or null; Float sources and averages remain approximate. Empty count=0; empty sum/avg/min/max=null. Follow nextOffset with identical filters; continuing ingestion means pages are not snapshot-pinned.","example":{"columns":["type_string","operations"],"dataset":"history_operations","elapsedMilliseconds":8.5,"limit":20,"offset":0,"rows":[{"type_string":"invoke_host_function","operations":"1"}],"nextOffset":null,"coverage":{"completedRanges":[{"firstLedger":"2","lastLedger":"63489999"},{"firstLedger":"63490304","lastLedger":"63490367"}],"contiguousFirstLedger":"2","contiguousLastLedger":"63489999","contiguousLedgerCount":"63489998","supplementalLedgerCount":"64","totalLedgerCount":"63490062","nextLedger":"63490000","minimumLedger":"2","maximumLedger":"63490367","gapCount":1},"coverageStatus":"complete","window":{"minLedger":63490364,"maxLedger":63490364},"aggregates":[{"alias":"operations","function":"count","field":null,"sourceType":null,"valueEncoding":"string-or-null","approximate":false}],"semantics":"Aggregates of completed, digest-matched rows; not reconstructed current state. Pagination is not snapshot-pinned."},"additionalProperties":false,"properties":{"columns":{"items":{"type":"string"},"type":"array"},"dataset":{"type":"string"},"elapsedMilliseconds":{"minimum":0,"type":"number"},"limit":{"minimum":1,"type":"integer"},"offset":{"minimum":0,"type":"integer"},"rows":{"items":{"additionalProperties":true,"type":"object"},"type":"array"},"nextOffset":{"type":"integer","minimum":0,"nullable":true},"coverage":{"type":"object","additionalProperties":false,"properties":{"contiguousFirstLedger":{"type":"string","pattern":"^[0-9]+$","example":"2","nullable":true},"contiguousLastLedger":{"type":"string","pattern":"^[0-9]+$","example":"63489999","nullable":true},"contiguousLedgerCount":{"type":"string","pattern":"^[0-9]+$","example":"63489998"},"supplementalLedgerCount":{"type":"string","pattern":"^[0-9]+$","example":"64"},"totalLedgerCount":{"type":"string","pattern":"^[0-9]+$","example":"63490062"},"nextLedger":{"type":"string","pattern":"^[0-9]+$","example":"63490000"},"minimumLedger":{"type":"string","pattern":"^[0-9]+$","example":"2","nullable":true},"maximumLedger":{"type":"string","pattern":"^[0-9]+$","example":"63490367","nullable":true},"gapCount":{"type":"integer","minimum":0,"example":1},"completedRanges":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"firstLedger":{"type":"string","pattern":"^[0-9]+$","example":"63490304"},"lastLedger":{"type":"string","pattern":"^[0-9]+$","example":"63490367"}},"required":["firstLedger","lastLedger"]},"description":"Disjoint merged completed manifest intervals, including supplemental imports. An interval does not imply the earlier historical gap is ingested."}},"required":["contiguousFirstLedger","contiguousLastLedger","contiguousLedgerCount","supplementalLedgerCount","totalLedgerCount","nextLedger","minimumLedger","maximumLedger","gapCount"],"description":"Representative response shape and values, not a current coverage or availability report. Counts are distinct ingested ledgers, not rows or checkpoints. The sample deliberately contains one gap.","example":{"completedRanges":[{"firstLedger":"2","lastLedger":"63489999"},{"firstLedger":"63490304","lastLedger":"63490367"}],"contiguousFirstLedger":"2","contiguousLastLedger":"63489999","contiguousLedgerCount":"63489998","supplementalLedgerCount":"64","totalLedgerCount":"63490062","nextLedger":"63490000","minimumLedger":"2","maximumLedger":"63490367","gapCount":1}},"coverageStatus":{"type":"string","enum":["complete","partial_or_unknown"]},"window":{"type":"object","additionalProperties":false,"properties":{"minLedger":{"type":"integer","minimum":1,"maximum":2147483647},"maxLedger":{"type":"integer","minimum":1,"maximum":2147483647}},"required":["minLedger","maxLedger"]},"aggregates":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"alias":{"type":"string"},"function":{"type":"string","enum":["count","count_distinct","sum","avg","min","max"]},"field":{"type":"string","nullable":true},"sourceType":{"type":"string","nullable":true},"valueEncoding":{"type":"string","enum":["string-or-null"]},"approximate":{"type":"boolean"}},"required":["alias","function","field","sourceType","valueEncoding","approximate"]}},"semantics":{"type":"string"}},"required":["columns","dataset","elapsedMilliseconds","limit","offset","rows","nextOffset","coverage","coverageStatus","window","aggregates","semantics"],"type":"object"}],"description":"Representative response shape and values, not a current coverage or availability report.","example":{"columns":["type_string","operations"],"dataset":"history_operations","elapsedMilliseconds":8.5,"limit":20,"offset":0,"rows":[{"type_string":"invoke_host_function","operations":"1"}],"nextOffset":null,"coverage":{"completedRanges":[{"firstLedger":"2","lastLedger":"63489999"},{"firstLedger":"63490304","lastLedger":"63490367"}],"contiguousFirstLedger":"2","contiguousLastLedger":"63489999","contiguousLedgerCount":"63489998","supplementalLedgerCount":"64","totalLedgerCount":"63490062","nextLedger":"63490000","minimumLedger":"2","maximumLedger":"63490367","gapCount":1},"coverageStatus":"complete","window":{"minLedger":63490364,"maxLedger":63490364},"aggregates":[{"alias":"operations","function":"count","field":null,"sourceType":null,"valueEncoding":"string-or-null","approximate":false}],"semantics":"Aggregates of completed, digest-matched rows; not reconstructed current state. Pagination is not snapshot-pinned."}}}}},"400":{"description":"Invalid columns, range, aggregation, filters or path/body mismatch.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"error":{"type":"string"}},"required":["code","error"]}}}},"503":{"description":"Warehouse unavailable; no successful empty result is substituted.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"error":{"type":"string"}},"required":["code","error"]}}}}}}},"/v1/datasets/{dataset}/schema":{"get":{"description":"Live column names, storage types and schema source. Uses the shared metadata catalogue; does not scan dataset records.","operationId":"getParsedDatasetSchema","parameters":[{"description":"Official Stellar ETL/Hubble table name returned by the dataset catalog.","in":"path","name":"dataset","required":true,"schema":{"example":"history_transactions","pattern":"^[a-z][a-z0-9_]*$","type":"string"}}],"responses":{"200":{"description":"Dataset columns and schema source.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["dataset","columns","officialSchemaSource"],"properties":{"dataset":{"type":"string"},"columns":{"type":"array","items":{"additionalProperties":false,"properties":{"name":{"type":"string"},"position":{"minimum":1,"type":"integer"},"type":{"type":"string"}},"required":["name","position","type"],"type":"object"}},"officialSchemaSource":{"type":"string"}}}}}},"400":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"code":{"type":"string"},"error":{"type":"string"}},"required":["code","error"],"type":"object"}}},"description":"The Hubble dataset is unknown."},"503":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"code":{"type":"string"},"error":{"type":"string"}},"required":["code","error"],"type":"object"}}},"description":"The Hubble warehouse is unavailable."}},"security":[],"summary":"Inspect a parsed dataset schema","tags":["Analytics"]}},"/v1/contracts/{contractId}/provenance":{"get":{"operationId":"getContractBuildProvenance","tags":["Explorer"],"security":[],"summary":"Inspect observed contract build provenance","description":"Reads the deployed contract executable and associated build attestation at the RPC-observed ledger. The observed ledger is not a promise that the response reflects the current network head. A verified build signature is not a security audit or a claim of reproducible builds; securityAudit remains not_assessed.","parameters":[{"name":"contractId","in":"path","required":true,"description":"Soroban contract C-address.","schema":{"type":"string","pattern":"^C[A-Z2-7]{55}$"}}],"responses":{"200":{"description":"Contract evidence observed at the reported RPC ledger. Build signature verification does not constitute a security audit or establish reproducible builds.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContractProvenance"}}}},"400":{"description":"The supplied contractId is not a valid C-address.","content":{"application/json":{"schema":{"type":"object","required":["code","error"],"properties":{"code":{"type":"string","enum":["invalid_contract"]},"error":{"type":"string"}}}}}},"503":{"description":"Contract evidence is unavailable or build verification is busy. Retry after the indicated delay.","headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer","minimum":0},"example":30}},"content":{"application/json":{"schema":{"type":"object","required":["code","error"],"properties":{"code":{"type":"string","enum":["contract_evidence_unavailable","verification_busy"]},"error":{"type":"string"}}}}}}}}},"/v1/markets/{base}/{quote}/candles":{"get":{"operationId":"getMarketCandles","summary":"Pair trade candles","tags":["Markets"],"security":[],"description":"OHLC and volumes from published classic DEX and native AMM trades in both directions. Open/close use ledger, operation and trade order after logical deduplication. Prices are in the exact quote asset; USDC is not automatically USD. Soroban swap events are not included. Returns ascending UTC bins with no fabricated empty candles. Time bounds are inclusive from and exclusive to. Defaults to up to 200 bins ending at the latest published source time within the latest 65536 ledgers. Supply both ledger bounds for older history, spanning at most 65536 ledgers. Coverage reports incomplete ingestion or time bounds outside the selected source window. Use adjacent, non-overlapping time windows for pagination; there is no offset. This bounded history slice is not a full-history rollup or a live-price guarantee.","parameters":[{"in":"path","name":"base","required":true,"schema":{"type":"string","example":"native","description":"native or exact CODE:ISSUER. Resolve SAC addresses through /v1/assets/{asset} first. Symbol-only identifiers are ambiguous."}},{"in":"path","name":"quote","required":true,"schema":{"type":"string","example":"native","description":"native or exact CODE:ISSUER. Resolve SAC addresses through /v1/assets/{asset} first. Symbol-only identifiers are ambiguous."}},{"in":"query","name":"from","schema":{"type":"integer","minimum":0,"maximum":4294967295},"description":"Inclusive Unix seconds. Supply with to."},{"in":"query","name":"to","schema":{"type":"integer","minimum":0,"maximum":4294967295},"description":"Exclusive Unix seconds. Supply with from."},{"in":"query","name":"resolution","schema":{"type":"integer","enum":[60,300,900,3600,14400,86400],"default":300}},{"in":"query","name":"limit","schema":{"type":"integer","minimum":1,"maximum":200,"default":200},"description":"Maximum time bins in the requested window. Oversized windows are rejected, never silently truncated."},{"in":"query","name":"min_ledger","schema":{"type":"integer","minimum":2,"maximum":4294967295}},{"in":"query","name":"max_ledger","schema":{"type":"integer","minimum":2,"maximum":4294967295}}],"responses":{"200":{"description":"Bounded candles and publication coverage.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MarketCandlePage"}}}},"400":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"code":{"type":"string"},"error":{"type":"string"}},"required":["code","error"],"type":"object"}}},"description":"Invalid or oversized asset/time/ledger selection."},"503":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"code":{"type":"string"},"error":{"type":"string"}},"required":["code","error"],"type":"object"}}},"description":"Market query unavailable or read capacity exceeded; no partial aggregates are returned."}}}},"/v1/public-goods/health":{"get":{"operationId":"getPublicGoodsHealth","summary":"Check public-goods readiness","tags":["Public goods"],"security":[],"description":"Read-only. Snapshot measurements are shared in memory for at most 60 seconds; concurrent refreshes are combined. Health additionally probes the warehouse live. Unavailable measurements are null, never invented zeroes. Exact large counters are decimal strings.","responses":{"200":{"description":"Available","headers":{"Cache-Control":{"schema":{"type":"string"},"description":"no-store; responses must not be cached by browsers or CDNs."}},"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["generatedAt","status","checks"],"properties":{"generatedAt":{"type":"string","format":"date-time"},"status":{"type":"string","enum":["ready","not_ready"]},"checks":{"type":"object","additionalProperties":false,"required":["clickhouse","publication","archive"],"properties":{"clickhouse":{"type":"object","additionalProperties":false,"required":["status","observedAt"],"properties":{"status":{"type":"string","enum":["ready","stale","empty","incomplete","unavailable"]},"observedAt":{"type":"string","format":"date-time","nullable":true}}},"publication":{"type":"object","additionalProperties":false,"required":["status","observedAt","latestCompletedAt"],"properties":{"status":{"type":"string","enum":["ready","stale","empty","incomplete","unavailable"]},"observedAt":{"type":"string","format":"date-time","nullable":true},"latestCompletedAt":{"type":"string","format":"date-time","nullable":true}}},"archive":{"type":"object","additionalProperties":false,"required":["status","observedAt","knownRoots","checkedRoots","checkedRootWindowHours","complete"],"properties":{"status":{"type":"string","enum":["ready","stale","empty","incomplete","unavailable"]},"observedAt":{"type":"string","format":"date-time","nullable":true},"knownRoots":{"type":"integer","minimum":0,"nullable":true},"checkedRoots":{"type":"integer","minimum":0,"nullable":true},"checkedRootWindowHours":{"type":"integer","enum":[24]},"complete":{"type":"boolean"}}}}}}}}}},"503":{"description":"A required check is unavailable, incomplete, empty, or stale. Latest completed publication must be within 24 hours; archive measurements must be fresh and include a recent observation.","headers":{"Cache-Control":{"schema":{"type":"string"},"description":"no-store; responses must not be cached by browsers or CDNs."}},"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["generatedAt","status","checks"],"properties":{"generatedAt":{"type":"string","format":"date-time"},"status":{"type":"string","enum":["ready","not_ready"]},"checks":{"type":"object","additionalProperties":false,"required":["clickhouse","publication","archive"],"properties":{"clickhouse":{"type":"object","additionalProperties":false,"required":["status","observedAt"],"properties":{"status":{"type":"string","enum":["ready","stale","empty","incomplete","unavailable"]},"observedAt":{"type":"string","format":"date-time","nullable":true}}},"publication":{"type":"object","additionalProperties":false,"required":["status","observedAt","latestCompletedAt"],"properties":{"status":{"type":"string","enum":["ready","stale","empty","incomplete","unavailable"]},"observedAt":{"type":"string","format":"date-time","nullable":true},"latestCompletedAt":{"type":"string","format":"date-time","nullable":true}}},"archive":{"type":"object","additionalProperties":false,"required":["status","observedAt","knownRoots","checkedRoots","checkedRootWindowHours","complete"],"properties":{"status":{"type":"string","enum":["ready","stale","empty","incomplete","unavailable"]},"observedAt":{"type":"string","format":"date-time","nullable":true},"knownRoots":{"type":"integer","minimum":0,"nullable":true},"checkedRoots":{"type":"integer","minimum":0,"nullable":true},"checkedRootWindowHours":{"type":"integer","enum":[24]},"complete":{"type":"boolean"}}}}}}}}}}}}},"/v1/public-goods/metrics":{"get":{"operationId":"getPublicGoodsMetrics","summary":"Read measured public-goods metrics","tags":["Public goods"],"security":[],"description":"Read-only. Snapshot measurements are shared in memory for at most 60 seconds; concurrent refreshes are combined. Health additionally probes the warehouse live. Unavailable measurements are null, never invented zeroes. Exact large counters are decimal strings.","responses":{"200":{"description":"Available","headers":{"Cache-Control":{"schema":{"type":"string"},"description":"no-store; responses must not be cached by browsers or CDNs."}},"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["generatedAt","publication","archives"],"properties":{"generatedAt":{"type":"string","format":"date-time"},"publication":{"type":"object","additionalProperties":false,"required":["observedAt","configuredDatasets","publishedDatasets","completedBatches","failedBatches","startedBatches","records","latestCompletedAt","maximumLedger"],"properties":{"observedAt":{"type":"string","format":"date-time","nullable":true},"configuredDatasets":{"type":"integer","minimum":0,"nullable":true},"publishedDatasets":{"type":"integer","minimum":0,"nullable":true,"description":"Publicly queryable datasets with nonzero measured active rows. Does not imply complete historical coverage."},"completedBatches":{"type":"string","pattern":"^\\d+$","nullable":true},"failedBatches":{"type":"string","pattern":"^\\d+$","nullable":true},"startedBatches":{"type":"string","pattern":"^\\d+$","nullable":true},"records":{"type":"string","pattern":"^\\d+$","nullable":true,"description":"Exact sum of projected rows recorded by completed ingestion manifests. Not physical part rows, unique ledgers, or unique transactions."},"latestCompletedAt":{"type":"string","format":"date-time","nullable":true},"maximumLedger":{"type":"string","pattern":"^\\d+$","nullable":true}}},"archives":{"type":"object","additionalProperties":false,"required":["observedAt","knownRoots","checkedRoots","checkedRootWindowHours","rootObjectsVerified","rootObjectsFailed","oldestEvidenceAt","newestEvidenceAt","complete"],"properties":{"observedAt":{"type":"string","format":"date-time","nullable":true},"knownRoots":{"type":"integer","minimum":0,"nullable":true},"checkedRoots":{"type":"integer","minimum":0,"nullable":true,"description":"Roots with a recorded source observation within the last 24 hours, including failed observations. Not roots with completely verified history."},"checkedRootWindowHours":{"type":"integer","enum":[24]},"rootObjectsVerified":{"type":"integer","minimum":0,"nullable":true,"description":"Roots whose root-state object is verified; not fully verified archive histories."},"rootObjectsFailed":{"type":"integer","minimum":0,"nullable":true},"oldestEvidenceAt":{"type":"string","format":"date-time","nullable":true},"newestEvidenceAt":{"type":"string","format":"date-time","nullable":true},"complete":{"type":"boolean","description":"Whether the source inventory used for these counts is complete and untruncated."}}}}}}}},"503":{"description":"At least one measurement source is unavailable. Available source measurements remain present.","headers":{"Cache-Control":{"schema":{"type":"string"},"description":"no-store; responses must not be cached by browsers or CDNs."}},"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["generatedAt","publication","archives"],"properties":{"generatedAt":{"type":"string","format":"date-time"},"publication":{"type":"object","additionalProperties":false,"required":["observedAt","configuredDatasets","publishedDatasets","completedBatches","failedBatches","startedBatches","records","latestCompletedAt","maximumLedger"],"properties":{"observedAt":{"type":"string","format":"date-time","nullable":true},"configuredDatasets":{"type":"integer","minimum":0,"nullable":true},"publishedDatasets":{"type":"integer","minimum":0,"nullable":true,"description":"Publicly queryable datasets with nonzero measured active rows. Does not imply complete historical coverage."},"completedBatches":{"type":"string","pattern":"^\\d+$","nullable":true},"failedBatches":{"type":"string","pattern":"^\\d+$","nullable":true},"startedBatches":{"type":"string","pattern":"^\\d+$","nullable":true},"records":{"type":"string","pattern":"^\\d+$","nullable":true,"description":"Exact sum of projected rows recorded by completed ingestion manifests. Not physical part rows, unique ledgers, or unique transactions."},"latestCompletedAt":{"type":"string","format":"date-time","nullable":true},"maximumLedger":{"type":"string","pattern":"^\\d+$","nullable":true}}},"archives":{"type":"object","additionalProperties":false,"required":["observedAt","knownRoots","checkedRoots","checkedRootWindowHours","rootObjectsVerified","rootObjectsFailed","oldestEvidenceAt","newestEvidenceAt","complete"],"properties":{"observedAt":{"type":"string","format":"date-time","nullable":true},"knownRoots":{"type":"integer","minimum":0,"nullable":true},"checkedRoots":{"type":"integer","minimum":0,"nullable":true,"description":"Roots with a recorded source observation within the last 24 hours, including failed observations. Not roots with completely verified history."},"checkedRootWindowHours":{"type":"integer","enum":[24]},"rootObjectsVerified":{"type":"integer","minimum":0,"nullable":true,"description":"Roots whose root-state object is verified; not fully verified archive histories."},"rootObjectsFailed":{"type":"integer","minimum":0,"nullable":true},"oldestEvidenceAt":{"type":"string","format":"date-time","nullable":true},"newestEvidenceAt":{"type":"string","format":"date-time","nullable":true},"complete":{"type":"boolean","description":"Whether the source inventory used for these counts is complete and untruncated."}}}}}}}}}}},"/v1/ledgers/{sequence}":{"get":{"description":"Returns one decoded Hubble ledger in the currently ingested range. Object route backed by the parsed StellarAtlas warehouse.","operationId":"getAnalyticsLedgerResource","parameters":[{"description":"Ledger sequence in the currently ingested Hubble range.","in":"path","name":"sequence","required":true,"schema":{"minimum":1,"type":"integer"}}],"responses":{"200":{"description":"Parsed ETL response from completed batches. IDs remain lossless strings where returned by the warehouse; legacy numeric fields are not upgraded to exact values.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubbleLedgerDetail"}}}},"400":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"code":{"type":"string"},"error":{"type":"string"}},"required":["code","error"],"type":"object"}}},"description":"The ledger sequence is invalid."},"404":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"code":{"type":"string"},"error":{"type":"string"}},"required":["code","error"],"type":"object"}}},"description":"The ledger is outside the ingested range."},"503":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"code":{"type":"string"},"error":{"type":"string"}},"required":["code","error"],"type":"object"}}},"description":"The analytics warehouse is unavailable."}},"security":[],"summary":"Locate a ledger","tags":["Explorer"]}},"/v1/ledgers/{sequence}/transactions":{"get":{"description":"Returns decoded transactions in one ledger with explicit offset pagination. Object route backed by the parsed StellarAtlas warehouse.","operationId":"listAnalyticsLedgerTransactionsResource","parameters":[{"description":"Ledger sequence in the currently ingested Hubble range.","in":"path","name":"sequence","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Maximum rows returned.","in":"query","name":"limit","required":false,"schema":{"default":100,"maximum":200,"minimum":1,"type":"integer"}},{"description":"Zero-based row offset. Follow nextOffset when present.","in":"query","name":"offset","required":false,"schema":{"default":0,"minimum":0,"type":"integer"}}],"responses":{"200":{"description":"Parsed ETL response from completed batches. IDs remain lossless strings where returned by the warehouse; legacy numeric fields are not upgraded to exact values.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubbleLedgerTransactionPage"}}}},"400":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"code":{"type":"string"},"error":{"type":"string"}},"required":["code","error"],"type":"object"}}},"description":"The ledger or pagination input is invalid."},"503":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"code":{"type":"string"},"error":{"type":"string"}},"required":["code","error"],"type":"object"}}},"description":"The analytics warehouse is unavailable."}},"security":[],"summary":"List transactions in a ledger","tags":["Explorer"]}},"/v1/operations/{operationId}":{"get":{"description":"Locates one operation and returns its decoded operation, transaction, and effects. Use view=typed for the additive parsed explorer representation. Parsed operations with exact identifiers and a bounded transaction-hash relationship. Details are legacy parsed values, not a guarantee of exact amounts; use typed transaction amounts for hash-verified envelope values. Only completed matching batch/digest facts are visible. Maximum window span: 1000000 ledgers. The default window is the latest 64 parsed ledgers; date filters only narrow it. Check returned window and coverage. Offset pagination is not immutable under backfill; use narrower ledger windows for large histories. Missing data returns 404 only when the selected window is fully published, including supplemental ranges; otherwise 409 with coverage metadata. Object route backed by the parsed StellarAtlas warehouse.","operationId":"getAnalyticsOperationResource","parameters":[{"in":"path","name":"operationId","required":true,"description":"Supported in both views; typed bounds described here. Exact decimal operation TOID; its encoded ledger is used automatically.","schema":{"type":"string","example":"272689036992143361"}},{"in":"query","name":"min_ledger","description":"Typed only (view=typed). Inclusive minimum ledger. Defaults to max_ledger minus 63, or the ledger encoded in an operation/trade ID.","required":false,"schema":{"type":"integer","minimum":1,"example":63490364}},{"in":"query","name":"max_ledger","description":"Typed only (view=typed). Inclusive maximum ledger. Defaults to the greatest published parsed ledger, or the ledger encoded in an operation/trade ID.","required":false,"schema":{"type":"integer","minimum":1,"example":63490364}},{"in":"query","name":"start_time","description":"Typed only (view=typed). Inclusive UTC ISO timestamp ending in Z. Narrows the selected ledger window; not an all-history date search.","required":false,"schema":{"type":"string","format":"date-time"}},{"in":"query","name":"end_time","description":"Typed only (view=typed). Exclusive UTC ISO timestamp ending in Z.","required":false,"schema":{"type":"string","format":"date-time"}},{"in":"query","name":"source_account","description":"Typed only (view=typed). Exact source account.","required":false,"schema":{"type":"string"}},{"in":"query","name":"type","description":"Typed only (view=typed). Exact numeric Stellar operation type code or stored snake_case name (24 or invoke_host_function).","required":false,"schema":{"type":"string"}},{"in":"query","name":"view","description":"Omit to retain the legacy response and limits. typed selects the bounded parsed explorer representation documented here.","required":false,"schema":{"type":"string","enum":["typed"],"example":"typed"}}],"responses":{"200":{"description":"Legacy response when view is omitted; typed explorer response when view=typed.","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/HubbleOperationDetail"},{"$ref":"#/components/schemas/HubbleExplorerOperationDetail"}]}}}},"400":{"description":"Invalid identifier, unsupported filter, range, date or pagination input.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubbleError"}}}},"404":{"description":"Not found in the fully ingested selected window.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubbleExplorerOperationNotFound"}}}},"409":{"description":"Selected window is not known fully ingested; absence is not proof of nonexistence.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubbleExplorerOperationNotFound"}}}},"500":{"description":"Unexpected query failure (hubble_query_failed); no partial-success response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubbleError"}}}},"503":{"description":"Warehouse unavailable or server query budget exhausted; no partial-success response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubbleError"}}}}},"security":[],"summary":"Locate an operation","tags":["Explorer"]}},"/v1/operations/{operationId}/effects":{"get":{"description":"Returns one page of decoded effects emitted by one operation. Follow nextOffset until null. Object route backed by the parsed StellarAtlas warehouse.","operationId":"listAnalyticsOperationEffectsResource","parameters":[{"description":"Lossless decimal Stellar operation identifier.","in":"path","name":"operationId","required":true,"schema":{"pattern":"^[0-9]{1,20}$","type":"string"}},{"description":"Maximum rows returned.","in":"query","name":"limit","required":false,"schema":{"default":100,"maximum":200,"minimum":1,"type":"integer"}},{"description":"Zero-based row offset. Follow nextOffset when present.","in":"query","name":"offset","required":false,"schema":{"default":0,"minimum":0,"type":"integer"}}],"responses":{"200":{"description":"Parsed ETL response from completed batches. IDs remain lossless strings where returned by the warehouse; legacy numeric fields are not upgraded to exact values.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubbleEffectPage"}}}},"400":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"code":{"type":"string"},"error":{"type":"string"}},"required":["code","error"],"type":"object"}}},"description":"The operation or pagination input is invalid."},"503":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"code":{"type":"string"},"error":{"type":"string"}},"required":["code","error"],"type":"object"}}},"description":"The analytics warehouse is unavailable."}},"security":[],"summary":"List operation effects","tags":["Explorer"]}},"/v1/accounts/{account}/effects":{"get":{"description":"Returns decoded effects attributed to one account, newest first. Object route backed by the parsed StellarAtlas warehouse.","operationId":"listAnalyticsAccountEffectsResource","parameters":[{"description":"Stellar G, M, or C address.","in":"path","name":"account","required":true,"schema":{"pattern":"^[GMC][A-Z2-7]{55,68}$","type":"string"}},{"description":"Inclusive minimum ledger sequence.","in":"query","name":"min_ledger","required":false,"schema":{"minimum":1,"type":"integer"}},{"description":"Inclusive maximum ledger sequence.","in":"query","name":"max_ledger","required":false,"schema":{"minimum":1,"type":"integer"}},{"description":"Maximum rows returned.","in":"query","name":"limit","required":false,"schema":{"default":100,"maximum":200,"minimum":1,"type":"integer"}},{"description":"Zero-based row offset. Follow nextOffset when present.","in":"query","name":"offset","required":false,"schema":{"default":0,"minimum":0,"type":"integer"}}],"responses":{"200":{"description":"Parsed ETL response from completed batches. IDs remain lossless strings where returned by the warehouse; legacy numeric fields are not upgraded to exact values.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubbleEffectPage"}}}},"400":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"code":{"type":"string"},"error":{"type":"string"}},"required":["code","error"],"type":"object"}}},"description":"The account, ledger range, or pagination input is invalid."},"503":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"code":{"type":"string"},"error":{"type":"string"}},"required":["code","error"],"type":"object"}}},"description":"The analytics warehouse is unavailable."}},"security":[],"summary":"List account effects","tags":["Explorer"]}},"/v1/trades":{"get":{"description":"Searches decoded trades by participant, asset, pool, and ledger range. Use view=typed for the additive parsed explorer representation. Parsed trade records. Amount strings retain source Float64 precision and are explicitly marked source_float64; price rational terms and operation IDs remain exact strings. Only completed matching batch/digest facts are visible. Maximum window span: 1000000 ledgers. The default window is the latest 64 parsed ledgers; date filters only narrow it. Check returned window and coverage. Offset pagination is not immutable under backfill; use narrower ledger windows for large histories.  Object route backed by the parsed StellarAtlas warehouse.","operationId":"searchAnalyticsTradesResource","parameters":[{"in":"query","name":"min_ledger","description":"Supported in both views; typed bounds described here. Inclusive minimum ledger. Defaults to max_ledger minus 63, or the ledger encoded in an operation/trade ID.","required":false,"schema":{"type":"integer","minimum":1,"example":63490364}},{"in":"query","name":"max_ledger","description":"Supported in both views; typed bounds described here. Inclusive maximum ledger. Defaults to the greatest published parsed ledger, or the ledger encoded in an operation/trade ID.","required":false,"schema":{"type":"integer","minimum":1,"example":63490364}},{"in":"query","name":"start_time","description":"Typed only (view=typed). Inclusive UTC ISO timestamp ending in Z. Narrows the selected ledger window; not an all-history date search.","required":false,"schema":{"type":"string","format":"date-time"}},{"in":"query","name":"end_time","description":"Typed only (view=typed). Exclusive UTC ISO timestamp ending in Z.","required":false,"schema":{"type":"string","format":"date-time"}},{"in":"query","name":"limit","description":"Supported in both views; typed bounds described here. Maximum returned rows, with one lookahead row for nextOffset.","required":false,"schema":{"type":"integer","minimum":1,"maximum":100,"default":25,"example":10}},{"in":"query","name":"offset","description":"Supported in both views; typed bounds described here. Zero-based offset. Follow nextOffset with unchanged filters; narrow the window once offset exceeds 10000.","required":false,"schema":{"type":"integer","minimum":0,"maximum":10000,"default":0}},{"in":"query","name":"seller","description":"Supported in both views; typed bounds described here. Exact seller.","required":false,"schema":{"type":"string"}},{"in":"query","name":"buyer","description":"Supported in both views; typed bounds described here. Exact buyer.","required":false,"schema":{"type":"string"}},{"in":"query","name":"selling_asset","description":"Typed only (view=typed). native or CODE:ISSUER.","required":false,"schema":{"type":"string"}},{"in":"query","name":"buying_asset","description":"Typed only (view=typed). native or CODE:ISSUER.","required":false,"schema":{"type":"string"}},{"in":"query","name":"operation_id","description":"Typed only (view=typed). Exact operation id.","required":false,"schema":{"type":"string","pattern":"^-?[0-9]+$","example":"123"}},{"in":"query","name":"selling_asset_code","required":false,"schema":{"type":"string"},"description":"Legacy only; omit view. Rejected with view=typed. "},{"in":"query","name":"selling_asset_issuer","required":false,"schema":{"type":"string"},"description":"Legacy only; omit view. Rejected with view=typed. "},{"in":"query","name":"buying_asset_code","required":false,"schema":{"type":"string"},"description":"Legacy only; omit view. Rejected with view=typed. "},{"in":"query","name":"buying_asset_issuer","required":false,"schema":{"type":"string"},"description":"Legacy only; omit view. Rejected with view=typed. "},{"in":"query","name":"liquidity_pool_id","required":false,"schema":{"type":"string"},"description":"Legacy only; omit view. Rejected with view=typed. "},{"in":"query","name":"view","description":"Omit to retain the legacy response and limits. typed selects the bounded parsed explorer representation documented here.","required":false,"schema":{"type":"string","enum":["typed"],"example":"typed"}}],"responses":{"200":{"description":"Legacy response when view is omitted; typed explorer response when view=typed.","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/HubbleLegacyTradePage"},{"$ref":"#/components/schemas/HubbleExplorerTradePage"}]}}}},"400":{"description":"Invalid identifier, unsupported filter, range, date or pagination input.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubbleError"}}}},"500":{"description":"Unexpected query failure (hubble_query_failed); no partial-success response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubbleError"}}}},"503":{"description":"Warehouse unavailable or server query budget exhausted; no partial-success response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubbleError"}}}}},"security":[],"summary":"Search trades","tags":["Explorer"]}},"/v1/contracts/{contractId}/state":{"get":{"description":"Returns decoded Soroban contract-data changes for one contract. Optional filters select a ledger key, durability, deletion state, and ledger range. Object route backed by the parsed StellarAtlas warehouse.","operationId":"listAnalyticsContractStateResource","parameters":[{"description":"Stellar C-address for a Soroban contract.","in":"path","name":"contractId","required":true,"schema":{"pattern":"^C[A-Z2-7]{55}$","type":"string"}},{"in":"query","name":"ledger_key_hash","required":false,"schema":{"type":"string"}},{"in":"query","name":"durability","required":false,"schema":{"type":"string"}},{"in":"query","name":"deleted","required":false,"schema":{"type":"boolean"}},{"description":"Inclusive minimum ledger sequence.","in":"query","name":"min_ledger","required":false,"schema":{"minimum":1,"type":"integer"}},{"description":"Inclusive maximum ledger sequence.","in":"query","name":"max_ledger","required":false,"schema":{"minimum":1,"type":"integer"}},{"description":"Maximum rows returned.","in":"query","name":"limit","required":false,"schema":{"default":100,"maximum":200,"minimum":1,"type":"integer"}},{"description":"Zero-based row offset. Follow nextOffset when present.","in":"query","name":"offset","required":false,"schema":{"default":0,"minimum":0,"type":"integer"}}],"responses":{"200":{"description":"Parsed ETL response from completed batches. IDs remain lossless strings where returned by the warehouse; legacy numeric fields are not upgraded to exact values.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubbleContractStatePage"}}}},"400":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"code":{"type":"string"},"error":{"type":"string"}},"required":["code","error"],"type":"object"}}},"description":"The contract or state filter is invalid."},"503":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"code":{"type":"string"},"error":{"type":"string"}},"required":["code","error"],"type":"object"}}},"description":"The analytics warehouse is unavailable."}},"security":[],"summary":"List Soroban contract state changes","tags":["Explorer"]}},"/v1/assets/{asset}/transfers":{"get":{"description":"Returns decoded transfers for native or CODE:ISSUER, with optional sender, recipient, transaction, and ledger filters. Object route backed by the parsed StellarAtlas warehouse.","operationId":"listAnalyticsAssetTransfersResource","parameters":[{"description":"native or URL-encoded CODE:ISSUER.","in":"path","name":"asset","required":true,"schema":{"example":"native","type":"string"}},{"in":"query","name":"from","required":false,"schema":{"type":"string"}},{"in":"query","name":"to","required":false,"schema":{"type":"string"}},{"description":"Restrict results to one transaction hash.","in":"query","name":"transaction_hash","required":false,"schema":{"pattern":"^[0-9a-fA-F]{64}$","type":"string"}},{"description":"Inclusive minimum ledger sequence.","in":"query","name":"min_ledger","required":false,"schema":{"minimum":1,"type":"integer"}},{"description":"Inclusive maximum ledger sequence.","in":"query","name":"max_ledger","required":false,"schema":{"minimum":1,"type":"integer"}},{"description":"Maximum rows returned.","in":"query","name":"limit","required":false,"schema":{"default":100,"maximum":200,"minimum":1,"type":"integer"}},{"description":"Zero-based row offset. Follow nextOffset when present.","in":"query","name":"offset","required":false,"schema":{"default":0,"minimum":0,"type":"integer"}}],"responses":{"200":{"description":"Parsed ETL response from completed batches. IDs remain lossless strings where returned by the warehouse; legacy numeric fields are not upgraded to exact values.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubbleLegacyTransferPage"}}}},"400":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"code":{"type":"string"},"error":{"type":"string"}},"required":["code","error"],"type":"object"}}},"description":"The asset or transfer filter is invalid."},"503":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"code":{"type":"string"},"error":{"type":"string"}},"required":["code","error"],"type":"object"}}},"description":"The analytics warehouse is unavailable."}},"security":[],"summary":"List asset transfers","tags":["Assets"]}},"/v1/accounts/{account}/transactions":{"get":{"description":"Returns transactions sourced by the account or linked through an operation effect, newest first. Object route backed by the parsed StellarAtlas warehouse.","operationId":"listAnalyticsAccountTransactionsResource","parameters":[{"description":"Stellar G, M, or C address.","in":"path","name":"account","required":true,"schema":{"pattern":"^[GMC][A-Z2-7]{55,68}$","type":"string"}},{"description":"Maximum rows returned.","in":"query","name":"limit","required":false,"schema":{"default":100,"maximum":200,"minimum":1,"type":"integer"}},{"description":"Zero-based row offset. Follow nextOffset when present.","in":"query","name":"offset","required":false,"schema":{"default":0,"minimum":0,"type":"integer"}}],"responses":{"200":{"description":"Parsed ETL response from completed batches. IDs remain lossless strings where returned by the warehouse; legacy numeric fields are not upgraded to exact values.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubbleAccountTransactionPage"}}}},"400":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"code":{"type":"string"},"error":{"type":"string"}},"required":["code","error"],"type":"object"}}},"description":"The account or pagination input is invalid."},"503":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"code":{"type":"string"},"error":{"type":"string"}},"required":["code","error"],"type":"object"}}},"description":"The analytics warehouse is unavailable."}},"security":[],"summary":"List account transaction activity","tags":["Explorer"]}},"/v1/transfers":{"get":{"description":"Searches decoded classic and contract token transfers. All supplied filters are combined. Object route backed by the parsed StellarAtlas warehouse.","operationId":"searchAnalyticsTransfersResource","parameters":[{"description":"Exact sender address.","in":"query","name":"from","required":false,"schema":{"type":"string"}},{"description":"Exact recipient address.","in":"query","name":"to","required":false,"schema":{"type":"string"}},{"description":"Exact normalized asset identifier.","in":"query","name":"asset","required":false,"schema":{"type":"string"}},{"description":"Classic asset code.","in":"query","name":"asset_code","required":false,"schema":{"maxLength":12,"type":"string"}},{"description":"Classic asset issuer.","in":"query","name":"asset_issuer","required":false,"schema":{"type":"string"}},{"description":"Soroban token contract address.","in":"query","name":"contract_id","required":false,"schema":{"type":"string"}},{"description":"Restrict results to one transaction hash.","in":"query","name":"transaction_hash","required":false,"schema":{"pattern":"^[0-9a-fA-F]{64}$","type":"string"}},{"description":"Inclusive minimum ledger sequence.","in":"query","name":"min_ledger","required":false,"schema":{"minimum":1,"type":"integer"}},{"description":"Inclusive maximum ledger sequence.","in":"query","name":"max_ledger","required":false,"schema":{"minimum":1,"type":"integer"}},{"description":"Maximum rows returned.","in":"query","name":"limit","required":false,"schema":{"default":100,"maximum":200,"minimum":1,"type":"integer"}},{"description":"Zero-based row offset. Follow nextOffset when present.","in":"query","name":"offset","required":false,"schema":{"default":0,"minimum":0,"type":"integer"}}],"responses":{"200":{"description":"Parsed ETL response from completed batches. IDs remain lossless strings where returned by the warehouse; legacy numeric fields are not upgraded to exact values.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubbleLegacyTransferPage"}}}},"400":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"code":{"type":"string"},"error":{"type":"string"}},"required":["code","error"],"type":"object"}}},"description":"A transfer filter is invalid."},"503":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"code":{"type":"string"},"error":{"type":"string"}},"required":["code","error"],"type":"object"}}},"description":"The analytics warehouse is unavailable."}},"security":[],"summary":"Search token transfers","tags":["Explorer"]}},"/v1/contracts/{contractId}/events":{"get":{"description":"Set view=typed for parsed events with exact identifiers, retained XDR/decoded JSON, and explicit classification. This includes system, contract, and diagnostic events: execution evidence does not imply success, and a native fee is not Soroban execution evidence. Typed pages support asc or desc ledger/row/batch/digest order (default desc), exact decoded topic-symbol filtering, and q search by exact G/C address, transaction hash, or ledger. The default typed window begins at ledger 2 and ends at the published maximum; explicit bounds and cursors pin the window. Typed pages use a cursor tied to selection filters and watermark. include_summary returns matched-selection total and up to 128 named topic counts independent of cursor/page; it is cached briefly and is not a frozen snapshot. Only completed ingestion batches are visible; coverage gaps are explicit. Omit view to retain the existing raw offset response. Object route backed by the parsed StellarAtlas warehouse.","operationId":"listAnalyticsContractEventsResource","parameters":[{"description":"Stellar C-address for a Soroban contract.","in":"path","name":"contractId","required":true,"schema":{"type":"string","pattern":"^C[A-Z2-7]{55}$","example":"CDL74RF5BLYR2YBLCCI7F5FB6TPSCLKEJUBSD2RSVWZ4YHF3VMFAIGWA"}},{"description":"Restrict results to one transaction hash.","in":"query","name":"transaction_hash","required":false,"schema":{"pattern":"^[0-9a-fA-F]{64}$","type":"string"}},{"description":"Inclusive ledger lower bound. Typed view defaults to ledger 2; maximum span: 2147483647 ledgers. Date filters additionally constrain this window.","in":"query","name":"min_ledger","required":false,"schema":{"type":"integer","minimum":1,"maximum":2147483647,"example":63490364}},{"description":"Inclusive ledger upper bound. Typed view defaults to the published maximum; maximum span: 2147483647 ledgers. Date filters additionally constrain this window.","in":"query","name":"max_ledger","required":false,"schema":{"type":"integer","minimum":1,"maximum":2147483647,"example":63490364}},{"description":"Maximum rows returned.","in":"query","name":"limit","required":false,"schema":{"default":100,"maximum":200,"minimum":1,"type":"integer"}},{"description":"Legacy view only; defaults to 0 when omitted. Must be omitted for view=typed: use after instead.","in":"query","name":"offset","required":false,"schema":{"type":"integer","minimum":0}},{"in":"query","name":"view","required":false,"schema":{"type":"string","enum":["typed"],"example":"typed"},"description":"Opt into the bounded typed cursor response; omit for legacy compatibility."},{"in":"query","name":"after","required":false,"schema":{"type":"string","minLength":1,"maxLength":2048},"description":"Typed only. Paste nextCursor and preserve all filters; limit may change."},{"in":"query","name":"start_time","required":false,"schema":{"type":"string","format":"date-time"},"description":"Typed only. Inclusive UTC timestamp ending in Z."},{"in":"query","name":"end_time","required":false,"schema":{"type":"string","format":"date-time"},"description":"Typed only. Exclusive UTC timestamp ending in Z."},{"in":"query","name":"type_code","required":false,"schema":{"type":"integer","enum":[0,1,2],"example":2},"description":"Typed only: system=0, contract=1, diagnostic=2."},{"in":"query","name":"successful","required":false,"schema":{"type":"boolean","example":false},"description":"Typed only. Transaction success; false selects failed transactions."},{"in":"query","name":"in_successful_contract_call","required":false,"schema":{"type":"boolean","example":false},"description":"Typed only. Stored event call-success flag."},{"in":"query","name":"order","required":false,"schema":{"type":"string","enum":["asc","desc"],"default":"desc"},"description":"Typed only; applies consistently to pages and cursor comparisons."},{"in":"query","name":"topic","required":false,"schema":{"type":"string","minLength":1,"maxLength":128},"description":"Typed only; exact decoded topic symbol filter."},{"in":"query","name":"q","required":false,"schema":{"type":"string","minLength":1,"maxLength":128},"description":"Typed only; exact G/C address, 64-hex transaction hash, or positive ledger sequence."},{"in":"query","name":"include_summary","required":false,"schema":{"type":"boolean","default":false},"description":"Typed only; include matched-selection total and top 128 decoded named topic counts, independent of cursor/page. Cached up to five minutes."}],"responses":{"200":{"description":"Parsed ETL response from completed batches. IDs remain lossless strings where returned by the warehouse; legacy numeric fields are not upgraded to exact values.","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/HubbleContractEventPage"},{"$ref":"#/components/schemas/HubbleTypedContractEventPage"}]}}}},"400":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"code":{"type":"string"},"error":{"type":"string"}},"required":["code","error"],"type":"object"}}},"description":"The contract or filter is invalid."},"500":{"description":"Unexpected bounded query failure.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubbleError"}}}},"503":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"code":{"type":"string"},"error":{"type":"string"}},"required":["code","error"],"type":"object"}}},"description":"The analytics warehouse is unavailable."}},"security":[],"summary":"List contract events","tags":["Explorer"]}},"/v1/assets/{asset}/holders":{"get":{"description":"Returns positive balances from each account’s latest published observation, optionally at or before as_of_ledger. Complete coverage requires continuous published history from the ledger-2 baseline through the selected ledger; otherwise results are partial or unknown. This is not a pinned current-chain snapshot. Balances retain source Float64 precision. Object route backed by the parsed StellarAtlas warehouse.","operationId":"listAnalyticsAssetHoldersResource","parameters":[{"description":"native or CODE:ISSUER.","in":"path","name":"asset","required":true,"schema":{"example":"native","type":"string"}},{"description":"Cursor returned as nextCursor. Reuse with unchanged asset, sort, order and as_of_ledger.","in":"query","name":"after","required":false,"schema":{"type":"string"}},{"description":"Sort by account ID or balance.","in":"query","name":"sort","required":false,"schema":{"type":"string","enum":["account","balance"],"default":"account"}},{"description":"Sort direction; balance ties always use account ID ascending.","in":"query","name":"order","required":false,"schema":{"type":"string","enum":["asc","desc"],"default":"asc"}},{"description":"Optional positive ledger upper bound. State is reconstructed only from published observations at or before this ledger; coverageStatus reports whether history is continuous from the baseline.","in":"query","name":"as_of_ledger","required":false,"schema":{"type":"integer","minimum":1,"maximum":4294967295}},{"description":"Maximum rows returned.","in":"query","name":"limit","required":false,"schema":{"default":100,"maximum":200,"minimum":1,"type":"integer"}}],"responses":{"200":{"description":"Parsed ETL response from completed batches. IDs remain lossless strings where returned by the warehouse; legacy numeric fields are not upgraded to exact values.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubbleHolderPage"}}}},"400":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"code":{"type":"string"},"error":{"type":"string"}},"required":["code","error"],"type":"object"}}},"description":"The asset or cursor is invalid."},"503":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"code":{"type":"string"},"error":{"type":"string"}},"required":["code","error"],"type":"object"}}},"description":"The analytics warehouse is unavailable."}},"security":[],"summary":"List asset holders","tags":["Assets"]}},"/v1/assets/{asset}/holders/{account}":{"get":{"description":"Returns one account’s latest observed positive balance from completed batches, not a guarantee of current-chain state when history has gaps. Coverage and watermark identify cached catalog observations, not a pinned snapshot or historical as-of state. Object route backed by the parsed StellarAtlas warehouse.","operationId":"getAnalyticsAssetHolderResource","parameters":[{"description":"native or CODE:ISSUER.","in":"path","name":"asset","required":true,"schema":{"example":"native","type":"string"}},{"description":"Stellar G, M, or C address.","in":"path","name":"account","required":true,"schema":{"pattern":"^[GMC][A-Z2-7]{55,68}$","type":"string"}}],"responses":{"200":{"description":"Parsed ETL response from completed batches. IDs remain lossless strings where returned by the warehouse; legacy numeric fields are not upgraded to exact values.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubbleHolderDetail"}}}},"400":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"code":{"type":"string"},"error":{"type":"string"}},"required":["code","error"],"type":"object"}}},"description":"The asset or account is invalid."},"404":{"description":"No positive balance in the latest ingested state for this account/asset. Coverage gaps mean this does not establish absence on the current chain.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubbleHolderNotFound"}}}},"503":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"code":{"type":"string"},"error":{"type":"string"}},"required":["code","error"],"type":"object"}}},"description":"The analytics warehouse is unavailable."}},"security":[],"summary":"Get one latest-ingested asset holder","tags":["Assets"]}},"/v1/assets/{asset}/balance-history":{"get":{"operationId":"listAnalyticsAssetBalanceHistoryResource","summary":"List asset balance history","description":"Returns one final published state per account and ledger, including zero and deleted records, sponsor, flags, liabilities, and trustline limits. This is historical parsed-state data, not a complete current balance inventory; coverage gaps and source Float64 precision are explicit. Object route backed by the parsed StellarAtlas warehouse.","parameters":[{"description":"native or URL-encoded CODE:ISSUER.","in":"path","name":"asset","required":true,"schema":{"example":"native","type":"string"}},{"description":"Inclusive minimum ledger sequence.","in":"query","name":"min_ledger","required":false,"schema":{"minimum":1,"type":"integer"}},{"description":"Inclusive maximum ledger sequence.","in":"query","name":"max_ledger","required":false,"schema":{"minimum":1,"type":"integer"}},{"in":"query","name":"start_time","required":false,"description":"Inclusive UTC timestamp ending in Z.","schema":{"type":"string","format":"date-time"}},{"in":"query","name":"end_time","required":false,"description":"Inclusive UTC timestamp ending in Z.","schema":{"type":"string","format":"date-time"}},{"description":"Maximum rows returned.","in":"query","name":"limit","required":false,"schema":{"default":100,"maximum":200,"minimum":1,"type":"integer"}},{"in":"query","name":"after","required":false,"description":"Opaque cursor bound to this selection and source-ledger window.","schema":{"type":"string","maxLength":2048}},{"in":"query","name":"order","required":false,"schema":{"type":"string","enum":["asc","desc"],"default":"desc"}},{"in":"query","name":"account","required":false,"description":"Optional checksum-valid G or C address.","schema":{"type":"string","pattern":"^[GC][A-Z2-7]{55}$"}}],"security":[],"tags":["Assets"],"responses":{"200":{"description":"Returns one final published state per account and ledger, including zero and deleted records, sponsor, flags, liabilities, and trustline limits. This is historical parsed-state data, not a complete current balance inventory; coverage gaps and source Float64 precision are explicit.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubbleAssetBalanceHistoryPage"}}}},"400":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"code":{"type":"string"},"error":{"type":"string"}},"required":["code","error"],"type":"object"}}},"description":"Invalid asset, range, filter, or cursor."},"503":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"code":{"type":"string"},"error":{"type":"string"}},"required":["code","error"],"type":"object"}}},"description":"The Hubble read model is unavailable."}}}},"/v1/assets/{asset}/rankings":{"get":{"operationId":"listAnalyticsAssetRankingsResource","summary":"Rank accounts by asset trade activity","description":"Normalizes seller/taker sides across classic orderbook and native AMM trade observations. transaction_count is distinct trading transactions represented by matching trade rows, not every transfer transaction. Does not cover Soroban contract pools. Amounts retain source Float64 precision; selection is not a complete current market view. Object route backed by the parsed StellarAtlas warehouse.","parameters":[{"description":"native or URL-encoded CODE:ISSUER.","in":"path","name":"asset","required":true,"schema":{"example":"native","type":"string"}},{"description":"Inclusive minimum ledger sequence.","in":"query","name":"min_ledger","required":false,"schema":{"minimum":1,"type":"integer"}},{"description":"Inclusive maximum ledger sequence.","in":"query","name":"max_ledger","required":false,"schema":{"minimum":1,"type":"integer"}},{"in":"query","name":"start_time","required":false,"description":"Inclusive UTC timestamp ending in Z.","schema":{"type":"string","format":"date-time"}},{"in":"query","name":"end_time","required":false,"description":"Inclusive UTC timestamp ending in Z.","schema":{"type":"string","format":"date-time"}},{"description":"Maximum rows returned.","in":"query","name":"limit","required":false,"schema":{"default":100,"maximum":200,"minimum":1,"type":"integer"}},{"in":"query","name":"after","required":false,"description":"Opaque cursor bound to this selection and source-ledger window.","schema":{"type":"string","maxLength":2048}},{"in":"query","name":"order","required":false,"schema":{"type":"string","enum":["asc","desc"],"default":"desc"}},{"in":"query","name":"metric","required":false,"schema":{"type":"string","enum":["bought","sold","volume","transactions"],"default":"volume"}},{"in":"query","name":"counter_asset","required":false,"description":"Exact native or CODE:ISSUER counter asset.","schema":{"type":"string"}},{"in":"query","name":"account","required":false,"description":"Optional checksum-valid G or C address.","schema":{"type":"string","pattern":"^[GC][A-Z2-7]{55}$"}}],"security":[],"tags":["Assets"],"responses":{"200":{"description":"Normalizes seller/taker sides across classic orderbook and native AMM trade observations. transaction_count is distinct trading transactions represented by matching trade rows, not every transfer transaction. Does not cover Soroban contract pools. Amounts retain source Float64 precision; selection is not a complete current market view.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubbleAssetRankingPage"}}}},"400":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"code":{"type":"string"},"error":{"type":"string"}},"required":["code","error"],"type":"object"}}},"description":"Invalid asset, range, filter, or cursor."},"503":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"code":{"type":"string"},"error":{"type":"string"}},"required":["code","error"],"type":"object"}}},"description":"The Hubble read model is unavailable."}}}},"/v1/activity/transfers":{"get":{"operationId":"searchAnalyticsTransferActivityResource","summary":"Search exact token-transfer activity","description":"Typed, lossless token-transfer activity from completed matching-source batches. When bounds are omitted, searches the latest 100000 published ledgers; dates narrow that ledger window, not all history. Responses state the effective ledger window. Maximum requested span is 1000000 ledgers. Keyset cursors preserve total ordering and the initial ledger watermark, but are NOT frozen database snapshots: backfills, retries, and republication can change visibility. Ingested-only is not a claim of gap-free history. Queries use the server-managed read-only profile for time, memory, and result budgets; exhaustion fails instead of returning partial success. eventTopic is the source event category, not an inferred payment classification. Object route backed by the parsed StellarAtlas warehouse.","tags":["Explorer"],"security":[],"parameters":[{"in":"query","name":"account","description":"Either sender, recipient, or muxed recipient. Directional filters are combined with AND.","required":false,"schema":{"type":"string"}},{"in":"query","name":"from","description":"Exact sender G, C, or M address.","required":false,"schema":{"type":"string"}},{"in":"query","name":"to","description":"Exact recipient G, C, or M address.","required":false,"schema":{"type":"string"}},{"in":"query","name":"asset","description":"native or CODE:ISSUER; contract tokens can instead use contract_id.","required":false,"schema":{"type":"string","example":"native"}},{"in":"query","name":"contract_id","description":"Exact token contract C-address.","required":false,"schema":{"type":"string"}},{"in":"query","name":"transaction_hash","description":"64-character hexadecimal transaction hash.","required":false,"schema":{"type":"string"}},{"in":"query","name":"event_topic","description":"Source event category. Select transfer for transfer events; omitted includes fees, mints, burns, and clawbacks.","required":false,"schema":{"type":"string","enum":["transfer","mint","burn","clawback","fee"],"example":"transfer"}},{"in":"query","name":"start_time","description":"Inclusive UTC ISO timestamp ending in Z; additionally narrows the stated ledger range.","required":false,"schema":{"type":"string","format":"date-time"}},{"in":"query","name":"end_time","description":"Exclusive UTC ISO timestamp ending in Z.","required":false,"schema":{"type":"string","format":"date-time"}},{"in":"query","name":"min_ledger","description":"Inclusive minimum ledger. Use explicit bounds for historical date searches.","required":false,"schema":{"type":"integer","minimum":1,"example":26000000}},{"in":"query","name":"max_ledger","description":"Inclusive maximum ledger, capped to published ingestion watermark. At most 1000000 ledgers per query.","required":false,"schema":{"type":"integer","minimum":1,"example":26000099}},{"in":"query","name":"amount_raw","description":"Exact atomic units, canonical non-negative Int128 integer string; no exponent, fraction, or Float64 conversion.","required":false,"schema":{"type":"string"}},{"in":"query","name":"min_amount_raw","description":"Inclusive exact minimum atomic units (integer string).","required":false,"schema":{"type":"string"}},{"in":"query","name":"max_amount_raw","description":"Inclusive exact maximum atomic units (integer string).","required":false,"schema":{"type":"string"}},{"in":"query","name":"limit","description":"Requested rows; fetches one extra row to determine nextCursor. Excess limits are rejected.","required":false,"schema":{"type":"integer","minimum":1,"maximum":200,"default":100,"example":10}},{"in":"query","name":"after","description":"Opaque nextCursor from the previous page. Keep all filters unchanged.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Typed transfer page; atomic amounts and IDs are strings.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubbleTransferPage"}}}},"400":{"description":"Invalid or conflicting filters, cursor, or oversized range."},"503":{"description":"Warehouse unavailable or bounded query budget exceeded; narrow the range or retry."}}}},"/v1/accounts/{account}/activity/transfers":{"get":{"operationId":"listAnalyticsAccountTransferActivityResource","summary":"List account transfer activity","description":"Typed, lossless token-transfer activity from completed matching-source batches. When bounds are omitted, searches the latest 100000 published ledgers; dates narrow that ledger window, not all history. Responses state the effective ledger window. Maximum requested span is 1000000 ledgers. Keyset cursors preserve total ordering and the initial ledger watermark, but are NOT frozen database snapshots: backfills, retries, and republication can change visibility. Ingested-only is not a claim of gap-free history. Queries use the server-managed read-only profile for time, memory, and result budgets; exhaustion fails instead of returning partial success. eventTopic is the source event category, not an inferred payment classification. Object route backed by the parsed StellarAtlas warehouse.","tags":["Explorer"],"security":[],"parameters":[{"in":"path","name":"account","required":true,"description":"Stellar G, C, or M address.","schema":{"type":"string"}},{"in":"query","name":"from","description":"Exact sender G, C, or M address.","required":false,"schema":{"type":"string"}},{"in":"query","name":"to","description":"Exact recipient G, C, or M address.","required":false,"schema":{"type":"string"}},{"in":"query","name":"asset","description":"native or CODE:ISSUER; contract tokens can instead use contract_id.","required":false,"schema":{"type":"string","example":"native"}},{"in":"query","name":"contract_id","description":"Exact token contract C-address.","required":false,"schema":{"type":"string"}},{"in":"query","name":"transaction_hash","description":"64-character hexadecimal transaction hash.","required":false,"schema":{"type":"string"}},{"in":"query","name":"event_topic","description":"Source event category. Select transfer for transfer events; omitted includes fees, mints, burns, and clawbacks.","required":false,"schema":{"type":"string","enum":["transfer","mint","burn","clawback","fee"],"example":"transfer"}},{"in":"query","name":"start_time","description":"Inclusive UTC ISO timestamp ending in Z; additionally narrows the stated ledger range.","required":false,"schema":{"type":"string","format":"date-time"}},{"in":"query","name":"end_time","description":"Exclusive UTC ISO timestamp ending in Z.","required":false,"schema":{"type":"string","format":"date-time"}},{"in":"query","name":"min_ledger","description":"Inclusive minimum ledger. Use explicit bounds for historical date searches.","required":false,"schema":{"type":"integer","minimum":1,"example":26000000}},{"in":"query","name":"max_ledger","description":"Inclusive maximum ledger, capped to published ingestion watermark. At most 1000000 ledgers per query.","required":false,"schema":{"type":"integer","minimum":1,"example":26000099}},{"in":"query","name":"amount_raw","description":"Exact atomic units, canonical non-negative Int128 integer string; no exponent, fraction, or Float64 conversion.","required":false,"schema":{"type":"string"}},{"in":"query","name":"min_amount_raw","description":"Inclusive exact minimum atomic units (integer string).","required":false,"schema":{"type":"string"}},{"in":"query","name":"max_amount_raw","description":"Inclusive exact maximum atomic units (integer string).","required":false,"schema":{"type":"string"}},{"in":"query","name":"limit","description":"Requested rows; fetches one extra row to determine nextCursor. Excess limits are rejected.","required":false,"schema":{"type":"integer","minimum":1,"maximum":200,"default":100,"example":10}},{"in":"query","name":"after","description":"Opaque nextCursor from the previous page. Keep all filters unchanged.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Typed transfer page; atomic amounts and IDs are strings.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubbleTransferPage"}}}},"400":{"description":"Invalid or conflicting filters, cursor, or oversized range."},"503":{"description":"Warehouse unavailable or bounded query budget exceeded; narrow the range or retry."}}}},"/v1/assets/{asset}/activity/transfers":{"get":{"operationId":"listAnalyticsAssetTransferActivityResource","summary":"List asset transfer activity","description":"Typed, lossless token-transfer activity from completed matching-source batches. When bounds are omitted, searches the latest 100000 published ledgers; dates narrow that ledger window, not all history. Responses state the effective ledger window. Maximum requested span is 1000000 ledgers. Keyset cursors preserve total ordering and the initial ledger watermark, but are NOT frozen database snapshots: backfills, retries, and republication can change visibility. Ingested-only is not a claim of gap-free history. Queries use the server-managed read-only profile for time, memory, and result budgets; exhaustion fails instead of returning partial success. eventTopic is the source event category, not an inferred payment classification. Object route backed by the parsed StellarAtlas warehouse.","tags":["Assets"],"security":[],"parameters":[{"in":"path","name":"asset","required":true,"description":"native or URL-encoded CODE:ISSUER.","schema":{"type":"string","example":"native"}},{"in":"query","name":"account","description":"Either sender, recipient, or muxed recipient. Directional filters are combined with AND.","required":false,"schema":{"type":"string"}},{"in":"query","name":"from","description":"Exact sender G, C, or M address.","required":false,"schema":{"type":"string"}},{"in":"query","name":"to","description":"Exact recipient G, C, or M address.","required":false,"schema":{"type":"string"}},{"in":"query","name":"contract_id","description":"Exact token contract C-address.","required":false,"schema":{"type":"string"}},{"in":"query","name":"transaction_hash","description":"64-character hexadecimal transaction hash.","required":false,"schema":{"type":"string"}},{"in":"query","name":"event_topic","description":"Source event category. Select transfer for transfer events; omitted includes fees, mints, burns, and clawbacks.","required":false,"schema":{"type":"string","enum":["transfer","mint","burn","clawback","fee"],"example":"transfer"}},{"in":"query","name":"start_time","description":"Inclusive UTC ISO timestamp ending in Z; additionally narrows the stated ledger range.","required":false,"schema":{"type":"string","format":"date-time"}},{"in":"query","name":"end_time","description":"Exclusive UTC ISO timestamp ending in Z.","required":false,"schema":{"type":"string","format":"date-time"}},{"in":"query","name":"min_ledger","description":"Inclusive minimum ledger. Use explicit bounds for historical date searches.","required":false,"schema":{"type":"integer","minimum":1,"example":26000000}},{"in":"query","name":"max_ledger","description":"Inclusive maximum ledger, capped to published ingestion watermark. At most 1000000 ledgers per query.","required":false,"schema":{"type":"integer","minimum":1,"example":26000099}},{"in":"query","name":"amount_raw","description":"Exact atomic units, canonical non-negative Int128 integer string; no exponent, fraction, or Float64 conversion.","required":false,"schema":{"type":"string"}},{"in":"query","name":"min_amount_raw","description":"Inclusive exact minimum atomic units (integer string).","required":false,"schema":{"type":"string"}},{"in":"query","name":"max_amount_raw","description":"Inclusive exact maximum atomic units (integer string).","required":false,"schema":{"type":"string"}},{"in":"query","name":"limit","description":"Requested rows; fetches one extra row to determine nextCursor. Excess limits are rejected.","required":false,"schema":{"type":"integer","minimum":1,"maximum":200,"default":100,"example":10}},{"in":"query","name":"after","description":"Opaque nextCursor from the previous page. Keep all filters unchanged.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Typed transfer page; atomic amounts and IDs are strings.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubbleTransferPage"}}}},"400":{"description":"Invalid or conflicting filters, cursor, or oversized range."},"503":{"description":"Warehouse unavailable or bounded query budget exceeded; narrow the range or retry."}}}},"/v1/accounts/{account}/balances":{"get":{"operationId":"listAnalyticsAccountBalancesResource","summary":"List one account’s latest-ingested balances","tags":["Explorer"],"security":[],"description":"Reads native and issued-asset balances from completed parsed batches, including zero balances and honoring observed deletions. Liquidity-pool shares and arbitrary Soroban-token balances are outside this scope. Float64 source observations are not exact atomic amounts. Coverage is partial while ingestion continues and is not a pinned snapshot. An empty200 does not establish absence on the current chain. Only after and limit are supported; current/as-of ledger or time filters are rejected. Object route backed by the parsed StellarAtlas warehouse.","parameters":[{"in":"path","name":"account","required":true,"description":"Checksum-valid Stellar Ed25519 G address.","schema":{"type":"string","pattern":"^G[A-Z2-7]{55}$","example":"GASNOA72CECDUZ5GEUK6WFINSASEG6R3WYZB2DE2CGDU7YI7GC2QPSFX"}},{"in":"query","name":"after","required":false,"description":"Opaque nextCursor from the preceding page for this exact account.","schema":{"type":"string","maxLength":512}},{"in":"query","name":"limit","required":false,"schema":{"type":"integer","minimum":1,"maximum":200,"default":100}}],"responses":{"200":{"description":"Latest ingested native and issued balances; an empty page is valid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubbleAccountBalancePage"}}}},"400":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"code":{"type":"string"},"error":{"type":"string"}},"required":["code","error"],"type":"object"}}},"description":"Invalid account, cursor, limit or unsupported query parameter."},"503":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"code":{"type":"string"},"error":{"type":"string"}},"required":["code","error"],"type":"object"}}},"description":"The parsed warehouse is unavailable."}}}},"/v1/liquidity-pools":{"get":{"operationId":"listParsedLiquidityPoolsResource","summary":"List parsed liquidity-pools","description":"Native protocol liquidity-pool change observations, including removals; not contract AMMs. Rows are not distinct pools or a current inventory. Reserves and shares retain source Float64 precision. Removal rows expose null state values rather than fabricated zero balances. Only completed matching batch/digest facts are visible. Maximum window span: 1000000 ledgers. The default window is the latest 64 parsed ledgers; date filters only narrow it. Check returned window and coverage. Offset pagination is not immutable under backfill; use narrower ledger windows for large histories.  Object route backed by the parsed StellarAtlas warehouse.","tags":["Explorer"],"security":[],"parameters":[{"in":"query","name":"min_ledger","description":"Inclusive minimum ledger. Defaults to max_ledger minus 63, or the ledger encoded in an operation/trade ID.","required":false,"schema":{"type":"integer","minimum":1,"example":63491202}},{"in":"query","name":"max_ledger","description":"Inclusive maximum ledger. Defaults to the greatest published parsed ledger, or the ledger encoded in an operation/trade ID.","required":false,"schema":{"type":"integer","minimum":1,"example":63491202}},{"in":"query","name":"start_time","description":"Inclusive UTC ISO timestamp ending in Z. Narrows the selected ledger window; not an all-history date search.","required":false,"schema":{"type":"string","format":"date-time"}},{"in":"query","name":"end_time","description":"Exclusive UTC ISO timestamp ending in Z.","required":false,"schema":{"type":"string","format":"date-time"}},{"in":"query","name":"limit","description":"Maximum returned rows, with one lookahead row for nextOffset.","required":false,"schema":{"type":"integer","minimum":1,"maximum":100,"default":25,"example":10}},{"in":"query","name":"offset","description":"Zero-based offset. Follow nextOffset with unchanged filters; narrow the window once offset exceeds 10000.","required":false,"schema":{"type":"integer","minimum":0,"maximum":10000,"default":0}},{"in":"query","name":"order_by","description":"Sort key for latest pool snapshots when no historical window is supplied; in historical mode sorts observations in the selected window.","required":false,"schema":{"type":"string","enum":["pool","asset_a","asset_b","reserve_a","reserve_b","shares","trustlines","fee","ledger","time"],"default":"trustlines"}},{"in":"query","name":"order","description":"Sort direction for latest snapshots or historical observations.","required":false,"schema":{"type":"string","enum":["asc","desc"],"default":"desc"}},{"in":"query","name":"pool_id","description":"Exact pool id.","required":false,"schema":{"type":"string"}},{"in":"query","name":"asset_a","description":"native or CODE:ISSUER.","required":false,"schema":{"type":"string"}},{"in":"query","name":"asset_b","description":"native or CODE:ISSUER.","required":false,"schema":{"type":"string"}},{"in":"query","name":"deleted","description":"Exact deleted.","required":false,"schema":{"type":"string","enum":["true","false"]}}],"responses":{"200":{"description":"Native protocol liquidity-pool change observations, including removals; not contract AMMs. Rows are not distinct pools or a current inventory. Reserves and shares retain source Float64 precision. Removal rows expose null state values rather than fabricated zero balances.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubbleExplorerLiquidityPoolPage"}}}},"400":{"description":"Invalid identifier, unsupported filter, range, date or pagination input.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubbleError"}}}},"500":{"description":"Unexpected query failure (hubble_query_failed); no partial-success response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubbleError"}}}},"503":{"description":"Warehouse unavailable or server query budget exhausted; no partial-success response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubbleError"}}}}}}},"/v1/liquidity-pools/{poolId}":{"get":{"operationId":"getParsedLiquidityPoolResource","summary":"Locate a parsed liquidity-pool","description":"Native protocol liquidity-pool change observations, including removals; not contract AMMs. Rows are not distinct pools or a current inventory. Reserves and shares retain source Float64 precision. Removal rows expose null state values rather than fabricated zero balances. Only completed matching batch/digest facts are visible. Maximum window span: 1000000 ledgers. The default window is the latest 64 parsed ledgers; date filters only narrow it. Check returned window and coverage. Offset pagination is not immutable under backfill; use narrower ledger windows for large histories. Missing data returns 404 only when the selected window is fully published, including supplemental ranges; otherwise 409 with coverage metadata. Object route backed by the parsed StellarAtlas warehouse.","tags":["Explorer"],"security":[],"parameters":[{"in":"path","name":"poolId","required":true,"description":"64-character hexadecimal native pool ID or checksum-valid L-address. Detail is the latest observation in the selected window.","schema":{"type":"string","example":"f82c4083862934876ec3c9f67fa60521da6a0d83789fa3123bd8dc1d268c03b6"}},{"in":"query","name":"min_ledger","description":"Inclusive minimum ledger. Defaults to max_ledger minus 63, or the ledger encoded in an operation/trade ID.","required":false,"schema":{"type":"integer","minimum":1,"example":63491202}},{"in":"query","name":"max_ledger","description":"Inclusive maximum ledger. Defaults to the greatest published parsed ledger, or the ledger encoded in an operation/trade ID.","required":false,"schema":{"type":"integer","minimum":1,"example":63491202}},{"in":"query","name":"start_time","description":"Inclusive UTC ISO timestamp ending in Z. Narrows the selected ledger window; not an all-history date search.","required":false,"schema":{"type":"string","format":"date-time"}},{"in":"query","name":"end_time","description":"Exclusive UTC ISO timestamp ending in Z.","required":false,"schema":{"type":"string","format":"date-time"}},{"in":"query","name":"order_by","description":"Sort key for latest pool snapshots when no historical window is supplied; in historical mode sorts observations in the selected window.","required":false,"schema":{"type":"string","enum":["pool","asset_a","asset_b","reserve_a","reserve_b","shares","trustlines","fee","ledger","time"],"default":"trustlines"}},{"in":"query","name":"order","description":"Sort direction for latest snapshots or historical observations.","required":false,"schema":{"type":"string","enum":["asc","desc"],"default":"desc"}},{"in":"query","name":"pool_id","description":"Exact pool id.","required":false,"schema":{"type":"string"}},{"in":"query","name":"asset_a","description":"native or CODE:ISSUER.","required":false,"schema":{"type":"string"}},{"in":"query","name":"asset_b","description":"native or CODE:ISSUER.","required":false,"schema":{"type":"string"}},{"in":"query","name":"deleted","description":"Exact deleted.","required":false,"schema":{"type":"string","enum":["true","false"]}}],"responses":{"200":{"description":"Native protocol liquidity-pool change observations, including removals; not contract AMMs. Rows are not distinct pools or a current inventory. Reserves and shares retain source Float64 precision. Removal rows expose null state values rather than fabricated zero balances.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubbleExplorerLiquidityPoolDetail"}}}},"400":{"description":"Invalid identifier, unsupported filter, range, date or pagination input.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubbleError"}}}},"404":{"description":"Not found in the fully ingested selected window.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubbleExplorerLiquidityPoolNotFound"}}}},"409":{"description":"Selected window is not known fully ingested; absence is not proof of nonexistence.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubbleExplorerLiquidityPoolNotFound"}}}},"500":{"description":"Unexpected query failure (hubble_query_failed); no partial-success response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubbleError"}}}},"503":{"description":"Warehouse unavailable or server query budget exhausted; no partial-success response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubbleError"}}}}}}},"/v1/operations":{"get":{"operationId":"listParsedOperationsResource","summary":"List parsed operations","description":"Parsed operations with exact identifiers and a bounded transaction-hash relationship. Details are legacy parsed values, not a guarantee of exact amounts; use typed transaction amounts for hash-verified envelope values. Only completed matching batch/digest facts are visible. Maximum window span: 1000000 ledgers. The default window is the latest 64 parsed ledgers; date filters only narrow it. Check returned window and coverage. Offset pagination is not immutable under backfill; use narrower ledger windows for large histories.  Object route backed by the parsed StellarAtlas warehouse.","tags":["Explorer"],"security":[],"parameters":[{"in":"query","name":"min_ledger","description":"Inclusive minimum ledger. Defaults to max_ledger minus 63, or the ledger encoded in an operation/trade ID.","required":false,"schema":{"type":"integer","minimum":1,"example":63490364}},{"in":"query","name":"max_ledger","description":"Inclusive maximum ledger. Defaults to the greatest published parsed ledger, or the ledger encoded in an operation/trade ID.","required":false,"schema":{"type":"integer","minimum":1,"example":63490364}},{"in":"query","name":"start_time","description":"Inclusive UTC ISO timestamp ending in Z. Narrows the selected ledger window; not an all-history date search.","required":false,"schema":{"type":"string","format":"date-time"}},{"in":"query","name":"end_time","description":"Exclusive UTC ISO timestamp ending in Z.","required":false,"schema":{"type":"string","format":"date-time"}},{"in":"query","name":"limit","description":"Maximum returned rows, with one lookahead row for nextOffset.","required":false,"schema":{"type":"integer","minimum":1,"maximum":100,"default":25,"example":10}},{"in":"query","name":"offset","description":"Zero-based offset. Follow nextOffset with unchanged filters; narrow the window once offset exceeds 10000.","required":false,"schema":{"type":"integer","minimum":0,"maximum":10000,"default":0}},{"in":"query","name":"source_account","description":"Exact source account.","required":false,"schema":{"type":"string"}},{"in":"query","name":"type","description":"Exact numeric Stellar operation type code or stored snake_case name (24 or invoke_host_function).","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Parsed operations with exact identifiers and a bounded transaction-hash relationship. Details are legacy parsed values, not a guarantee of exact amounts; use typed transaction amounts for hash-verified envelope values.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubbleExplorerOperationPage"}}}},"400":{"description":"Invalid identifier, unsupported filter, range, date or pagination input.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubbleError"}}}},"500":{"description":"Unexpected query failure (hubble_query_failed); no partial-success response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubbleError"}}}},"503":{"description":"Warehouse unavailable or server query budget exhausted; no partial-success response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubbleError"}}}}}}},"/v1/contracts":{"get":{"operationId":"listParsedContractsResource","summary":"List parsed contracts","description":"Distinct contract IDs observed in contract-data changes inside the window; exact detail also checks same-window contract events when state is absent. Not a complete deployed-contract registry. Follow the contract events/state routes for evidence. Only completed matching batch/digest facts are visible. Maximum window span: 1000000 ledgers. The default window is the latest 64 parsed ledgers; date filters only narrow it. Check returned window and coverage. Offset pagination is not immutable under backfill; use narrower ledger windows for large histories.  Object route backed by the parsed StellarAtlas warehouse.","tags":["Explorer"],"security":[],"parameters":[{"in":"query","name":"min_ledger","description":"Inclusive minimum ledger. Defaults to max_ledger minus 63, or the ledger encoded in an operation/trade ID.","required":false,"schema":{"type":"integer","minimum":1,"example":63491202}},{"in":"query","name":"max_ledger","description":"Inclusive maximum ledger. Defaults to the greatest published parsed ledger, or the ledger encoded in an operation/trade ID.","required":false,"schema":{"type":"integer","minimum":1,"example":63491202}},{"in":"query","name":"start_time","description":"Inclusive UTC ISO timestamp ending in Z. Narrows the selected ledger window; not an all-history date search.","required":false,"schema":{"type":"string","format":"date-time"}},{"in":"query","name":"end_time","description":"Exclusive UTC ISO timestamp ending in Z.","required":false,"schema":{"type":"string","format":"date-time"}},{"in":"query","name":"limit","description":"Maximum returned rows, with one lookahead row for nextOffset.","required":false,"schema":{"type":"integer","minimum":1,"maximum":100,"default":25,"example":10}},{"in":"query","name":"offset","description":"Zero-based offset. Follow nextOffset with unchanged filters; narrow the window once offset exceeds 10000.","required":false,"schema":{"type":"integer","minimum":0,"maximum":10000,"default":0}}],"responses":{"200":{"description":"Distinct contract IDs observed in contract-data changes inside the window; exact detail also checks same-window contract events when state is absent. Not a complete deployed-contract registry. Follow the contract events/state routes for evidence.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubbleExplorerContractPage"}}}},"400":{"description":"Invalid identifier, unsupported filter, range, date or pagination input.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubbleError"}}}},"500":{"description":"Unexpected query failure (hubble_query_failed); no partial-success response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubbleError"}}}},"503":{"description":"Warehouse unavailable or server query budget exhausted; no partial-success response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubbleError"}}}}}}},"/v1/contracts/{contractId}":{"get":{"operationId":"getParsedContractResource","summary":"Locate a parsed contract","description":"Distinct contract IDs observed in contract-data changes inside the window; exact detail also checks same-window contract events when state is absent. Not a complete deployed-contract registry. Follow the contract events/state routes for evidence. Only completed matching batch/digest facts are visible. Maximum window span: 1000000 ledgers. The default window is the latest 64 parsed ledgers; date filters only narrow it. Check returned window and coverage. Offset pagination is not immutable under backfill; use narrower ledger windows for large histories. Missing data returns 404 only when the selected window is fully published, including supplemental ranges; otherwise 409 with coverage metadata. Object route backed by the parsed StellarAtlas warehouse.","tags":["Explorer"],"security":[],"parameters":[{"in":"path","name":"contractId","required":true,"description":"Stellar C-address.","schema":{"type":"string","example":"CDL74RF5BLYR2YBLCCI7F5FB6TPSCLKEJUBSD2RSVWZ4YHF3VMFAIGWA"}},{"in":"query","name":"min_ledger","description":"Inclusive minimum ledger. Defaults to max_ledger minus 63, or the ledger encoded in an operation/trade ID.","required":false,"schema":{"type":"integer","minimum":1,"example":63491202}},{"in":"query","name":"max_ledger","description":"Inclusive maximum ledger. Defaults to the greatest published parsed ledger, or the ledger encoded in an operation/trade ID.","required":false,"schema":{"type":"integer","minimum":1,"example":63491202}},{"in":"query","name":"start_time","description":"Inclusive UTC ISO timestamp ending in Z. Narrows the selected ledger window; not an all-history date search.","required":false,"schema":{"type":"string","format":"date-time"}},{"in":"query","name":"end_time","description":"Exclusive UTC ISO timestamp ending in Z.","required":false,"schema":{"type":"string","format":"date-time"}}],"responses":{"200":{"description":"Distinct contract IDs observed in contract-data changes inside the window; exact detail also checks same-window contract events when state is absent. Not a complete deployed-contract registry. Follow the contract events/state routes for evidence.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubbleExplorerContractDetail"}}}},"400":{"description":"Invalid identifier, unsupported filter, range, date or pagination input.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubbleError"}}}},"404":{"description":"Not found in the fully ingested selected window.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubbleExplorerContractNotFound"}}}},"409":{"description":"Selected window is not known fully ingested; absence is not proof of nonexistence.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubbleExplorerContractNotFound"}}}},"500":{"description":"Unexpected query failure (hubble_query_failed); no partial-success response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubbleError"}}}},"503":{"description":"Warehouse unavailable or server query budget exhausted; no partial-success response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubbleError"}}}}}}},"/v1/offers":{"get":{"operationId":"listParsedOffersResource","summary":"List parsed offers","description":"Historical offer changes, including deleted offers. Detail is latest observed in this window, not the current order book. Amount strings retain source Float64 precision; price rational terms remain exact strings. Only completed matching batch/digest facts are visible. Maximum window span: 1000000 ledgers. The default window is the latest 64 parsed ledgers; date filters only narrow it. Check returned window and coverage. Offset pagination is not immutable under backfill; use narrower ledger windows for large histories.  Object route backed by the parsed StellarAtlas warehouse.","tags":["Explorer"],"security":[],"parameters":[{"in":"query","name":"min_ledger","description":"Inclusive minimum ledger. Defaults to max_ledger minus 63, or the ledger encoded in an operation/trade ID.","required":false,"schema":{"type":"integer","minimum":1,"example":63490364}},{"in":"query","name":"max_ledger","description":"Inclusive maximum ledger. Defaults to the greatest published parsed ledger, or the ledger encoded in an operation/trade ID.","required":false,"schema":{"type":"integer","minimum":1,"example":63490364}},{"in":"query","name":"start_time","description":"Inclusive UTC ISO timestamp ending in Z. Narrows the selected ledger window; not an all-history date search.","required":false,"schema":{"type":"string","format":"date-time"}},{"in":"query","name":"end_time","description":"Exclusive UTC ISO timestamp ending in Z.","required":false,"schema":{"type":"string","format":"date-time"}},{"in":"query","name":"limit","description":"Maximum returned rows, with one lookahead row for nextOffset.","required":false,"schema":{"type":"integer","minimum":1,"maximum":100,"default":25,"example":10}},{"in":"query","name":"offset","description":"Zero-based offset. Follow nextOffset with unchanged filters; narrow the window once offset exceeds 10000.","required":false,"schema":{"type":"integer","minimum":0,"maximum":10000,"default":0}},{"in":"query","name":"seller","description":"Exact seller.","required":false,"schema":{"type":"string"}},{"in":"query","name":"offer_id","description":"Exact offer id.","required":false,"schema":{"type":"string","pattern":"^-?[0-9]+$","example":"123"}},{"in":"query","name":"selling_asset","description":"native or CODE:ISSUER.","required":false,"schema":{"type":"string"}},{"in":"query","name":"buying_asset","description":"native or CODE:ISSUER.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Historical offer changes, including deleted offers. Detail is latest observed in this window, not the current order book. Amount strings retain source Float64 precision; price rational terms remain exact strings.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubbleExplorerOfferPage"}}}},"400":{"description":"Invalid identifier, unsupported filter, range, date or pagination input.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubbleError"}}}},"500":{"description":"Unexpected query failure (hubble_query_failed); no partial-success response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubbleError"}}}},"503":{"description":"Warehouse unavailable or server query budget exhausted; no partial-success response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubbleError"}}}}}}},"/v1/offers/{offerId}":{"get":{"operationId":"getParsedOfferResource","summary":"Locate a parsed offer","description":"Historical offer changes, including deleted offers. Detail is latest observed in this window, not the current order book. Amount strings retain source Float64 precision; price rational terms remain exact strings. Only completed matching batch/digest facts are visible. Maximum window span: 1000000 ledgers. The default window is the latest 64 parsed ledgers; date filters only narrow it. Check returned window and coverage. Offset pagination is not immutable under backfill; use narrower ledger windows for large histories. Missing data returns 404 only when the selected window is fully published, including supplemental ranges; otherwise 409 with coverage metadata. Object route backed by the parsed StellarAtlas warehouse.","tags":["Explorer"],"security":[],"parameters":[{"in":"path","name":"offerId","required":true,"description":"Exact decimal offer ID. Detail is the latest observed change within the selected window.","schema":{"type":"string","example":"1848813589"}},{"in":"query","name":"min_ledger","description":"Inclusive minimum ledger. Defaults to max_ledger minus 63, or the ledger encoded in an operation/trade ID.","required":false,"schema":{"type":"integer","minimum":1,"example":63490364}},{"in":"query","name":"max_ledger","description":"Inclusive maximum ledger. Defaults to the greatest published parsed ledger, or the ledger encoded in an operation/trade ID.","required":false,"schema":{"type":"integer","minimum":1,"example":63490364}},{"in":"query","name":"start_time","description":"Inclusive UTC ISO timestamp ending in Z. Narrows the selected ledger window; not an all-history date search.","required":false,"schema":{"type":"string","format":"date-time"}},{"in":"query","name":"end_time","description":"Exclusive UTC ISO timestamp ending in Z.","required":false,"schema":{"type":"string","format":"date-time"}},{"in":"query","name":"seller","description":"Exact seller.","required":false,"schema":{"type":"string"}},{"in":"query","name":"offer_id","description":"Exact offer id.","required":false,"schema":{"type":"string","pattern":"^-?[0-9]+$","example":"123"}},{"in":"query","name":"selling_asset","description":"native or CODE:ISSUER.","required":false,"schema":{"type":"string"}},{"in":"query","name":"buying_asset","description":"native or CODE:ISSUER.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Historical offer changes, including deleted offers. Detail is latest observed in this window, not the current order book. Amount strings retain source Float64 precision; price rational terms remain exact strings.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubbleExplorerOfferDetail"}}}},"400":{"description":"Invalid identifier, unsupported filter, range, date or pagination input.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubbleError"}}}},"404":{"description":"Not found in the fully ingested selected window.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubbleExplorerOfferNotFound"}}}},"409":{"description":"Selected window is not known fully ingested; absence is not proof of nonexistence.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubbleExplorerOfferNotFound"}}}},"500":{"description":"Unexpected query failure (hubble_query_failed); no partial-success response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubbleError"}}}},"503":{"description":"Warehouse unavailable or server query budget exhausted; no partial-success response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubbleError"}}}}}}},"/v1/trades/{tradeId}":{"get":{"operationId":"getParsedTradeResource","summary":"Locate a parsed trade","description":"Parsed trade records. Amount strings retain source Float64 precision and are explicitly marked source_float64; price rational terms and operation IDs remain exact strings. Only completed matching batch/digest facts are visible. Maximum window span: 1000000 ledgers. The default window is the latest 64 parsed ledgers; date filters only narrow it. Check returned window and coverage. Offset pagination is not immutable under backfill; use narrower ledger windows for large histories. Missing data returns 404 only when the selected window is fully published, including supplemental ranges; otherwise 409 with coverage metadata. Object route backed by the parsed StellarAtlas warehouse.","tags":["Explorer"],"security":[],"parameters":[{"in":"path","name":"tradeId","required":true,"description":"OPERATION_ID:ORDER, using the exact operation TOID and trade order.","schema":{"type":"string","example":"272689036991197185:0"}},{"in":"query","name":"min_ledger","description":"Inclusive minimum ledger. Defaults to max_ledger minus 63, or the ledger encoded in an operation/trade ID.","required":false,"schema":{"type":"integer","minimum":1,"example":63490364}},{"in":"query","name":"max_ledger","description":"Inclusive maximum ledger. Defaults to the greatest published parsed ledger, or the ledger encoded in an operation/trade ID.","required":false,"schema":{"type":"integer","minimum":1,"example":63490364}},{"in":"query","name":"start_time","description":"Inclusive UTC ISO timestamp ending in Z. Narrows the selected ledger window; not an all-history date search.","required":false,"schema":{"type":"string","format":"date-time"}},{"in":"query","name":"end_time","description":"Exclusive UTC ISO timestamp ending in Z.","required":false,"schema":{"type":"string","format":"date-time"}},{"in":"query","name":"seller","description":"Exact seller.","required":false,"schema":{"type":"string"}},{"in":"query","name":"buyer","description":"Exact buyer.","required":false,"schema":{"type":"string"}},{"in":"query","name":"selling_asset","description":"native or CODE:ISSUER.","required":false,"schema":{"type":"string"}},{"in":"query","name":"buying_asset","description":"native or CODE:ISSUER.","required":false,"schema":{"type":"string"}},{"in":"query","name":"operation_id","description":"Exact operation id.","required":false,"schema":{"type":"string","pattern":"^-?[0-9]+$","example":"123"}}],"responses":{"200":{"description":"Parsed trade records. Amount strings retain source Float64 precision and are explicitly marked source_float64; price rational terms and operation IDs remain exact strings.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubbleExplorerTradeDetail"}}}},"400":{"description":"Invalid identifier, unsupported filter, range, date or pagination input.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubbleError"}}}},"404":{"description":"Not found in the fully ingested selected window.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubbleExplorerTradeNotFound"}}}},"409":{"description":"Selected window is not known fully ingested; absence is not proof of nonexistence.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubbleExplorerTradeNotFound"}}}},"500":{"description":"Unexpected query failure (hubble_query_failed); no partial-success response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubbleError"}}}},"503":{"description":"Warehouse unavailable or server query budget exhausted; no partial-success response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HubbleError"}}}}}}},"/v1/assets":{"get":{"operationId":"listAssetResources","summary":"Discover assets","description":"Search the compact catalogue of asset identities across published history, independent of a recent ledger window. First/last observations do not establish creation time or complete historical coverage. Temporal filters overlap recorded observation bounds.","tags":["Assets"],"security":[],"parameters":[{"name":"q","in":"query","description":"Asset code, issuer G address, CODE:ISSUER, or SAC C address.","schema":{"type":"string"}},{"name":"symbol","in":"query","description":"Exact asset code; multiple issuers can match.","schema":{"type":"string"}},{"name":"issuer","in":"query","description":"Checksum-valid issuer G address.","schema":{"type":"string"}},{"name":"min_ledger","in":"query","description":"Include assets whose observed range intersects this inclusive lower bound.","schema":{"type":"integer","minimum":1}},{"name":"max_ledger","in":"query","description":"Include assets whose observed range intersects this inclusive upper bound.","schema":{"type":"integer","minimum":1}},{"name":"start_time","in":"query","description":"Include assets whose observed range overlaps this inclusive UTC start.","schema":{"type":"string","format":"date-time"}},{"name":"end_time","in":"query","description":"Include assets whose observed range overlaps this exclusive UTC end.","schema":{"type":"string","format":"date-time"}},{"name":"limit","in":"query","description":"Page size.","schema":{"type":"integer","minimum":1,"maximum":100,"default":25}},{"name":"cursor","in":"query","description":"Opaque nextCursor from a page with the same filters.","schema":{"type":"string"}}],"responses":{"200":{"description":"Published asset data or metadata cache status.","content":{"application/json":{"schema":{"type":"object","required":["data","nextCursor","coverage","generatedAt"],"properties":{"data":{"type":"array","items":{"type":"object","required":["id","kind","code","issuer","contractId"],"properties":{"id":{"type":"string"},"kind":{"type":"string","enum":["native","classic","contract"]},"code":{"type":"string","nullable":true},"issuer":{"type":"string","nullable":true},"contractId":{"type":"string"},"name":{"type":"string","nullable":true},"logoUrl":{"type":"string","nullable":true},"metadataStatus":{"type":"string","enum":["pending","ready","unavailable"]},"observed":{"type":"boolean"},"firstObservedLedger":{"type":"integer","minimum":1},"lastObservedLedger":{"type":"integer","minimum":1},"firstObservedAt":{"type":"string","format":"date-time","nullable":true},"lastObservedAt":{"type":"string","format":"date-time","nullable":true}}}},"nextCursor":{"type":"string","nullable":true},"generatedAt":{"type":"string","format":"date-time","nullable":true},"semantics":{"type":"string"},"coverage":{"type":"object","properties":{"source":{"type":"string"},"catalogueReady":{"type":"boolean"},"maximumObservedLedger":{"type":"integer","nullable":true},"observedAssetCount":{"type":"integer"}}}}}}}},"400":{"description":"Invalid identifier, filter, or cursor."},"503":{"description":"Asset catalogue temporarily unavailable."}}}},"/v1/assets/{asset}":{"get":{"operationId":"getAssetResource","summary":"Resolve an asset","description":"Resolve aliases and known SAC addresses to one canonical asset. A bare symbol returns matches from all issuers. Unclassified C addresses are contract references and do not establish token compliance.","tags":["Assets"],"security":[],"parameters":[{"name":"asset","in":"path","required":true,"description":"Use native/XLM, CODE:ISSUER, CODE-ISSUER, CODE_ISSUER, reversed issuer/code, or a checksum-valid C address. A bare symbol returns paginated matches. SAC mapping is network-specific and does not establish deployment.","schema":{"type":"string"}},{"name":"limit","in":"query","description":"Page size.","schema":{"type":"integer","minimum":1,"maximum":100,"default":25}},{"name":"cursor","in":"query","description":"Opaque nextCursor from a page with the same filters.","schema":{"type":"string"}}],"responses":{"200":{"description":"Published asset data or metadata cache status.","content":{"application/json":{"schema":{"oneOf":[{"type":"object","required":["asset","metadata","links"],"properties":{"asset":{"type":"object","required":["id","kind","code","issuer","contractId"],"properties":{"id":{"type":"string"},"kind":{"type":"string","enum":["native","classic","contract"]},"code":{"type":"string","nullable":true},"issuer":{"type":"string","nullable":true},"contractId":{"type":"string"},"name":{"type":"string","nullable":true},"logoUrl":{"type":"string","nullable":true},"metadataStatus":{"type":"string","enum":["pending","ready","unavailable"]},"observed":{"type":"boolean"},"firstObservedLedger":{"type":"integer","minimum":1},"lastObservedLedger":{"type":"integer","minimum":1},"firstObservedAt":{"type":"string","format":"date-time","nullable":true},"lastObservedAt":{"type":"string","format":"date-time","nullable":true}}},"metadata":{"type":"object","required":["status","name","description","homeDomain","tomlUrl","logoUrl","organization","fetchedAt","error"],"properties":{"status":{"type":"string","enum":["pending","ready","unavailable"]},"name":{"type":"string","nullable":true,"description":"Issuer-published TOML name, not a verified classification or endorsement."},"description":{"type":"string","nullable":true,"description":"Issuer-published TOML description. Treat as unverified publisher claims."},"homeDomain":{"type":"string","nullable":true},"tomlUrl":{"type":"string","nullable":true},"logoUrl":{"type":"string","nullable":true},"organization":{"type":"object","additionalProperties":{"type":"string"},"nullable":true},"fields":{"type":"object","additionalProperties":{"type":"string"},"description":"Scalar fields from the exact issuer/asset CURRENCIES entry, preserved as publisher data."},"issuerCollectible":{"type":"object","description":"Attributable issuer declaration. Ownership, scarcity and backing are unverified.","required":["kind","source","scarcity"],"properties":{"kind":{"type":"string","enum":["sep39-collectible-link","sep1-nft-backed"]},"source":{"type":"string","enum":["issuer-toml"]},"scarcity":{"type":"string","enum":["unverified"]}}},"fetchedAt":{"type":"string","format":"date-time","nullable":true},"error":{"type":"string","nullable":true}}},"links":{"type":"object","additionalProperties":{"type":"string","nullable":true}}}},{"type":"object","required":["matches"],"properties":{"matches":{"type":"object","required":["data","nextCursor","coverage","generatedAt"],"properties":{"data":{"type":"array","items":{"type":"object","required":["id","kind","code","issuer","contractId"],"properties":{"id":{"type":"string"},"kind":{"type":"string","enum":["native","classic","contract"]},"code":{"type":"string","nullable":true},"issuer":{"type":"string","nullable":true},"contractId":{"type":"string"},"name":{"type":"string","nullable":true},"logoUrl":{"type":"string","nullable":true},"metadataStatus":{"type":"string","enum":["pending","ready","unavailable"]},"observed":{"type":"boolean"},"firstObservedLedger":{"type":"integer","minimum":1},"lastObservedLedger":{"type":"integer","minimum":1},"firstObservedAt":{"type":"string","format":"date-time","nullable":true},"lastObservedAt":{"type":"string","format":"date-time","nullable":true}}}},"nextCursor":{"type":"string","nullable":true},"generatedAt":{"type":"string","format":"date-time","nullable":true},"semantics":{"type":"string"},"coverage":{"type":"object","properties":{"source":{"type":"string"},"catalogueReady":{"type":"boolean"},"maximumObservedLedger":{"type":"integer","nullable":true},"observedAssetCount":{"type":"integer"}}}}}}}]}}}},"400":{"description":"Invalid identifier, filter, or cursor."},"503":{"description":"Asset catalogue temporarily unavailable."}}}},"/v1/assets/{asset}/metadata":{"get":{"operationId":"getAssetResourceMetadata","summary":"Read asset metadata","description":"Issuer-published SEP-1 metadata. A cache miss returns pending while a bounded background refresh retrieves TOML and a safe cached logo. Metadata attribution is not an endorsement.","tags":["Assets"],"security":[],"parameters":[{"name":"asset","in":"path","required":true,"description":"Use native/XLM, CODE:ISSUER, CODE-ISSUER, CODE_ISSUER, reversed issuer/code, or a checksum-valid C address. A bare symbol returns paginated matches. SAC mapping is network-specific and does not establish deployment.","schema":{"type":"string"}}],"responses":{"200":{"description":"Published asset data or metadata cache status.","content":{"application/json":{"schema":{"type":"object","properties":{"asset":{"type":"object","required":["id","kind","code","issuer","contractId"],"properties":{"id":{"type":"string"},"kind":{"type":"string","enum":["native","classic","contract"]},"code":{"type":"string","nullable":true},"issuer":{"type":"string","nullable":true},"contractId":{"type":"string"},"name":{"type":"string","nullable":true},"logoUrl":{"type":"string","nullable":true},"metadataStatus":{"type":"string","enum":["pending","ready","unavailable"]},"observed":{"type":"boolean"},"firstObservedLedger":{"type":"integer","minimum":1},"lastObservedLedger":{"type":"integer","minimum":1},"firstObservedAt":{"type":"string","format":"date-time","nullable":true},"lastObservedAt":{"type":"string","format":"date-time","nullable":true}}},"metadata":{"type":"object","required":["status","name","description","homeDomain","tomlUrl","logoUrl","organization","fetchedAt","error"],"properties":{"status":{"type":"string","enum":["pending","ready","unavailable"]},"name":{"type":"string","nullable":true,"description":"Issuer-published TOML name, not a verified classification or endorsement."},"description":{"type":"string","nullable":true,"description":"Issuer-published TOML description. Treat as unverified publisher claims."},"homeDomain":{"type":"string","nullable":true},"tomlUrl":{"type":"string","nullable":true},"logoUrl":{"type":"string","nullable":true},"organization":{"type":"object","additionalProperties":{"type":"string"},"nullable":true},"fields":{"type":"object","additionalProperties":{"type":"string"},"description":"Scalar fields from the exact issuer/asset CURRENCIES entry, preserved as publisher data."},"issuerCollectible":{"type":"object","description":"Attributable issuer declaration. Ownership, scarcity and backing are unverified.","required":["kind","source","scarcity"],"properties":{"kind":{"type":"string","enum":["sep39-collectible-link","sep1-nft-backed"]},"source":{"type":"string","enum":["issuer-toml"]},"scarcity":{"type":"string","enum":["unverified"]}}},"fetchedAt":{"type":"string","format":"date-time","nullable":true},"error":{"type":"string","nullable":true}}}}}}}},"400":{"description":"Invalid identifier, filter, or cursor."},"503":{"description":"Asset catalogue temporarily unavailable."}}}},"/v1/asset-metadata":{"get":{"operationId":"listAssetMetadataBatch","summary":"Read metadata for several assets","description":"Reads cached or pending issuer-published metadata for up to 16 asset references. With cacheOnly=true, pass canonical classic CODE:ISSUER IDs. This mode returns hit or miss for each identity without triggering any issuer or logo fetch. TOML fields are publisher claims.","tags":["Assets"],"security":[],"parameters":[{"name":"assets","in":"query","description":"JSON-encoded array of up to 16 asset references.","schema":{"type":"string","maxLength":8192}},{"name":"cacheOnly","in":"query","description":"Opt in to read-only cache lookup without catalogue resolution or background refresh.","schema":{"type":"string","enum":["true"]}}],"responses":{"200":{"description":"Published asset data or metadata cache status.","content":{"application/json":{"schema":{"type":"object","required":["assets"],"properties":{"assets":{"type":"array","items":{"type":"object","required":["id","kind","contractId","status","name","logoUrl","logoStatus","homeDomain","referenceIdentity","source"],"properties":{"id":{"type":"string"},"kind":{"type":"string","enum":["native","classic","contract"]},"code":{"type":"string","nullable":true},"issuer":{"type":"string","nullable":true},"contractId":{"type":"string"},"name":{"type":"string","nullable":true},"logoUrl":{"type":"string","nullable":true},"metadataStatus":{"type":"string","enum":["pending","ready","unavailable"]},"observed":{"type":"boolean"},"firstObservedLedger":{"type":"integer","minimum":1},"lastObservedLedger":{"type":"integer","minimum":1},"firstObservedAt":{"type":"string","format":"date-time","nullable":true},"lastObservedAt":{"type":"string","format":"date-time","nullable":true},"status":{"type":"string","enum":["pending","ready","unavailable"]},"logoStatus":{"type":"string","enum":["pending","ready","unavailable"]},"homeDomain":{"type":"string","nullable":true},"tomlUrl":{"type":"string","nullable":true},"fetchedAt":{"type":"string","format":"date-time","nullable":true},"issuerCollectible":{"type":"object","description":"Attributable issuer declaration. Ownership, scarcity and backing are unverified.","required":["kind","source","scarcity"],"properties":{"kind":{"type":"string","enum":["sep39-collectible-link","sep1-nft-backed"]},"source":{"type":"string","enum":["issuer-toml"]},"scarcity":{"type":"string","enum":["unverified"]}}},"cacheStatus":{"type":"string","enum":["hit","miss"],"description":"Present for cacheOnly=true. A metadata hit may have no cached logo."},"referenceIdentity":{"type":"string","nullable":true},"source":{"type":"string","nullable":true}}}}}}}}},"400":{"description":"Invalid asset reference list."},"503":{"description":"Asset metadata is temporarily unavailable."}}}},"/v1/assets/{asset}/similar":{"get":{"operationId":"listSimilarAssetResources","summary":"Find same-symbol assets","description":"Returns other classic assets with the same code from the published catalogue. Similarity is not an assessment of legitimacy.","tags":["Assets"],"security":[],"parameters":[{"name":"asset","in":"path","required":true,"description":"Use native/XLM, CODE:ISSUER, CODE-ISSUER, CODE_ISSUER, reversed issuer/code, or a checksum-valid C address. A bare symbol returns paginated matches. SAC mapping is network-specific and does not establish deployment.","schema":{"type":"string"}},{"name":"limit","in":"query","description":"Page size.","schema":{"type":"integer","minimum":1,"maximum":100,"default":25}},{"name":"cursor","in":"query","description":"Opaque cursor from a page with the same asset.","schema":{"type":"string","maxLength":2048}}],"responses":{"200":{"description":"Published asset data or metadata cache status.","content":{"application/json":{"schema":{"type":"object","required":["asset","data","nextCursor","generatedAt","semantics"],"properties":{"asset":{"type":"object","required":["id","kind","code","issuer","contractId"],"properties":{"id":{"type":"string"},"kind":{"type":"string","enum":["native","classic","contract"]},"code":{"type":"string","nullable":true},"issuer":{"type":"string","nullable":true},"contractId":{"type":"string"},"name":{"type":"string","nullable":true},"logoUrl":{"type":"string","nullable":true},"metadataStatus":{"type":"string","enum":["pending","ready","unavailable"]},"observed":{"type":"boolean"},"firstObservedLedger":{"type":"integer","minimum":1},"lastObservedLedger":{"type":"integer","minimum":1},"firstObservedAt":{"type":"string","format":"date-time","nullable":true},"lastObservedAt":{"type":"string","format":"date-time","nullable":true}}},"data":{"type":"array","items":{"type":"object","required":["id","kind","code","issuer","contractId"],"properties":{"id":{"type":"string"},"kind":{"type":"string","enum":["native","classic","contract"]},"code":{"type":"string","nullable":true},"issuer":{"type":"string","nullable":true},"contractId":{"type":"string"},"name":{"type":"string","nullable":true},"logoUrl":{"type":"string","nullable":true},"metadataStatus":{"type":"string","enum":["pending","ready","unavailable"]},"observed":{"type":"boolean"},"firstObservedLedger":{"type":"integer","minimum":1},"lastObservedLedger":{"type":"integer","minimum":1},"firstObservedAt":{"type":"string","format":"date-time","nullable":true},"lastObservedAt":{"type":"string","format":"date-time","nullable":true}}}},"nextCursor":{"type":"string","nullable":true},"generatedAt":{"type":"string","format":"date-time","nullable":true},"semantics":{"type":"string","enum":["same-symbol assets; not an assessment of legitimacy"]}}}}}},"400":{"description":"Invalid or ambiguous asset reference or cursor."},"503":{"description":"Asset catalogue temporarily unavailable."}}}},"/v1/issuer-domains/{domain}":{"get":{"operationId":"getIssuerDomainEvidence","tags":["Assets"],"summary":"Look up issuers by DNS hostname","description":"Returns bounded observations from the cached account home-domain index, materialized classic-asset catalogue, and cached SEP-1 stellar.toml. A cold catalogue is reported as unavailable. Empty and untruncated results describe cache coverage only. TOML associations are publisher claims. This endpoint performs no network lookup.","security":[],"parameters":[{"name":"domain","in":"path","required":true,"description":"Exact ASCII DNS hostname, optionally with a trailing root dot. URL, IP and Soroban Domains inputs are invalid.","schema":{"type":"string","minLength":3,"maxLength":254}}],"responses":{"200":{"description":"Cached issuer-domain evidence and coverage.","content":{"application/json":{"schema":{"type":"object","required":["domain","networkPassphrase","source","homeDomainIndex","catalogue","toml","accounts","accountsTruncated"],"properties":{"domain":{"type":"string","maxLength":253,"description":"Canonical lowercase DNS hostname."},"networkPassphrase":{"type":"string"},"source":{"type":"string","enum":["cached_issuer_domain_evidence"]},"homeDomainIndex":{"type":"string","enum":["available","partial","unavailable"]},"catalogue":{"type":"object","required":["generatedAt","status"],"properties":{"generatedAt":{"type":"string","nullable":true,"format":"date-time"},"status":{"type":"string","enum":["available","partial","unavailable"]}}},"toml":{"type":"object","required":["status","url","fetchedAt","accountsIndexed"],"properties":{"status":{"type":"string","enum":["available","stale","unavailable"]},"url":{"type":"string","nullable":true,"format":"uri"},"fetchedAt":{"type":"string","nullable":true,"format":"date-time"},"accountsIndexed":{"type":"boolean"}}},"accounts":{"type":"array","maxItems":25,"items":{"type":"object","required":["accountId","association","homeDomain","tomlClaims","assets","assetsTruncated","links"],"properties":{"accountId":{"type":"string","pattern":"^G[A-Z2-7]{55}$"},"association":{"type":"string","enum":["corroborated","mismatch","indexed_only","toml_only","unavailable"],"description":"Relationship between available observations and publisher claims."},"homeDomain":{"type":"object","nullable":true,"required":["source","domain","observedAt","status"],"properties":{"source":{"type":"string","enum":["indexed_account_home_domain"]},"domain":{"type":"string","nullable":true},"observedAt":{"type":"string","nullable":true,"format":"date-time"},"status":{"type":"string","enum":["observed","stale","unavailable"]}}},"tomlClaims":{"type":"array","maxItems":2,"items":{"type":"string","enum":["ACCOUNTS","CURRENCIES"]}},"assets":{"type":"array","maxItems":20,"items":{"type":"object","required":["id","code","catalogue","toml","explorer"],"properties":{"id":{"type":"string","description":"Classic asset reference CODE:ISSUER."},"code":{"type":"string","minLength":1,"maxLength":12},"catalogue":{"type":"object","nullable":true,"required":["lastObservedLedger"],"properties":{"lastObservedLedger":{"type":"integer","minimum":1}}},"toml":{"type":"string","enum":["listed","not_listed","unavailable"]},"explorer":{"type":"string"}}}},"assetsTruncated":{"type":"boolean"},"links":{"type":"object","required":["account","issuerAssets"],"properties":{"account":{"type":"string"},"issuerAssets":{"type":"string"}}}}}},"accountsTruncated":{"type":"boolean"}}}}}},"400":{"description":"Invalid issuer hostname.","content":{"application/json":{"schema":{"type":"object","required":["code","error"],"properties":{"code":{"type":"string","enum":["invalid_issuer_domain"]},"error":{"type":"string"}}}}}},"503":{"description":"Lookup busy or temporarily unavailable.","content":{"application/json":{"schema":{"type":"object","required":["code","error"],"properties":{"code":{"type":"string","enum":["issuer_domain_evidence_unavailable"]},"error":{"type":"string"}}}}}}}}},"/v1/issuers":{"get":{"operationId":"listIssuerResources","summary":"Discover issuers","description":"Search the compact issuer directory by a home-domain substring or issuer G-address prefix. The first and last ledgers are observed bounds, not issuer creation dates or complete historical coverage.","tags":["Assets"],"security":[],"parameters":[{"name":"q","in":"query","description":"Home-domain substring or issuer G-address prefix.","schema":{"type":"string"}},{"name":"limit","in":"query","description":"Page size.","schema":{"type":"integer","minimum":1,"maximum":100,"default":25}},{"name":"cursor","in":"query","description":"Opaque pagination cursor.","schema":{"type":"string"}}],"responses":{"200":{"description":"Published asset data or metadata cache status.","content":{"application/json":{"schema":{"type":"object","required":["data","nextCursor","generatedAt","domainsReady"],"properties":{"data":{"type":"array","items":{"type":"object","required":["id","homeDomain","assetCount","firstObservedLedger","lastObservedLedger","links"],"properties":{"id":{"type":"string","description":"Issuer G-address."},"homeDomain":{"type":"string","nullable":true},"assetCount":{"type":"integer","minimum":0},"firstObservedLedger":{"type":"integer","minimum":1},"lastObservedLedger":{"type":"integer","minimum":1},"links":{"type":"object","required":["self","assets","explorer"],"properties":{"self":{"type":"string"},"assets":{"type":"string"},"explorer":{"type":"string"}}}}}},"nextCursor":{"type":"string","nullable":true},"generatedAt":{"type":"string","format":"date-time","nullable":true},"domainsReady":{"type":"boolean"}}}}}},"400":{"description":"Invalid issuer search scope or pagination cursor."},"503":{"description":"Issuer directory temporarily unavailable."}}}},"/v1/issuers/{issuer}":{"get":{"operationId":"getIssuerResource","summary":"Read issuer details","description":"Issuer home domain, retained TOML documentation, and issued assets from the published catalogue. Metadata can be null while its background refresh runs.","tags":["Assets"],"security":[],"parameters":[{"name":"issuer","in":"path","required":true,"description":"Checksum-valid issuer G address.","schema":{"type":"string"}},{"name":"limit","in":"query","description":"Page size.","schema":{"type":"integer","minimum":1,"maximum":100,"default":25}},{"name":"cursor","in":"query","description":"Opaque nextCursor from a page with the same filters.","schema":{"type":"string"}}],"responses":{"200":{"description":"Published asset data or metadata cache status.","content":{"application/json":{"schema":{"type":"object","required":["issuer","metadata","assets","links"],"properties":{"issuer":{"type":"object","properties":{"id":{"type":"string"},"homeDomain":{"type":"string","nullable":true}}},"metadata":{"type":"object","nullable":true,"properties":{"homeDomain":{"type":"string"},"tomlUrl":{"type":"string"},"fields":{"type":"object","additionalProperties":{"type":"string"}},"fetchedAt":{"type":"string","format":"date-time","nullable":true},"error":{"type":"string","nullable":true}}},"assets":{"type":"object","required":["data","nextCursor","coverage","generatedAt"],"properties":{"data":{"type":"array","items":{"type":"object","required":["id","kind","code","issuer","contractId"],"properties":{"id":{"type":"string"},"kind":{"type":"string","enum":["native","classic","contract"]},"code":{"type":"string","nullable":true},"issuer":{"type":"string","nullable":true},"contractId":{"type":"string"},"name":{"type":"string","nullable":true},"logoUrl":{"type":"string","nullable":true},"metadataStatus":{"type":"string","enum":["pending","ready","unavailable"]},"observed":{"type":"boolean"},"firstObservedLedger":{"type":"integer","minimum":1},"lastObservedLedger":{"type":"integer","minimum":1},"firstObservedAt":{"type":"string","format":"date-time","nullable":true},"lastObservedAt":{"type":"string","format":"date-time","nullable":true}}}},"nextCursor":{"type":"string","nullable":true},"generatedAt":{"type":"string","format":"date-time","nullable":true},"semantics":{"type":"string"},"coverage":{"type":"object","properties":{"source":{"type":"string"},"catalogueReady":{"type":"boolean"},"maximumObservedLedger":{"type":"integer","nullable":true},"observedAssetCount":{"type":"integer"}}}}},"links":{"type":"object","additionalProperties":{"type":"string"}}}}}}},"400":{"description":"Invalid identifier, filter, or cursor."},"503":{"description":"Asset catalogue temporarily unavailable."}}}},"/v1/issuers/{issuer}/assets":{"get":{"operationId":"listIssuerAssetResources","summary":"List issuer assets","description":"Paginated asset identities observed for this issuer.","tags":["Assets"],"security":[],"parameters":[{"name":"issuer","in":"path","required":true,"description":"Checksum-valid issuer G address.","schema":{"type":"string"}},{"name":"q","in":"query","description":"Asset code, issuer G address, CODE:ISSUER, or SAC C address.","schema":{"type":"string"}},{"name":"symbol","in":"query","description":"Exact asset code; multiple issuers can match.","schema":{"type":"string"}},{"name":"min_ledger","in":"query","description":"Include assets whose observed range intersects this inclusive lower bound.","schema":{"type":"integer","minimum":1}},{"name":"max_ledger","in":"query","description":"Include assets whose observed range intersects this inclusive upper bound.","schema":{"type":"integer","minimum":1}},{"name":"start_time","in":"query","description":"Include assets whose observed range overlaps this inclusive UTC start.","schema":{"type":"string","format":"date-time"}},{"name":"end_time","in":"query","description":"Include assets whose observed range overlaps this exclusive UTC end.","schema":{"type":"string","format":"date-time"}},{"name":"limit","in":"query","description":"Page size.","schema":{"type":"integer","minimum":1,"maximum":100,"default":25}},{"name":"cursor","in":"query","description":"Opaque nextCursor from a page with the same filters.","schema":{"type":"string"}}],"responses":{"200":{"description":"Published asset data or metadata cache status.","content":{"application/json":{"schema":{"type":"object","required":["data","nextCursor","coverage","generatedAt"],"properties":{"data":{"type":"array","items":{"type":"object","required":["id","kind","code","issuer","contractId"],"properties":{"id":{"type":"string"},"kind":{"type":"string","enum":["native","classic","contract"]},"code":{"type":"string","nullable":true},"issuer":{"type":"string","nullable":true},"contractId":{"type":"string"},"name":{"type":"string","nullable":true},"logoUrl":{"type":"string","nullable":true},"metadataStatus":{"type":"string","enum":["pending","ready","unavailable"]},"observed":{"type":"boolean"},"firstObservedLedger":{"type":"integer","minimum":1},"lastObservedLedger":{"type":"integer","minimum":1},"firstObservedAt":{"type":"string","format":"date-time","nullable":true},"lastObservedAt":{"type":"string","format":"date-time","nullable":true}}}},"nextCursor":{"type":"string","nullable":true},"generatedAt":{"type":"string","format":"date-time","nullable":true},"semantics":{"type":"string"},"coverage":{"type":"object","properties":{"source":{"type":"string"},"catalogueReady":{"type":"boolean"},"maximumObservedLedger":{"type":"integer","nullable":true},"observedAssetCount":{"type":"integer"}}}}}}}},"400":{"description":"Invalid identifier, filter, or cursor."},"503":{"description":"Asset catalogue temporarily unavailable."}}}}},"servers":[{"description":"API for the Stellar public network","url":"https://api.stellaratlas.io"}],"tags":[{"name":"Assets","description":"Asset discovery, identifiers, issuer metadata and cached logos."},{"name":"Public goods","description":"Live readiness and measured publication and archive-check metrics."},{"description":"Parsed historical activity and entity lookup.\n\n**Start here:** transaction detail (`view=typed`), transfer activity, then operations, assets, contracts, offers and trades below. Entity examples use explicit single-ledger windows.\n\n**Pagination:** follow nextOffset with unchanged filters; typed transfer and transaction relationships use their own cursors.\n\n**Coverage and precision:** check returned window and coverage. Observed assets/contracts and historical offers are not complete current-chain inventories. Exact identifiers stay strings; trade/offer amounts marked source_float64 retain source rounding.","name":"Analytics"},{"description":"Current Stellar public-network state and measurements.","name":"Network"},{"description":"Faceted lookup across indexed StellarAtlas read models.","name":"Search"},{"description":"Current and all-known node inventory and measurements.","name":"Nodes"},{"description":"Current and all-known organization inventory and measurements.","name":"Organizations"},{"description":"History archive state, object verification, evidence, and repair views.","name":"Archive verification"},{"description":"StellarAtlas service, scanner, and data-freshness status.","name":"Status"},{"description":"Canonical full-history ingestion and indexing progress.","name":"Full-history ingestion"},{"description":"Read-only Horizon compatibility, SEP-54 Galexie objects, and immutable decoded-history artifacts.","name":"Data access"},{"description":"Federated Byzantine Agreement System quorum evidence.","name":"FBAS"},{"description":"Observed Stellar Consensus Protocol evidence.","name":"SCP"},{"description":"Canonical ledger, transaction, account, and asset lookup.","name":"Explorer"},{"description":"Notification subscription management.","name":"Notifications"}]}