Stellar Horizon API

The Stellar Horizon API is an HTTP REST interface to the Stellar network, providing developer-friendly access to the full ledger data set. It exposes endpoints for querying accounts, transactions, operations, effects, ledgers, offers, trades, claimable balances, liquidity pools, assets, and order books. Horizon also supports submitting new transactions to the network and finding payment paths between assets. The public SDF-hosted instance is available at https://horizon.stellar.org for mainnet and https://horizon-testnet.stellar.org for testnet. No API key is required for read-only queries; transaction submission requires a signed XDR envelope.

OpenAPI Specification

stellar-horizon-api.yml Raw ↑
openapi: 3.1.0
info:
  title: Horizon
  version: 0.0.1
  summary: Horizon provides an HTTP API to data in the Stellar network. It ingests and re-serves the data produced by the Stellar network in a form that is easier to consume by the average application relative to the performance-oriented data representations used by Stellar Core. This API serves the bridge between apps and Stellar Core. Projects like wallets, decentralized exchanges, and asset issuers use Horizon to submit transactions, query an account balance, or stream events like transactions to an account.
  description: |
    Horizon provides an HTTP API to data in the Stellar network. It ingests and re-serves the data produced by the Stellar network in a form that is easier to consume by the average application relative to the performance-oriented data representations used by [Stellar Core](https://developers.stellar.org/network/core-node). This API serves the bridge between apps and Stellar Core. Projects like wallets, decentralized exchanges, and asset issuers use Horizon to submit transactions, query an account balance, or stream events like transactions to an account.

    Horizon can be accessed via cURL, a browser, or one of the [Stellar SDKs](https://developers.stellar.org/docs/tools/sdks). To reduce the complexity of your project, we recommend you use an SDK instead of making direct API calls.

    This guide describes how to administer a production Horizon instance (refer to the [Developers' Blog](https://www.stellar.org/developers-blog/a-new-sun-on-the-horizon) for some background on the performance and architectural improvements of this major version bump). For information about developing on the Horizon codebase, check out the [Development Guide](https://github.com/stellar/stellar-horizon/blob/main/DEVELOPING.md).

    Before we begin, it's worth reiterating the sentiment echoed in the [Core Node](https://developers.stellar.org/network/core-node) documentation: **we do not endorse running Horizon backed by a standalone Stellar Core instance**, and especially not by a _validating_ Stellar Core. These are two separate concerns, and decoupling them is important for both reliability and performance. Horizon instead manages its own, pared-down version of Stellar Core optimized for its own subset of needs (we'll refer to this as a "Captive Core" instance).
  termsOfService: https://stellar.org/terms-of-service
  contact:
    name: Stellar Development Foundation
    url: https://stellar.org
    email: [email protected]
  license:
    name: Apache 2.0
    identifier: Apache-2.0
    url: http://www.apache.org/licenses/LICENSE-2.0.html
servers:
  - url: https://horizon-testnet.stellar.org
    description: The Testnet Network
  - url: https://horizon-futurenet.stellar.org
    description: The Futurenet network
tags:
  - name: Accounts
    description: Users interact with the Stellar network through accounts. Everything else in the ledger—assets, offers, trustlines, etc. are owned by accounts, and accounts must authorize all changes to the ledger through signed transactions.
  - name: Assets
    description: Assets are representations of value issued on the Stellar network. An asset consists of a type, code, and issuer.
  - name: Claimable Balances
    description: A Claimable Balance represents the transfer of ownership of some amount of an asset. Claimable balances provide a mechanism for setting up a payment which can be claimed in the future. This allows you to make payments to accounts which are currently not able to accept them.
  - name: Effects
    description: Effects represent specific changes that occur in the ledger as a result of successful operations, but are not necessarily directly reflected in the ledger or history, as transactions and operations are.
  - name: Fee Stats
    description: Fee stats are used to predict what fee to set for a transaction before submitting it to the network.
  - name: Liquidity Pools
    description: Liquidity Pools provide a simple, non-interactive way to trade large amounts of capital and enable high volumes of trading.
  - name: Ledgers
    description: Each ledger stores the state of the network at a point in time and contains all the changes - transactions, operations, effects, etc. - to that state.
  - name: Offers
    description: Offers are statements about how much of an asset an account wants to buy or sell.
  - name: Operations
    description: 'Operations are objects that represent a desired change to the ledger: payments, offers to exchange currency, changes made to account options, etc. Operations are submitted to the Stellar network grouped in a Transaction.'
  - name: Order Books
    description: An order book is a collections of offers for a specific pair of assets.
  - name: Paths
    description: Paths provide information about potential path payments. A path can be used to populate the necessary fields for a path payment operation.
  - name: Payments
    description: Payments are objects that represent balance transfer from one address to another. Payments are submitted to the Stellar network grouped in a Transaction.
  - name: Trade Aggregations
    description: A trade aggregation represents aggregated statistics on an asset pair (base and counter) for a specific time period. Trade aggregations are useful to developers of trading clients and provide historical trade data.
  - name: Trades
    description: When an offer is fully or partially fulfilled, a trade happens. Trades can also be caused by successful path payments, because path payments involve fulfilling offers. A trade occurs between two parties—base and counter. Which is which is either arbitrary or determined by the calling query.
  - name: Transactions
    description: Transactions are commands that modify the ledger state and consist of one or more operations.
paths:
  /accounts:
    get:
      tags:
        - Accounts
      summary: List all Accounts
      description: 'This endpoint lists accounts by one of four filters : signer, asset, liquidity pool  or sponsor.'
      operationId: ListAllAccounts
      parameters:
        - $ref: '#/components/parameters/SponsorParam'
        - $ref: '#/components/parameters/AssetParam'
        - $ref: '#/components/parameters/SignerParam'
        - $ref: '#/components/parameters/LiquidityPoolParam'
        - $ref: '#/components/parameters/CursorParam'
        - $ref: '#/components/parameters/OrderParam'
        - $ref: '#/components/parameters/LimitParam'
      x-supports-streaming: true
      responses:
        '200':
          description: 'Returns accounts based on provided filter: signer , asset, sponser or liquidity pool'
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/Links'
                  - $ref: '#/components/schemas/Account'
              examples:
                ListAllAccounts:
                  $ref: '#/components/examples/ListAllAccounts'
  /accounts/{account_id}:
    get:
      tags:
        - Accounts
      summary: Retrieve an Account
      description: The single account endpoint provides information on a specific account. The balances section in the response will also list all the trustlines this account has established, including trustlines that haven’t been authorized yet.
      operationId: RetrieveAnAccount
      parameters:
        - $ref: '#/components/parameters/AccountIDParam'
      responses:
        '200':
          description: Returns details like balances, sponserships etc. about an account.
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/Links'
                  - $ref: '#/components/schemas/Account'
              examples:
                RetrieveAnAccount:
                  $ref: '#/components/examples/RetrieveAnAccount'
  /accounts/{account_id}/transactions:
    get:
      tags:
        - Accounts
      summary: Retrieve an Account's Transactions
      description: This endpoint represents successful transactions for a given account and can be used in streaming mode. Streaming mode allows you to listen for new transactions for this account as they are added to the Stellar ledger. If called in streaming mode, Horizon will start at the earliest known transaction unless a cursor is set, in which case it will start from that cursor. By setting the cursor value to now, you can stream transactions created since your request time.
      operationId: GetTransactionsByAccountId
      parameters:
        - $ref: '#/components/parameters/AccountIDParam'
        - $ref: '#/components/parameters/CursorParam'
        - $ref: '#/components/parameters/OrderParam'
        - $ref: '#/components/parameters/LimitParam'
        - $ref: '#/components/parameters/IncludeFailedParam'
      x-supports-streaming: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/Links'
                  - $ref: '#/components/schemas/Transaction'
              examples:
                RetrieveAnAccountsTransactions:
                  $ref: '#/components/examples/RetrieveAnAccountsTransactions'
  /accounts/{account_id}/operations:
    get:
      tags:
        - Accounts
      summary: Retrieve an Account's Operations
      description: This endpoint represents successful operations for a given account and can be used in streaming mode. Streaming mode allows you to listen for new operations for this account as they are added to the Stellar ledger. If called in streaming mode, Horizon will start at the earliest known operation unless a cursor is set, in which case it will start from that cursor. By setting the cursor value to now, you can stream operations created since your request time.
      operationId: GetOperationsByAccountId
      parameters:
        - $ref: '#/components/parameters/AccountIDParam'
        - $ref: '#/components/parameters/CursorParam'
        - $ref: '#/components/parameters/OrderParam'
        - $ref: '#/components/parameters/LimitParam'
        - $ref: '#/components/parameters/IncludeFailedParam'
        - $ref: '#/components/parameters/JoinParam'
      x-supports-streaming: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/Links'
                  - oneOf:
                      - $ref: '#/components/schemas/CreateAccount'
                      - $ref: '#/components/schemas/Payment'
                      - $ref: '#/components/schemas/PathPaymentStrictReceive'
                      - $ref: '#/components/schemas/PathPaymentStrictSend'
                      - $ref: '#/components/schemas/AccountMerge'
              examples:
                RetrieveAnAccountsOperations:
                  $ref: '#/components/examples/RetrieveAnAccountsOperations'
  /accounts/{account_id}/payments:
    get:
      tags:
        - Accounts
      summary: Retrieve an Account's Payments
      description: This endpoint represents successful payments for a given account and can be used in streaming mode. Streaming mode allows you to listen for new payments for this account as they are added to the Stellar ledger. If called in streaming mode, Horizon will start at the earliest known payment unless a cursor is set, in which case it will start from that cursor. By setting the cursor value to now, you can stream payments created since your request time.
      operationId: GetPaymentsByAccountId
      parameters:
        - $ref: '#/components/parameters/AccountIDParam'
        - $ref: '#/components/parameters/CursorParam'
        - $ref: '#/components/parameters/OrderParam'
        - $ref: '#/components/parameters/LimitParam'
        - $ref: '#/components/parameters/IncludeFailedParam'
        - $ref: '#/components/parameters/JoinParam'
      x-supports-streaming: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/Links'
                  - $ref: '#/components/schemas/Payment'
              examples:
                RetrieveAnAccountsPayments:
                  $ref: '#/components/examples/RetrieveAnAccountsPayments'
  /accounts/{account_id}/effects:
    get:
      tags:
        - Accounts
      summary: Retrieve an Account's Effects
      description: This endpoint returns the effects of a specific account and can be used in streaming mode. Streaming mode allows you to listen for new effects for this account as they are added to the Stellar ledger. If called in streaming mode, Horizon will start at the earliest known effect unless a cursor is set, in which case it will start from that cursor. By setting the cursor value to now, you can stream effects created since your request time.
      operationId: GetEffectsByAccountId
      parameters:
        - $ref: '#/components/parameters/AccountIDParam'
        - $ref: '#/components/parameters/CursorParam'
        - $ref: '#/components/parameters/OrderParam'
        - $ref: '#/components/parameters/LimitParam'
      x-supports-streaming: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/Links'
                  - oneOf:
                      - $ref: '#/components/schemas/CreateAccount'
                      - $ref: '#/components/schemas/Payment'
                      - $ref: '#/components/schemas/PathPaymentStrictReceive'
                      - $ref: '#/components/schemas/PathPaymentStrictSend'
                      - $ref: '#/components/schemas/AccountMerge'
              examples:
                RetrieveAnAccountsEffects:
                  $ref: '#/components/examples/RetrieveAnAccountsEffects'
  /accounts/{account_id}/offers:
    get:
      tags:
        - Accounts
      summary: Retrieve an Account's Offers
      description: This endpoint represents all offers a given account has currently open and can be used in streaming mode. Streaming mode allows you to listen for new offers for this account as they are added to the Stellar ledger. If called in streaming mode, Horizon will start at the earliest known offer unless a cursor is set, in which case it will start from that cursor. By setting the cursor value to now, you can stream offers created since your request time.
      operationId: GetOffersByAccountId
      parameters:
        - $ref: '#/components/parameters/AccountIDParam'
        - $ref: '#/components/parameters/CursorParam'
        - $ref: '#/components/parameters/OrderParam'
        - $ref: '#/components/parameters/LimitParam'
      x-supports-streaming: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/Links'
                  - $ref: '#/components/schemas/Offer'
              examples:
                RetrieveAnAccountsOffers:
                  $ref: '#/components/examples/RetrieveAnAccountsOffers'
  /accounts/{account_id}/trades:
    get:
      tags:
        - Accounts
      summary: Retrieve an Account's Trades
      description: This endpoint represents all trades for a given account and can be used in streaming mode. Streaming mode allows you to listen for trades for this account as they are added to the Stellar ledger. If called in streaming mode, Horizon will start at the earliest known trade unless a cursor is set, in which case it will start from that cursor. By setting the cursor value to now, you can stream trades created since your request time.
      operationId: GetTradesByAccountId
      parameters:
        - $ref: '#/components/parameters/AccountIDParam'
        - $ref: '#/components/parameters/CursorParam'
        - $ref: '#/components/parameters/OrderParam'
        - $ref: '#/components/parameters/LimitParam'
      x-supports-streaming: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/Links'
                  - $ref: '#/components/schemas/Trade'
              examples:
                RetrieveAnAccountsTrades:
                  $ref: '#/components/examples/RetrieveAnAccountsTrades'
  /accounts/{account_id}/data/{key}:
    get:
      tags:
        - Accounts
      summary: Retrieve an Account's Data
      description: This endpoint represents a single data for a given account.
      operationId: GetDataByAccountId
      parameters:
        - $ref: '#/components/parameters/AccountIDParam'
        - $ref: '#/components/parameters/DataParam'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  value:
                    type: string
              examples:
                RetrieveAnAccountsData:
                  $ref: '#/components/examples/RetrieveAnAccountsData'
  /assets:
    get:
      tags:
        - Assets
      summary: List all Assets
      description: This endpoint lists all assets.
      operationId: ListAllAssets
      parameters:
        - $ref: '#/components/parameters/AssetCodeParam'
        - $ref: '#/components/parameters/AssetIssuerParam'
        - $ref: '#/components/parameters/CursorParam'
        - $ref: '#/components/parameters/OrderParam'
        - $ref: '#/components/parameters/LimitParam'
      x-supports-streaming: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/Links'
                  - $ref: '#/components/schemas/Asset'
              examples:
                ListAllAssets:
                  $ref: '#/components/examples/ListAllAssets'
  /claimable_balances:
    get:
      tags:
        - Claimable Balances
      summary: List All Claimable Balances
      description: This endpoint lists all available claimable balances.
      operationId: ListAllClaimableBalances
      parameters:
        - $ref: '#/components/parameters/SponsorParam'
        - $ref: '#/components/parameters/AssetParam'
        - $ref: '#/components/parameters/ClaimantParam'
        - $ref: '#/components/parameters/CursorParam'
        - $ref: '#/components/parameters/OrderParam'
        - $ref: '#/components/parameters/LimitParam'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/Links'
                  - $ref: '#/components/schemas/ClaimableBalances'
              examples:
                ListAllClaimableBalances:
                  $ref: '#/components/examples/ListAllClaimableBalances'
  /claimable_balances/{claimable_balance_id}:
    get:
      tags:
        - Claimable Balances
      summary: Retrieve a Claimable Balance
      description: The single claimable balance endpoint provides information on a claimable balance.
      operationId: RetrieveAClaimableBalance
      parameters:
        - $ref: '#/components/parameters/ClaimableBalanceIdParam'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClaimableBalance'
              examples:
                RetrieveAClaimableBalance:
                  $ref: '#/components/examples/RetrieveAClaimableBalance'
  /claimable_balances/{claimable_balance_id}/transactions:
    get:
      tags:
        - Claimable Balances
      summary: Retrieve Related Transactions
      description: This endpoint represents successful transactions referencing a given claimable balance and can be used in streaming mode. Streaming mode allows you to listen for new transactions referencing this claimable balance as they are added to the Stellar ledger. If called in streaming mode, Horizon will start at the earliest known transaction unless a cursor is set, in which case it will start from that cursor. By setting the cursor value to now, you can stream transactions created since your request time.
      operationId: CBRetrieveRelatedTransactions
      parameters:
        - $ref: '#/components/parameters/ClaimableBalanceIdParam'
        - $ref: '#/components/parameters/CursorParam'
        - $ref: '#/components/parameters/OrderParam'
        - $ref: '#/components/parameters/LimitParam'
        - $ref: '#/components/parameters/IncludeFailedParam'
      x-supports-streaming: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/Links'
                  - $ref: '#/components/schemas/Transaction'
              examples:
                CBRetrieveRelatedTransactions:
                  $ref: '#/components/examples/CBRetrieveRelatedTransactions'
  /claimable_balances/{claimable_balance_id}/operations:
    get:
      tags:
        - Claimable Balances
      summary: Retrieve Related Operations
      description: This endpoint represents successful operations referencing a given claimable balance and can be used in streaming mode. Streaming mode allows you to listen for new operations referencing this claimable balance as they are added to the Stellar ledger. If called in streaming mode, Horizon will start at the earliest known operation unless a cursor is set, in which case it will start from that cursor. By setting the cursor value to now, you can stream operations created since your request time.
      operationId: CBRetrieveRelatedOperations
      parameters:
        - $ref: '#/components/parameters/ClaimableBalanceIdParam'
        - $ref: '#/components/parameters/CursorParam'
        - $ref: '#/components/parameters/OrderParam'
        - $ref: '#/components/parameters/LimitParam'
        - $ref: '#/components/parameters/IncludeFailedParam'
        - $ref: '#/components/parameters/JoinParam'
      x-supports-streaming: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/Links'
                  - oneOf:
                      - $ref: '#/components/schemas/CreateAccount'
                      - $ref: '#/components/schemas/Payment'
                      - $ref: '#/components/schemas/PathPaymentStrictReceive'
                      - $ref: '#/components/schemas/PathPaymentStrictSend'
                      - $ref: '#/components/schemas/AccountMerge'
              examples:
                CBRetrieveRelatedOperations:
                  $ref: '#/components/examples/CBRetrieveRelatedOperations'
  /effects:
    get:
      tags:
        - Effects
      summary: List All Effects
      description: This endpoint lists all effects and can be used in streaming mode. Streaming mode allows you to listen for new effects as they are added to the Stellar ledger. If called in streaming mode, Horizon will start at the earliest known effect unless a cursor is set, in which case it will start from that cursor. By setting the cursor value to now, you can stream effects created since your request time.
      operationId: ListAllEffects
      parameters:
        - $ref: '#/components/parameters/CursorParam'
        - $ref: '#/components/parameters/OrderParam'
        - $ref: '#/components/parameters/LimitParam'
      x-supports-streaming: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/Links'
                  - $ref: '#/components/schemas/Effect'
              examples:
                ListAllEffects:
                  $ref: '#/components/examples/ListAllEffects'
  /fee_stats:
    get:
      tags:
        - Fee Stats
      summary: Retrieve Fee Stats
      description: The fee stats endpoint provides information about per-operation fee stats over the last 5 ledgers.
      operationId: RetrieveFeeStats
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FeeStats'
              examples:
                RetrieveFeeStats:
                  $ref: '#/components/examples/RetrieveFeeStats'
      x-codeSamples:
        - lang: JavaScript
          label: '@stellar/stellar-sdk'
          source: |
            var StellarSdk = require("@stellar/stellar-sdk");
            var server = new StellarSdk.Horizon.Server(
              "https://horizon-testnet.stellar.org",
            );

            server
              .feeStats()
              .then(function (resp) {
                console.log(resp);
              })
              .catch(function (err) {
                console.error(err);
              });
  /ledgers/{sequence}:
    get:
      tags:
        - Ledgers
      summary: Retrieve a Ledger
      description: The single ledger endpoint provides information on a specific ledger.
      operationId: RetrieveALedger
      parameters:
        - $ref: '#/components/parameters/SequenceParam'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Ledger'
              examples:
                RetrieveALedger:
                  $ref: '#/components/examples/RetrieveALedger'
  /ledgers/{sequence}/transactions:
    get:
      tags:
        - Ledgers
      summary: Retrieve a Ledger's Transactions
      description: This endpoint represents successful transactions in a given ledger.
      operationId: RetrieveALedgersTransactions
      parameters:
        - $ref: '#/components/parameters/SequenceParam'
        - $ref: '#/components/parameters/CursorParam'
        - $ref: '#/components/parameters/OrderParam'
        - $ref: '#/components/parameters/LimitParam'
        - $ref: '#/components/parameters/IncludeFailedParam'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/Links'
                  - $ref: '#/components/schemas/Transaction'
              examples:
                RetrieveALedgersTransactions:
                  $ref: '#/components/examples/RetrieveALedgersTransactions'
  /ledgers/{sequence}/payments:
    get:
      tags:
        - Ledgers
      summary: Retrieve a Ledger's Payments
      description: 'This endpoint returns all payment-related operations in a specific ledger. Operation types that can be returned by this endpoint include: create_account, payment, path_payment, and account_merge.'
      operationId: RetrieveALedgersPayments
      parameters:
        - $ref: '#/components/parameters/SequenceParam'
        - $ref: '#/components/parameters/CursorParam'
        - $ref: '#/components/parameters/OrderParam'
        - $ref: '#/components/parameters/LimitParam'
        - $ref: '#/components/parameters/IncludeFailedParam'
        - $ref: '#/components/parameters/JoinParam'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/Links'
                  - $ref: '#/components/schemas/Payment'
              examples:
                RetrieveALedgersPayments:
                  $ref: '#/components/examples/RetrieveALedgersPayments'
  /ledgers/{sequence}/operations:
    get:
      tags:
        - Ledgers
      summary: Retrieve a Ledger's Operations
      description: This endpoint returns successful operations in a specific ledger.
      operationId: RetrieveALedgersOperations
      parameters:
        - $ref: '#/components/parameters/SequenceParam'
        - $ref: '#/components/parameters/CursorParam'
        - $ref: '#/components/parameters/OrderParam'
        - $ref: '#/components/parameters/LimitParam'
        - $ref: '#/components/parameters/IncludeFailedParam'
        - $ref: '#/components/parameters/JoinParam'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Operation'
              examples:
                RetrieveALedgersOperations:
                  $ref: '#/components/examples/RetrieveALedgersOperations'
  /ledgers/{sequence}/effects:
    get:
      tags:
        - Ledgers
      summary: Retrieve a Ledgers's Effects
      description: This endpoint returns the effects of a specific ledger.
      operationId: RetrieveALedgersEffects
      parameters:
        - $ref: '#/components/parameters/SequenceParam'
        - $ref: '#/components/parameters/CursorParam'
        - $ref: '#/components/parameters/OrderParam'
        - $ref: '#/components/parameters/LimitParam'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/Links'
                  - $ref: '#/components/schemas/Effect'
              examples:
                RetrieveALedgersEffects:
                  $ref: '#/components/examples/RetrieveALedgersEffects'
  /ledgers:
    get:
      tags:
        - Ledgers
      summary: List All Ledgers
      description: This endpoint lists all ledgers and can be used in streaming mode. Streaming mode allows you to listen for new ledgers as they close. If called in streaming mode, Horizon will start at the earliest known ledger unless a cursor is set, in which case it will start from that cursor. By setting the cursor value to now, you can stream ledgers since your request time.
      operationId: ListAllLedgers
      parameters:
        - $ref: '#/components/parameters/CursorParam'
        - $ref: '#/components/parameters/OrderParam'
        - $ref: '#/components/parameters/LimitParam'
      x-supports-streaming: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Ledger'
              examples:
                ListAllLedgers:
                  $ref: '#/components/examples/ListAllLedgers'
  /liquidity_pools:
    get:
      tags:
        - Liquidity Pools
      summary: List Liquidity Pools
      description: This endpoint lists all available liquidity pools.
      operationId: ListLiquidityPools
      parameters:
        - $ref: '#/components/parameters/ReserveParam'
        - $ref: '#/components/parameters/AccountParam'
        - $ref: '#/components/parameters/CursorParam'
        - $ref: '#/components/parameters/OrderParam'
        - $ref: '#/components/parameters/LimitParam'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/Links'
                  - $ref: '#/components/schemas/LiquidityPools'
              examples:
                ListLiquidityPools:
                  $ref: '#/components/examples/ListLiquidityPools'
  /liquidity_pools/{liquidity_pool_id}:
    get:
      tags:
        - Liquidity Pools
      summary: Retrieve a Liquidity Pool
      description: The single liquidity pool endpoint provides information on a liquidity pool.
      operationId: RetrieveALiquidityPool
      parameters:
        - $ref: '#/components/parameters/LiquidityPoolParamId'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LiquidityPool'
              examples:
                RetrieveALiquidityPool:
                  $ref: '#/components/examples/RetrieveALiquidityPool'
  /liquidity_pools/{liquidity_pool_id}/effects:
    get:
      tags:
        - Liquidit

# --- truncated at 32 KB (391 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/stellar/refs/heads/main/openapi/stellar-horizon-api.yml