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

# list_positions

> List all open Alpaca positions for the configured account.

## alpaca\_list\_positions

```python
tools = trading.alpaca(
    api_key=os.environ["ALPACA_KEY"],
    api_secret=os.environ["ALPACA_SECRET"],
    model="openai",
    paper=True,
    minimal=True,
    include=["alpaca_list_positions"],
)
```

**Options**

* `include` / `exclude`: filter which tools are exposed (use full names like `alpaca_list_positions`).
* `minimal`: omit `provider` and `provider_fields` when `True`.
* `paper`: use Alpaca paper trading instead of live trading.


## OpenAPI

````yaml api-reference/openapi.json get /tools/alpaca/list_positions
openapi: 3.1.0
info:
  title: OpenTools Trading Tools
  version: 0.1.0
  description: >-
    Reference for OpenTools trading tool calls. These are SDK tools, documented
    as virtual endpoints for clarity.
servers: []
security: []
tags:
  - name: Alpaca
    description: >-
      Read-only account + assets + clock + orders + portfolio history +
      positions.
  - name: Coinbase
    description: >-
      Accounts + portfolios + portfolio breakdown + positions (derived) +
      brokerage products + orders (if available).
paths:
  /tools/alpaca/list_positions:
    get:
      tags:
        - Alpaca
      summary: list_positions
      description: List all open Alpaca positions for the configured account.
      operationId: alpaca_list_positions
      requestBody:
        required: false
        description: This is a request to obtain information. Your API keys are required.
        content:
          application/json:
            schema:
              type: object
              additionalProperties: false
              description: ''
            example: {}
      responses:
        '200':
          description: Positions (OpenTools trading schema).
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  additionalProperties: false
                  description: ''
                  properties:
                    provider:
                      type:
                        - string
                        - 'null'
                      description: Trading provider identifier. Omitted when minimal=True.
                    symbol:
                      type: string
                      description: Instrument symbol (e.g. "AAPL", "BTCUSD").
                    qty:
                      type:
                        - string
                        - 'null'
                      description: Position size.
                    avg_entry_price:
                      type:
                        - string
                        - 'null'
                      description: Average entry price.
                    current_price:
                      type:
                        - string
                        - 'null'
                      description: Latest price used for valuation.
                    market_value:
                      type:
                        - string
                        - 'null'
                      description: Current position market value.
                    unrealized_pl:
                      type:
                        - string
                        - 'null'
                      description: Unrealized profit/loss.
                    unrealized_plpc:
                      type:
                        - string
                        - 'null'
                      description: Unrealized profit/loss percent (factor of 1, not 100).
                    side:
                      type:
                        - string
                        - 'null'
                      enum:
                        - long
                        - short
                      description: Position direction.
                    provider_fields:
                      type: object
                      additionalProperties: true
                      description: >-
                        Extra provider-specific fields (omitted when
                        minimal=True).
        '401':
          description: Unauthorized (missing/invalid credentials).
          content:
            application/json:
              schema:
                type: object
                additionalProperties: false
                properties:
                  message:
                    type: string
                  domain:
                    type: string
                  provider:
                    type: string
                  details: {}
                required:
                  - message
        '429':
          description: Rate limited by provider or transport.
          content:
            application/json:
              schema:
                type: object
                additionalProperties: false
                properties:
                  message:
                    type: string
                  domain:
                    type: string
                  provider:
                    type: string
                  details: {}
                required:
                  - message
      x-codeSamples:
        - lang: python
          label: Python
          source: |
            import os
            from opentools import trading

            tools = trading.alpaca(
                api_key=os.environ["ALPACA_KEY"],
                api_secret=os.environ["ALPACA_SECRET"],
                model="openai",
                paper=True,
                minimal=True,
                include=["alpaca_list_positions"],
            )

````