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

# Get trusted spread

> Returns trusted spread in bps (basis points) per organization, exchange, pair and bucket. Trusted values are measured from the market maker's own exchange accounts instead of being reported by it. Market makers see their own organization's values; project owners see every market maker's values for the assets they own. With `interval=a` each row covers the whole range and has no `timestamp`.



## OpenAPI

````yaml /openapi.yaml get /v2/organizations/trusted-metrics/spread/
openapi: 3.0.3
info:
  title: Glass Market API
  version: 1.0.0
  x-logo:
    url: https://api.glassmarkets.io/static/black.png
    backgroundColor: '#FFFFFF'
    altText: Glass Market API
  description: >

    The GlassMarkets API serves the data behind the GlassMarkets app: market
    data

    collected from crypto exchanges, and market-making data for the assets your

    organizations work on. Market makers also use it to submit the metrics they

    report.


    The base URL is `https://api.glassmarkets.io`. Requests and responses are
    JSON,

    and times are ISO 8601 in UTC. `bps` means basis points: 1 bps is 0.01%.


    ## Authentication


    1. Log in with `POST /v1/login/`, sending your email and password. The
    response
       contains a `token` and its `expiry`.
    2. Send the token on every request in the `Authorization` header:
       `Authorization: Token <token>`.

    A token expires one day after its last use, and at most 30 days after login.

    With `"remember_me": true` at login, it stays valid for at least 7 days. A

    request with a missing, expired or revoked token returns `401`: log in
    again.

    `POST /v1/logout/` revokes the token.


    If your account has two-factor authentication, login returns `202` with a

    `challenge_id`. Send it with your authentication code to `POST
    /v1/totp/login/`

    to get the token.


    ## Quickstart


    1. Log in:

       ```
       curl -X POST https://api.glassmarkets.io/v1/login/ \
         -H "Content-Type: application/json" \
         -d '{"email": "you@example.com", "password": "..."}'
       ```

    2. List your organizations with `GET /v1/organizations/`. Each organization
       lists its assets. Each asset lists the exchanges it trades on (`slug`) and
       the pairs on each exchange. Use these exact values in other requests.

       ```
       curl https://api.glassmarkets.io/v1/organizations/ \
         -H "Authorization: Token <token>"
       ```

    3. Call an endpoint with those values, for example the daily trading volume
    of
       one of your assets:

       ```
       curl -G https://api.glassmarkets.io/v2/metrics/volume/ \
         -H "Authorization: Token <token>" \
         -d assets=BTC -d interval=1d \
         -d time_start=2026-09-01T00:00:00Z -d time_end=2026-09-08T00:00:00Z
       ```

    ## Errors


    Invalid input returns `400` with the problem per field, for example

    `{"interval": ["This field is required."]}`. Other errors return a status

    code with a `detail` message: `401` when you are not logged in, `403` when
    your

    account may not use the endpoint, and `404` when the resource does not
    exist.
servers:
  - url: https://api.glassmarkets.io
security: []
tags:
  - name: Authentication
    description: Log in, log out and read the current session.
  - name: Organizations
    description: Your organizations, and the assets, exchanges and pairs each one covers.
  - name: Reported metrics
    description: Volume, depth and spread that market makers report for their assets.
  - name: Trusted metrics
    description: >-
      Volume, depth and spread that Shield measures directly from market makers'
      exchange accounts.
  - name: Market maker metrics
    description: >-
      Market-maker volume, depth, spread, uptime and coverage, combining trusted
      and reported data.
  - name: Targets
    description: >-
      Market-making targets per asset, exchange and pair, and whether they are
      met.
  - name: Market data
    description: >-
      Exchange market data for your assets: volume, spread, order book depth,
      slippage, uptime, futures and more.
  - name: Leaderboard
    description: Trading pairs across exchanges, ranked by market data.
  - name: Loans
    description: Token loans to market makers for your assets.
  - name: RFQ
    description: >-
      Requests for quotes: a project invites market makers to propose
      market-making terms for its token.
  - name: Account
    description: Manage your password, passkeys and two-factor authentication.
paths:
  /v2/organizations/trusted-metrics/spread/:
    get:
      tags:
        - Trusted metrics
      summary: Get trusted spread
      description: >-
        Returns trusted spread in bps (basis points) per organization, exchange,
        pair and bucket. Trusted values are measured from the market maker's own
        exchange accounts instead of being reported by it. Market makers see
        their own organization's values; project owners see every market maker's
        values for the assets they own. With `interval=a` each row covers the
        whole range and has no `timestamp`.
      operationId: v2_organizations_trusted_metrics_spread_get
      parameters:
        - in: query
          name: assets
          schema:
            type: array
            items:
              type: string
            maxItems: 100
          description: >-
            Comma seperated list of assets `<asset>,<asset>`.Defaults to all
            assets the user has access to if not provided.
        - in: query
          name: filename
          schema:
            type: string
          description: File name of the CSV download. Defaults to `data.csv`.
        - in: query
          name: interval
          schema:
            enum:
              - 1M
              - 1w
              - 1d
              - 4h
              - 1h
              - 30m
              - 15m
              - 5m
              - 1m
              - c
              - a
            type: string
            minLength: 1
          description: >-
            * `1M` - Aggregated in 1 month periods.

            * `1w` - Aggregated in 1 week periods.

            * `1d` - Aggregated in 1 day periods.

            * `4h` - Aggregated in 4 hour periods.

            * `1h` - Aggregated in 1 hour periods.

            * `30m` - Aggregated in 30 minute periods.

            * `15m` - Aggregated in 15 minute periods.

            * `5m` - Aggregated in 5 minute periods.

            * `1m` - Aggregated in 1 minute periods.

            * `c` - Will return all the data for the specified time range using
            the biggest periods possible.

            * `a` - Will return the aggregate of the data for the specified time
            range.
          required: true
        - in: query
          name: lookback
          schema:
            enum:
              - 30-minutes
              - 1-hour
              - 3-hours
              - 6-hours
              - 12-hours
              - 1-day
              - 7-days
              - 1-month
              - 3-months
              - 6-months
              - 1-year
            type: string
            minLength: 1
          description: |-
            * `30-minutes` - 30-minutes
            * `1-hour` - 1-hour
            * `3-hours` - 3-hours
            * `6-hours` - 6-hours
            * `12-hours` - 12-hours
            * `1-day` - 1-day
            * `7-days` - 7-days
            * `1-month` - 1-month
            * `3-months` - 3-months
            * `6-months` - 6-months
            * `1-year` - 1-year
        - in: query
          name: organizations
          schema:
            type: array
            items:
              type: string
            maxItems: 100
          description: >-
            Comma seperated list of organization slugs `<slug>,<slug>`.Defaults
            to all organizations the user is member of, if not
            provided.Available organizations are returned in the
            `/v1/organizations` endpoint.
        - in: query
          name: time_end
          schema:
            type: string
            format: date-time
        - in: query
          name: time_start
          schema:
            type: string
            format: date-time
        - in: query
          name: type
          schema:
            type: string
            enum:
              - csv
          description: Set to `csv` to download the rows as a CSV file.
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: >-
                    #/components/schemas/OrganizationReportedMetricsSpreadResponse
            text/csv:
              schema:
                type: string
          description: ''
      security:
        - tokenAuth: []
components:
  schemas:
    OrganizationReportedMetricsSpreadResponse:
      type: object
      properties:
        organization:
          $ref: '#/components/schemas/OrganizationResponse'
        asset:
          type: string
        exchange:
          $ref: '#/components/schemas/ExchangeResponse'
        pair:
          type: string
        timestamp:
          type: string
        spread_bps:
          type: number
          format: double
      required:
        - asset
        - exchange
        - organization
        - pair
        - spread_bps
        - timestamp
    OrganizationResponse:
      type: object
      properties:
        slug:
          type: string
        name:
          type: string
      required:
        - name
        - slug
    ExchangeResponse:
      type: object
      properties:
        slug:
          type: string
        name:
          type: string
        icon_url:
          type: string
          format: uri
      required:
        - icon_url
        - name
        - slug
  securitySchemes:
    tokenAuth:
      type: apiKey
      in: header
      name: Authorization
      description: >-
        Token-based authentication with required prefix "Token ". Example:
        "Token 9944b09199c62bcf9418ad846dd0e4bbdfc6ee4b"
      x-default: Token <token>

````