---
title: "Get Activities"
method: GET
path: "/v1/portfolio/activities"
tags: ["Portfolio"]
---

# Get Activities

`GET /v1/portfolio/activities`

Get activities for a user including trades, position resolutions, and account balance changes

## Query parameters

- `limit` integer
- `cursor` string
- `marketSlug` string
- `types` string[]
- `sortOrder` 'SORT_ORDER_DESCENDING' | 'SORT_ORDER_ASCENDING'

## Response `200`

List of activities

- GetActivitiesResponse
  - `activities` Activity[] — List of activities
    - `type` 'ACTIVITY_TYPE_TRADE' | 'ACTIVITY_TYPE_POSITION_RESOLUTION' | 'ACTIVITY_TYPE_ACCOUNT_DEPOSIT' | 'ACTIVITY_TYPE_ACCOUNT_ADVANCED_DEPOSIT' | 'ACTIVITY_TYPE_ACCOUNT_WITHDRAWAL' | 'ACTIVITY_TYPE_REFERRAL_BONUS' | 'ACTIVITY_TYPE_TRANSFER' | 'ACTIVITY_TYPE_TAKER_FEE_REBATE' | 'ACTIVITY_TYPE_LIQUIDITY_PROGRAM' — Type of activity
    - `trade` Trade — Trade is an execution grouping reflecting a trade between two orders. Wire-compatible with Connamara EP3 Trade (from v1beta1/api.proto).
      - `id` string
      - `aggressor` Execution — Execution denotes a state change for an order in the exchange. Wire-compatible with Connamara EP3 Execution.
        - `id` string
        - `order` Order
          - `id` string
          - `type` 'ORDER_TYPE_MARKET_TO_LIMIT' | 'ORDER_TYPE_LIMIT' | 'ORDER_TYPE_STOP' | 'ORDER_TYPE_STOP_LIMIT' — OrderType indicates the type of an order.
          - `side` 'SIDE_BUY' | 'SIDE_SELL' — Side indicates the side of an Order.
          - `orderQty` string, int64
          - `symbol` string
          - `clordId` string
          - `timeInForce` 'TIME_IN_FORCE_DAY' | 'TIME_IN_FORCE_GOOD_TILL_CANCEL' | 'TIME_IN_FORCE_IMMEDIATE_OR_CANCEL' | 'TIME_IN_FORCE_GOOD_TILL_TIME' | 'TIME_IN_FORCE_FILL_OR_KILL' — TimeInForce specifies how long the order remains in effect.
          - `account` string
          - `cumQty` string, int64
          - `avgPx` string, int64
          - `leavesQty` string, int64
          - `state` 'ORDER_STATE_PARTIALLY_FILLED' | 'ORDER_STATE_FILLED' | 'ORDER_STATE_CANCELED' | 'ORDER_STATE_REPLACED' | 'ORDER_STATE_REJECTED' | 'ORDER_STATE_EXPIRED' | 'ORDER_STATE_PENDING_NEW' | 'ORDER_STATE_PENDING_REPLACE' | 'ORDER_STATE_PENDING_CANCEL' | 'ORDER_STATE_PENDING_RISK' — OrderState denotes the current order state.
          - `participant` string
          - `price` string, int64
          - `insertTime` string, date-time
          - `stopPrice` string, int64
          - `minQty` string, int64
          - `createTime` string, date-time
          - `allOrNone` boolean
          - `crossId` string
          - `hostCrossId` string
          - `submittingParticipant` string
          - `clientAccountId` string
          - `clientParticipantId` string
          - `parentOrderId` string
          - `commissionsBasisPoints` string
          - `participateDontInitiate` boolean
          - `cashOrderQty` string, int64
          - `strictLimit` boolean
          - `goodTillTime` string, date-time
          - `bestLimit` boolean
          - `immediatelyExecutableLimit` boolean
          - `lastTradeId` string
          - `commissionNotionalTotalCollected` string, int64
          - `selfMatchPreventionInstruction` 'SELF_MATCH_PREVENTION_INSTRUCTION_REJECT_AGGRESSOR' | 'SELF_MATCH_PREVENTION_INSTRUCTION_CANCEL_RESTING' | 'SELF_MATCH_PREVENTION_INSTRUCTION_REMOVE_BOTH' — SelfMatchPreventionInstruction is the methodology used to handle self match prevention.
          - `orderCapacity` 'ORDER_CAPACITY_AGENCY' | 'ORDER_CAPACITY_PRINCIPAL' | 'ORDER_CAPACITY_PROPRIETARY' | 'ORDER_CAPACITY_INDIVIDUAL' | 'ORDER_CAPACITY_RISKLESS_PRINCIPAL' | 'ORDER_CAPACITY_AGENT_FOR_OTHER_MEMBER' — OrderCapacity designates the capacity of the party placing an order.
          - `ignorePriceValidityChecks` boolean
          - `lastTransactTime` string, date-time
          - `makerCommissionsBasisPoints` string
          - `manualOrderIndicator` 'MANUAL_ORDER_INDICATOR_MANUAL' | 'MANUAL_ORDER_INDICATOR_AUTOMATED' — ManualOrderIndicator designates the manual or automated nature of an order.
          - `fractionalQuantityScale` string, int64
          - `priceToQuantityFilled` object
        - `lastShares` string, int64
        - `lastPx` string, int64
        - `type` 'EXECUTION_TYPE_PARTIAL_FILL' | 'EXECUTION_TYPE_FILL' | 'EXECUTION_TYPE_CANCELED' | 'EXECUTION_TYPE_REPLACE' | 'EXECUTION_TYPE_REJECTED' | 'EXECUTION_TYPE_EXPIRED' | 'EXECUTION_TYPE_DONE_FOR_DAY' — ExecutionType denotes the execution type.
        - `text` string
        - `orderRejectReason` 'ORD_REJECT_REASON_UNKNOWN_SYMBOL' | 'ORD_REJECT_REASON_EXCHANGE_CLOSED' | 'ORD_REJECT_REASON_INCORRECT_QUANTITY' | 'ORD_REJECT_REASON_INVALID_PRICE_INCREMENT' | 'ORD_REJECT_REASON_INCORRECT_ORDER_TYPE' | 'ORD_REJECT_REASON_PRICE_OUT_OF_BOUNDS' | 'ORD_REJECT_REASON_NO_LIQUIDITY' — OrdRejectReason is the code to identify reason for order rejection.
        - `transactTime` string, date-time
        - `legPrices` LegPrice[]
          - `symbol` string
          - `anchor` boolean
          - `px` string, int64
          - `qty` string, int64
          - `side` string
          - `referencePx` string, int64
        - `tradeId` string
        - `aggressor` boolean
        - `commissionNotionalCollected` string, int64
        - `unsolicitedCancelReason` 'UNSOLICITED_CXL_REASON_CONNECTION_LOSS' | 'UNSOLICITED_CXL_REASON_LOGOUT' | 'UNSOLICITED_CXL_REASON_EXCHANGE_OPTION' | 'UNSOLICITED_CXL_REASON_OTHER' — UnsolicitedCxlReason is a code to identify the reason for an unsolicited cancellation.
        - `traceId` string
        - `commissionSpreadPx` string, int64
        - `transactTradeDate` Date — Date represents a calendar date.
          - `year` integer
          - `month` integer
          - `day` integer
      - `passive` Execution — Execution denotes a state change for an order in the exchange. Wire-compatible with Connamara EP3 Execution.
        - `id` string
        - `order` Order
          - `id` string
          - `type` 'ORDER_TYPE_MARKET_TO_LIMIT' | 'ORDER_TYPE_LIMIT' | 'ORDER_TYPE_STOP' | 'ORDER_TYPE_STOP_LIMIT' — OrderType indicates the type of an order.
          - `side` 'SIDE_BUY' | 'SIDE_SELL' — Side indicates the side of an Order.
          - `orderQty` string, int64
          - `symbol` string
          - `clordId` string
          - `timeInForce` 'TIME_IN_FORCE_DAY' | 'TIME_IN_FORCE_GOOD_TILL_CANCEL' | 'TIME_IN_FORCE_IMMEDIATE_OR_CANCEL' | 'TIME_IN_FORCE_GOOD_TILL_TIME' | 'TIME_IN_FORCE_FILL_OR_KILL' — TimeInForce specifies how long the order remains in effect.
          - `account` string
          - `cumQty` string, int64
          - `avgPx` string, int64
          - `leavesQty` string, int64
          - `state` 'ORDER_STATE_PARTIALLY_FILLED' | 'ORDER_STATE_FILLED' | 'ORDER_STATE_CANCELED' | 'ORDER_STATE_REPLACED' | 'ORDER_STATE_REJECTED' | 'ORDER_STATE_EXPIRED' | 'ORDER_STATE_PENDING_NEW' | 'ORDER_STATE_PENDING_REPLACE' | 'ORDER_STATE_PENDING_CANCEL' | 'ORDER_STATE_PENDING_RISK' — OrderState denotes the current order state.
          - `participant` string
          - `price` string, int64
          - `insertTime` string, date-time
          - `stopPrice` string, int64
          - `minQty` string, int64
          - `createTime` string, date-time
          - `allOrNone` boolean
          - `crossId` string
          - `hostCrossId` string
          - `submittingParticipant` string
          - `clientAccountId` string
          - `clientParticipantId` string
          - `parentOrderId` string
          - `commissionsBasisPoints` string
          - `participateDontInitiate` boolean
          - `cashOrderQty` string, int64
          - `strictLimit` boolean
          - `goodTillTime` string, date-time
          - `bestLimit` boolean
          - `immediatelyExecutableLimit` boolean
          - `lastTradeId` string
          - `commissionNotionalTotalCollected` string, int64
          - `selfMatchPreventionInstruction` 'SELF_MATCH_PREVENTION_INSTRUCTION_REJECT_AGGRESSOR' | 'SELF_MATCH_PREVENTION_INSTRUCTION_CANCEL_RESTING' | 'SELF_MATCH_PREVENTION_INSTRUCTION_REMOVE_BOTH' — SelfMatchPreventionInstruction is the methodology used to handle self match prevention.
          - `orderCapacity` 'ORDER_CAPACITY_AGENCY' | 'ORDER_CAPACITY_PRINCIPAL' | 'ORDER_CAPACITY_PROPRIETARY' | 'ORDER_CAPACITY_INDIVIDUAL' | 'ORDER_CAPACITY_RISKLESS_PRINCIPAL' | 'ORDER_CAPACITY_AGENT_FOR_OTHER_MEMBER' — OrderCapacity designates the capacity of the party placing an order.
          - `ignorePriceValidityChecks` boolean
          - `lastTransactTime` string, date-time
          - `makerCommissionsBasisPoints` string
          - `manualOrderIndicator` 'MANUAL_ORDER_INDICATOR_MANUAL' | 'MANUAL_ORDER_INDICATOR_AUTOMATED' — ManualOrderIndicator designates the manual or automated nature of an order.
          - `fractionalQuantityScale` string, int64
          - `priceToQuantityFilled` object
        - `lastShares` string, int64
        - `lastPx` string, int64
        - `type` 'EXECUTION_TYPE_PARTIAL_FILL' | 'EXECUTION_TYPE_FILL' | 'EXECUTION_TYPE_CANCELED' | 'EXECUTION_TYPE_REPLACE' | 'EXECUTION_TYPE_REJECTED' | 'EXECUTION_TYPE_EXPIRED' | 'EXECUTION_TYPE_DONE_FOR_DAY' — ExecutionType denotes the execution type.
        - `text` string
        - `orderRejectReason` 'ORD_REJECT_REASON_UNKNOWN_SYMBOL' | 'ORD_REJECT_REASON_EXCHANGE_CLOSED' | 'ORD_REJECT_REASON_INCORRECT_QUANTITY' | 'ORD_REJECT_REASON_INVALID_PRICE_INCREMENT' | 'ORD_REJECT_REASON_INCORRECT_ORDER_TYPE' | 'ORD_REJECT_REASON_PRICE_OUT_OF_BOUNDS' | 'ORD_REJECT_REASON_NO_LIQUIDITY' — OrdRejectReason is the code to identify reason for order rejection.
        - `transactTime` string, date-time
        - `legPrices` LegPrice[]
          - `symbol` string
          - `anchor` boolean
          - `px` string, int64
          - `qty` string, int64
          - `side` string
          - `referencePx` string, int64
        - `tradeId` string
        - `aggressor` boolean
        - `commissionNotionalCollected` string, int64
        - `unsolicitedCancelReason` 'UNSOLICITED_CXL_REASON_CONNECTION_LOSS' | 'UNSOLICITED_CXL_REASON_LOGOUT' | 'UNSOLICITED_CXL_REASON_EXCHANGE_OPTION' | 'UNSOLICITED_CXL_REASON_OTHER' — UnsolicitedCxlReason is a code to identify the reason for an unsolicited cancellation.
        - `traceId` string
        - `commissionSpreadPx` string, int64
        - `transactTradeDate` Date — Date represents a calendar date.
          - `year` integer
          - `month` integer
          - `day` integer
      - `tradeType` 'TRADE_TYPE_REGULAR' | 'TRADE_TYPE_REQUEST_FOR_QUOTE' | 'TRADE_TYPE_BLOCK' | 'TRADE_TYPE_CROSS' — TradeType describes the execution type of the trade.
      - `state` 'TRADE_STATE_NEW' | 'TRADE_STATE_CLEARED' | 'TRADE_STATE_BUSTED' | 'TRADE_STATE_INFLIGHT' | 'TRADE_STATE_PENDING_RISK' | 'TRADE_STATE_PENDING_CLEARED' | 'TRADE_STATE_REJECTED' | 'TRADE_STATE_CLEARING_ACKNOWLEDGED' | 'TRADE_STATE_RETRY_REQUEST' — TradeState indicates the state of a trade.
      - `reportingCounterparty` 'SIDE_BUY' | 'SIDE_SELL' — Side indicates the side of an Order.
      - `text` string — Additional detail regarding the status of the trade. May be empty.
      - `tradeLinkId` string — Exchange assigned ID for a group of trades that all executed within the same underlying transactional event.
      - `metadata` object — Metadata attached to this trade.
    - `positionResolution` PositionResolution
      - `marketSlug` string — Market slug
      - `beforePosition` UserPosition — User's trading position information
        - `netPosition` string, int64 — Net position quantity rounded to a whole number - deprecated, use netPositionDecimal
        - `qtyBought` string, int64 — Total quantity bought rounded to a whole number - deprecated, use qtyBoughtDecimal
        - `qtySold` string, int64 — Total quantity sold rounded to a whole number - deprecated, use qtySoldDecimal
        - `cost` Amount — Represents a monetary amount with its currency
          - `value` string, decimal, required — The amount as a decimal string
          - `currency` string, required — The currency code
        - `realized` Amount — Represents a monetary amount with its currency
          - `value` string, decimal, required — The amount as a decimal string
          - `currency` string, required — The currency code
        - `bodPosition` string, int64 — Beginning of day position rounded to a whole number - deprecated, use bodPositionDecimal
        - `expired` boolean — Whether the position has expired
        - `updateTime` string, date-time — Last update timestamp
        - `marketMetadata` MarketMetadata
          - `slug` string — Market slug
          - `icon` string — Market image URL
          - `title` string — Market title
          - `outcome` string — Market outcome
          - `eventSlug` string — Event slug
        - `cashValue` Amount — Represents a monetary amount with its currency
          - `value` string, decimal, required — The amount as a decimal string
          - `currency` string, required — The currency code
        - `qtyAvailable` string, int64, nullable — Quantity available to trade rounded to a whole number - deprecated, use qtyAvailableDecimal
        - `netPositionDecimal` string, decimal — Net position quantity as a decimal string
        - `qtyBoughtDecimal` string, decimal — Total quantity bought as a decimal string
        - `qtySoldDecimal` string, decimal — Total quantity sold as a decimal string
        - `bodPositionDecimal` string, decimal — Beginning of day position as a decimal string
        - `qtyAvailableDecimal` string, decimal, nullable — Quantity available to trade as a decimal string
      - `afterPosition` UserPosition — User's trading position information
        - `netPosition` string, int64 — Net position quantity rounded to a whole number - deprecated, use netPositionDecimal
        - `qtyBought` string, int64 — Total quantity bought rounded to a whole number - deprecated, use qtyBoughtDecimal
        - `qtySold` string, int64 — Total quantity sold rounded to a whole number - deprecated, use qtySoldDecimal
        - `cost` Amount — Represents a monetary amount with its currency
          - `value` string, decimal, required — The amount as a decimal string
          - `currency` string, required — The currency code
        - `realized` Amount — Represents a monetary amount with its currency
          - `value` string, decimal, required — The amount as a decimal string
          - `currency` string, required — The currency code
        - `bodPosition` string, int64 — Beginning of day position rounded to a whole number - deprecated, use bodPositionDecimal
        - `expired` boolean — Whether the position has expired
        - `updateTime` string, date-time — Last update timestamp
        - `marketMetadata` MarketMetadata
          - `slug` string — Market slug
          - `icon` string — Market image URL
          - `title` string — Market title
          - `outcome` string — Market outcome
          - `eventSlug` string — Event slug
        - `cashValue` Amount — Represents a monetary amount with its currency
          - `value` string, decimal, required — The amount as a decimal string
          - `currency` string, required — The currency code
        - `qtyAvailable` string, int64, nullable — Quantity available to trade rounded to a whole number - deprecated, use qtyAvailableDecimal
        - `netPositionDecimal` string, decimal — Net position quantity as a decimal string
        - `qtyBoughtDecimal` string, decimal — Total quantity bought as a decimal string
        - `qtySoldDecimal` string, decimal — Total quantity sold as a decimal string
        - `bodPositionDecimal` string, decimal — Beginning of day position as a decimal string
        - `qtyAvailableDecimal` string, decimal, nullable — Quantity available to trade as a decimal string
      - `updateTime` string, date-time — Resolution timestamp
      - `tradeId` string — Associated trade ID
      - `side` 'POSITION_RESOLUTION_SIDE_LONG' | 'POSITION_RESOLUTION_SIDE_SHORT' | 'POSITION_RESOLUTION_SIDE_NEUTRAL' — Side of resolution
    - `accountBalanceChange` AccountBalanceChange
      - `transactionId` string — Transaction ID
      - `status` 'ACCOUNT_BALANCE_CHANGE_STATUS_PENDING' | 'ACCOUNT_BALANCE_CHANGE_STATUS_COMPLETED' | 'ACCOUNT_BALANCE_CHANGE_STATUS_PARTIALLY_REFUNDED' | 'ACCOUNT_BALANCE_CHANGE_STATUS_REJECTED' — Status of the balance change
      - `amount` Amount — Represents a monetary amount with its currency
        - `value` string, decimal, required — The amount as a decimal string
        - `currency` string, required — The currency code
      - `updateTime` string, date-time — Last update time
      - `createTime` string, date-time — Creation time
  - `nextCursor` string — Pagination cursor for next page
  - `eof` boolean — True if this is the last page

## Other responses

- `401` — Unauthorized - invalid or missing API key
- `500` — Internal server error

---

[API](https://skmtc.net/polymarket/apis/portfolio-api.md) · [All operations](https://skmtc.net/polymarket/apis/portfolio-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/polymarket/portfolio-api/revisions/150874842db1/schema)
