> ## Documentation Index
> Fetch the complete documentation index at: https://docs.mobula.io/llms.txt
> Use this file to discover all available pages before exploring further.

# onBarsUpdated

> Live-streamed multi-resolution OHLCV bar updates for a pair.

### Returns

<ResponseField name="onBarsUpdated" type="OnBarsUpdatedResponse!">
  Bar update payload pushed on each swap on the pair. See [OnBarsUpdatedResponse](/api-reference/graphql/types/OnBarsUpdatedResponse).
</ResponseField>

### Arguments

<ResponseField name="pairId" type="String">
  Pair identifier in `<pairAddress>:<networkId>` form. Required — `BAD_USER_INPUT` if missing.
</ResponseField>

<ResponseField name="commitmentLevel" type="[BarCommitmentLevel!]">
  Allow-list of commitment levels to receive. Defaults to `[Confirmed]`. See [BarCommitmentLevel](/api-reference/graphql/types/BarCommitmentLevel).
</ResponseField>

<ResponseField name="quoteToken" type="QuoteToken">
  Force the quote-token side (`token0` or `token1`). See [QuoteToken](/api-reference/graphql/types/QuoteToken).
</ResponseField>

### Example

```graphql theme={null}
subscription OnBarsUpdated {
  onBarsUpdated(
    pairId: "BGm1tav58oGcsQJehL9WXBFXF7D27vZsKefj4xJKD5Y:1399811149"
    commitmentLevel: [Confirmed]
    quoteToken: token1
  ) {
    pairAddress
    networkId
    commitmentLevel
    quoteToken
    quoteTokenAddress
    aggregates {
      r5  { t usd { o h l c v volume buys sells } }
      r60 { t usd { o h l c v volume } }
      r1D { t usd { o h l c v volume } }
    }
  }
}
```
