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

# List Fills

> Get a list of fills filtered by optional query parameters (`product_ids`, `order_ids`, etc.).

**Equities:** Pass `EQUITY` in `product_types` to return only equity fills. When filtering by product, use the canonical `product_id` rather than the display ticker.



## OpenAPI

````yaml GET /api/v3/brokerage/orders/historical/fills
openapi: 3.1.0
info:
  title: Coinbase Advanced Trade API
  version: '0.1'
servers:
  - url: https://api.coinbase.com
security:
  - ApiKey: []
  - OAuth2: []
paths:
  /api/v3/brokerage/orders/historical/fills:
    get:
      tags:
        - Orders
      summary: List Fills
      description: >-
        Get a list of fills filtered by optional query parameters
        (`product_ids`, `order_ids`, etc.).


        **Equities:** Pass `EQUITY` in `product_types` to return only equity
        fills. When filtering by product, use the canonical `product_id` rather
        than the display ticker.
      operationId: RetailBrokerageApi_GetFills
      parameters:
        - name: order_ids
          description: The ID(s) of order(s).
          in: query
          required: false
          explode: true
          schema:
            type: array
            items:
              type: string
        - name: trade_ids
          description: The ID(s) of the trades of fills.
          in: query
          required: false
          explode: true
          schema:
            type: array
            items:
              type: string
        - name: product_ids
          description: >-
            Canonical product ID(s) to filter fills by. For equities, use
            product_id rather than the display ticker.
          in: query
          required: false
          explode: true
          schema:
            type: array
            items:
              type: string
        - name: start_sequence_timestamp
          description: >-
            Only fills with a trade time after the specified start date are
            returned.
          in: query
          required: false
          schema:
            type: string
            format: RFC3339 Timestamp
        - name: end_sequence_timestamp
          description: >-
            Only fills with a trade time before the specified end date are
            returned.
          in: query
          required: false
          schema:
            type: string
            format: RFC3339 Timestamp
        - name: retail_portfolio_id
          description: >-
            **(Deprecated)** Only fills matching this retail portfolio id are
            returned. Only applicable for legacy keys. CDP keys will default to
            the key's permissioned portfolio.
          in: query
          required: false
          schema:
            type: string
        - name: limit
          description: The number of fills to be returned (default is 100).
          in: query
          required: false
          schema:
            type: integer
            format: int64
        - name: cursor
          description: >-
            For paginated responses, returns all responses that come after this
            value.
          in: query
          required: false
          schema:
            type: string
        - name: sort_by
          description: >-
            Sort results by a field, results use unstable pagination. Default is
            sort by creation time
          in: query
          required: false
          schema:
            type: string
            enum:
              - UNKNOWN_SORT_BY
              - PRICE
              - TRADE_TIME
            default: UNKNOWN_SORT_BY
        - name: asset_filters
          description: >-
            Only returns the fills where the quote, base or underlying asset
            matches the provided asset filter(s) (e.g. 'BTC').
          in: query
          required: false
          explode: true
          schema:
            type: array
            items:
              type: string
        - name: order_types
          description: >-
            Only returns fills for orders matching the specified order types
            (e.g. 'MARKET', 'LIMIT').

             - MARKET: A [market order](https://en.wikipedia.org/wiki/Order_(exchange)#Market_order)
             - LIMIT: A [limit order](https://en.wikipedia.org/wiki/Order_(exchange)#Limit_order)
             - STOP: A stop order is an order that becomes a market order when triggered
             - STOP_LIMIT: A stop order is a limit order that doesn't go on the book until it hits the stop price
             - BRACKET: A bracket order is a way to mitigate potential losses in volatile markets, consisting of a limit price leg and a stop trigger price.
             - TWAP: TWAP order is a way to split large buy/sell orders to smaller chunks to reduce market impact
             - ROLL_OPEN: ROLL_OPEN order is the open step order of a contract roll
             - ROLL_CLOSE: ROLL_CLOSE is the close step order in a contract roll
             - LIQUIDATION: LIQUIDATION is a special order type that is used to liquidate a position
             - SCALED: SCALED order is an order that is split into multiple child orders at incrementally increasing or decreasing prices
          in: query
          required: false
          explode: true
          schema:
            type: array
            items:
              type: string
              enum:
                - UNKNOWN_ORDER_TYPE
                - MARKET
                - LIMIT
                - STOP
                - STOP_LIMIT
                - BRACKET
                - TWAP
                - ROLL_OPEN
                - ROLL_CLOSE
                - LIQUIDATION
                - SCALED
        - name: order_side
          description: >-
            Only returns fills for orders matching the specified side ('BUY' or
            'SELL'). By default, returns all sides.
          in: query
          required: false
          schema:
            type: string
            enum:
              - BUY
              - SELL
            default: ''
        - name: product_types
          description: >-
            Only returns fills for orders matching the specified product types
            (for example, SPOT, FUTURE, or EQUITY). By default, returns all
            product types.
          in: query
          required: false
          explode: true
          schema:
            type: array
            items:
              type: string
              enum:
                - UNKNOWN_PRODUCT_TYPE
                - SPOT
                - FUTURE
                - EQUITY
                - OPTION_GROUP
                - FUTURE_GROUP
        - name: proof_token
          description: >-
            Optional proof token for 2FA validation when accessing transaction
            history (EU SCA compliance).
          in: query
          required: false
          schema:
            type: string
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/coinbase.public_api.authed.retail_brokerage_api.GetFillsResponse
            text/event-stream:
              schema:
                $ref: >-
                  #/components/schemas/coinbase.public_api.authed.retail_brokerage_api.GetFillsResponse
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/grpc.gateway.runtime.Error'
            text/event-stream:
              schema:
                $ref: '#/components/schemas/grpc.gateway.runtime.Error'
      security:
        - ApiKey:
            - view
        - OAuth2:
            - wallet:transactions:read
components:
  schemas:
    coinbase.public_api.authed.retail_brokerage_api.GetFillsResponse:
      type: object
      properties:
        fills:
          type: array
          items:
            $ref: >-
              #/components/schemas/coinbase.public_api.authed.retail_brokerage_api.Fill
          description: All fills matching the filters.
        cursor:
          type: string
          example: '789100'
          description: >-
            For paginated responses, returns all responses that come after this
            value.
        proof_token_required:
          type: boolean
          example: true
          description: >-
            Indicates that a valid proof token is required to access this data
            (EU SCA compliance).
    grpc.gateway.runtime.Error:
      type: object
      properties:
        error:
          type: string
        code:
          type: integer
          format: int32
        message:
          type: string
        details:
          type: array
          items:
            type: object
            additionalProperties: true
    coinbase.public_api.authed.retail_brokerage_api.Fill:
      type: object
      properties:
        entry_id:
          type: string
          example: 22222-2222222-22222222
          description: Unique identifier for the fill.
        trade_id:
          type: string
          example: 1111-11111-111111
          description: >-
            ID of the fill -- unique for all `FILL` trade_types but not unique
            for adjusted fills.
        order_id:
          type: string
          example: 0000-000000-000000
          description: The ID of the order.
        trade_time:
          type: string
          format: RFC3339 Timestamp
          example: '2021-05-31T09:59:59Z'
          description: Time at which this fill was completed.
        trade_type:
          type: string
          example: FILL
          description: >-
            String denoting what type of fill this is. Regular fills have the
            value `FILL`. Adjusted fills have possible values `REVERSAL`,
            `CORRECTION`, `SYNTHETIC`.
        price:
          type: string
          example: '10000.00'
          description: Price the fill was posted at.
        size:
          type: string
          example: '0.001'
          description: Amount of order that was transacted at this fill.
        commission:
          type: string
          example: '1.25'
          description: Fee amount for fill.
        product_id:
          type: string
          example: BTC-USD
          description: >-
            Canonical product identifier for the fill. For equities, use the
            product_id returned by the Products API, not the display ticker.
        sequence_timestamp:
          type: string
          format: RFC3339 Timestamp
          example: '2021-05-31T09:58:59Z'
          description: Time at which this fill was posted.
        liquidity_indicator:
          description: Whether this fill gives or takes liquidity.
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.public_api.authed.retail_brokerage_api.LiquidityIndicator
        size_in_quote:
          type: boolean
          example: false
          description: Whether the order was placed with quote currency.
        user_id:
          type: string
          example: 3333-333333-3333333
          description: User that placed the order the fill belongs to.
        side:
          description: Side of order that this fill belongs to.
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.public_api.authed.retail_brokerage_api.OrderSide
        retail_portfolio_id:
          type: string
          example: 4444-444444-4444444
          description: Portfolio that the order fill belongs to.
        fillSource:
          description: Field denoting what type of fill source was used for this fill.
          title: Represents a fill source type used
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.public_api.authed.retail_brokerage_api.FillSource
        commission_detail_total:
          description: Breakdown of commission charges for the fill
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.public_api.authed.retail_brokerage_api.CommissionDetailTotal
        order_data_source:
          description: The backend system from which this fill was retrieved.
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.public_api.authed.retail_brokerage_api.OrderDataSource
        future_legs:
          type: array
          items:
            $ref: >-
              #/components/schemas/coinbase.public_api.authed.retail_brokerage_api.FillFutureLeg
          description: Individual legs of a futures combo fill. Empty for non-combo fills.
      title: Represents a fill for an order in the system
    coinbase.public_api.authed.retail_brokerage_api.LiquidityIndicator:
      type: string
      enum:
        - UNKNOWN_LIQUIDITY_INDICATOR
        - MAKER
        - TAKER
      default: UNKNOWN_LIQUIDITY_INDICATOR
    coinbase.public_api.authed.retail_brokerage_api.OrderSide:
      type: string
      enum:
        - BUY
        - SELL
      default: ''
    coinbase.public_api.authed.retail_brokerage_api.FillSource:
      type: string
      enum:
        - FILL_SOURCE_UNKNOWN
        - FILL_SOURCE_CLOB
        - FILL_SOURCE_RFQ
      default: FILL_SOURCE_UNKNOWN
      title: Represents the source of a fill in the system
    coinbase.public_api.authed.retail_brokerage_api.CommissionDetailTotal:
      type: object
      properties:
        total_commission:
          type: string
          title: |-
            Total commission amount charged for the order
            This is the sum of all commission charged on the order
        gst_commission:
          type: string
          title: Goods and Services Tax (GST) portion of the commission
        withholding_commission:
          type: string
          title: Tax withholding portion of the commission
        client_commission:
          type: string
          title: Client commission on the trade
        venue_commission:
          type: string
          title: Venue Commission
        regulatory_commission:
          type: string
          title: Regulatory Commission
        clearing_commission:
          type: string
          title: Clearing Commission
      title: >-
        CommissionDetailTotal contains the breakdown of commission charges for
        an order
    coinbase.public_api.authed.retail_brokerage_api.OrderDataSource:
      type: string
      enum:
        - ORDER_DATA_SOURCE_UNKNOWN
        - ORDER_DATA_SOURCE_TRADING_PROXY
        - ORDER_DATA_SOURCE_ACCOUNT_HISTORY_SERVICE
      default: ORDER_DATA_SOURCE_UNKNOWN
      description: OrderDataSource identifies which backend system served the order.
    coinbase.public_api.authed.retail_brokerage_api.FillFutureLeg:
      type: object
      properties:
        product_id:
          type: string
          description: Futures product identifier for this leg.
        combo_id:
          type: string
          description: Identifier shared by all legs of the same combo fill.
        trade_id:
          type: string
          description: Trade identifier for this leg's fill.
        filled_price:
          type: string
          description: Filled price for this leg.
        filled_size:
          type: string
          description: Filled quantity for this leg.
        side:
          description: BUY/SELL direction of this leg.
          allOf:
            - $ref: >-
                #/components/schemas/coinbase.public_api.authed.retail_brokerage_api.OrderSide
      description: FillFutureLeg represents an individual leg of a futures combo fill.
  securitySchemes:
    ApiKey:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: >-
        A bearer token signed using your API Key Secret, see [Creating API
        Keys](/coinbase-app/authentication-authorization/api-key-authentication)
        section of our docs for more information. See [Scope &
        Permissions](/coinbase-app/advanced-trade-apis/rest-scopes) for the
        permission each endpoint requires.
    OAuth2:
      type: oauth2
      description: >-
        An OAuth 2.0 access token from the Coinbase App OAuth2 flow. See [Scope
        & Permissions](/coinbase-app/advanced-trade-apis/rest-scopes) for the
        scope each endpoint requires.
      flows:
        authorizationCode:
          authorizationUrl: https://login.coinbase.com/oauth2/auth
          tokenUrl: https://login.coinbase.com/oauth2/token
          scopes:
            wallet:user:read: View your account information.
            wallet:user:update: Update your account information.
            wallet:accounts:read: View your accounts.
            wallet:buys:create: Place, edit, and cancel orders.
            wallet:trades:read: View your cryptocurrency conversions.
            wallet:trades:create: Convert cryptocurrencies.
            wallet:transactions:read: View your transactions.
            wallet:transactions:transfer: Transfer funds between accounts.
            wallet:payment-methods:read: View your payment methods.

````