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

# Get recent asset activity

> Retrieve the latest orders and dividends tied to a user-held investment product.

Return a reverse-chronological feed of asset activity for the authenticated user, covering
investment orders and dividend transactions linked to the requested ISIN. Rewards are not
included in the B2B API. Provide the optional `limit` parameter to cap the total number of
combined items returned.

### Authentication & headers

<ParamField header="Authorization" type="string" required>
  Bearer token issued by Auth0. Format: `Bearer YOUR_ACCESS_TOKEN` and must include the `read:users` scope.
</ParamField>

<ParamField header="x-user-id" type="string" required>
  MongoDB identifier of the user context (24-char hex). Required to resolve the correct portfolio and
  FX conversions.
</ParamField>

### Path parameters

<ParamField path="isin" type="string" required>
  ISIN of the investment product to fetch activity for.
</ParamField>

### Query parameters

<ParamField query="limit" type="integer">
  Maximum number of activity entries to return. When omitted, the feed returns all available items.
</ParamField>

### Example request

<RequestExample>
  ```bash cURL theme={null}
  curl -X GET 'https://api.wealthyhood.com/investment-products/IE00B4L5Y983/recent-activity?limit=10' \
    -H 'Accept: application/json' \
    -H 'Authorization: Bearer YOUR_ACCESS_TOKEN' \
    -H 'x-user-id: 64f0c51e7fb3fc001234abcd'
  ```
</RequestExample>

### Example response

<ResponseExample>
  ```json Success theme={null}
  [
    {
      "type": "order",
      "item": {
        "id": "64f5b3137fb3fc001234abce",
        "status": "Pending",
        "isin": "IE00B4L5Y983",
        "side": "Buy",
        "settlementCurrency": "EUR",
        "quantity": 1.02,
        "consideration": {
          "currency": "EUR",
          "amount": 2550,
          "amountSubmitted": 2550
        },
        "displayAmount": 25.5,
        "displayQuantity": 1.02,
        "executionWindow": {
          "executionType": "REALTIME"
        },
        "displayExchangeRate": {
          "rate": 1.285,
          "currency": "EUR"
        },
        "isCancellable": true,
        "estimatedRealTimeCommission": 0.1,
        "displayDate": "2024-07-12T14:15:00.000Z",
        "transaction": {
          "id": "64f5b2d87fb3fc001234abcd",
          "category": "AssetTransaction",
          "status": "Pending",
          "portfolioTransactionCategory": "update",
          "createdAt": "2024-07-12T14:14:30.000Z"
        }
      }
    },
    {
      "type": "dividend",
      "item": {
        "id": "64e3c0a17fb3fc0067890def",
        "category": "DividendTransaction",
        "status": "Settled",
        "isin": "IE00B4L5Y983",
        "consideration": {
          "currency": "EUR",
          "amount": 185
        },
        "displayAmount": 1.85,
        "displayDate": "2024-07-05T09:30:00.000Z"
      }
    }
  ]
  ```
</ResponseExample>

### Response fields

<ResponseField name="type" type="&#x22;order&#x22; | &#x22;dividend&#x22;" required>
  Identifies the activity category represented by the item payload.
</ResponseField>

<ResponseField name="item" type="object" required>
  Category-specific payload. Orders include enriched execution data; dividends expose settlement
  amounts.
</ResponseField>


## OpenAPI

````yaml GET /investment-products/{isin}/recent-activity
openapi: 3.0.3
info:
  title: Wealthyhood Investment Products API
  version: 1.0.0
  description: >
    Machine-to-machine endpoints that expose the Wealthyhood asset universe,
    fundamentals, and

    user-specific portfolio context.


    All requests require an Auth0-issued bearer token with the `read:users`
    scope, and must 

    include the `x-user-id` header so the retail user context can be resolved.
servers:
  - url: https://{host}
    variables:
      host:
        default: api.wealthyhood.com
        description: Wealthyhood API host.
security:
  - bearerAuth: []
tags:
  - name: Investment Products
    description: >-
      Listed instruments available to Wealthyhood investors together with
      client-specific insights.
paths:
  /investment-products/{isin}/recent-activity:
    get:
      tags:
        - Investment Products
      summary: Get recent activity for an asset
      description: >
        Fetch the latest asset-related orders and dividends for the
        authenticated user. Results

        are sorted by the item display date descending. When provided, `limit`
        caps the combined number of

        activity entries returned. Rewards are not included in the B2B API.
      parameters:
        - $ref: '#/components/parameters/ExternalUserId'
        - $ref: '#/components/parameters/Isin'
        - name: limit
          in: query
          description: Maximum number of activity items to return.
          schema:
            type: integer
            minimum: 1
      responses:
        '200':
          description: Ordered feed of recent activity for the asset.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/AssetRecentActivityItem'
              examples:
                activity:
                  summary: Orders and dividends activity feed
                  value:
                    - type: order
                      item:
                        id: 64f5b3137fb3fc001234abce
                        displayId: ORD-ABC123
                        status: Pending
                        isin: IE00B4L5Y983
                        side: Buy
                        quantity: 1.02
                        consideration:
                          currency: EUR
                          amount: 25.5
                        executionWindow:
                          executionType: REALTIME
                        isCancellable: true
                        displayDate: '2024-07-12T14:15:00.000Z'
                        createdAt: '2024-07-12T14:14:30.000Z'
                    - type: dividend
                      item:
                        id: 64e3c0a17fb3fc0067890def
                        status: Settled
                        isin: IE00B4L5Y983
                        currency: EUR
                        amount: 1.85
                        consideration:
                          currency: EUR
                          amount: 1.85
                        displayDate: '2024-07-05T09:30:00.000Z'
                        owner: 507f1f77bcf86cd799439011
        '400':
          $ref: '#/components/responses/BadRequestError'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '403':
          $ref: '#/components/responses/ForbiddenError'
components:
  parameters:
    ExternalUserId:
      name: x-user-id
      in: header
      required: true
      description: >-
        MongoDB identifier of the Wealthyhood user whose subscription context
        should be applied.
      schema:
        type: string
        pattern: ^[a-f0-9]{24}$
    Isin:
      name: isin
      in: path
      required: true
      description: ISIN of the investment product to retrieve.
      schema:
        type: string
        pattern: ^[A-Z0-9]{12}$
  schemas:
    AssetRecentActivityItem:
      oneOf:
        - $ref: '#/components/schemas/RecentOrderActivity'
        - $ref: '#/components/schemas/RecentDividendActivity'
    RecentOrderActivity:
      type: object
      properties:
        type:
          type: string
          enum:
            - order
        item:
          $ref: '#/components/schemas/OrderActivity'
      required:
        - type
        - item
    RecentDividendActivity:
      type: object
      properties:
        type:
          type: string
          enum:
            - dividend
        item:
          $ref: '#/components/schemas/DividendActivity'
      required:
        - type
        - item
    ApiErrorResponse:
      type: object
      properties:
        status:
          type: integer
        error:
          type: object
          properties:
            message:
              type: string
            description:
              type: string
              nullable: true
        responseId:
          type: string
          format: uuid
      required:
        - status
        - error
    OrderActivity:
      type: object
      description: >
        Order schema for asset recent activity. Aligned with InvestmentOrder
        format.
      required:
        - id
        - side
        - status
        - isin
        - displayDate
        - isCancellable
      properties:
        id:
          type: string
          description: Order identifier.
        displayId:
          type: string
          description: User-friendly display identifier (e.g., ORD-XXXXX).
        side:
          type: string
          enum:
            - Buy
            - Sell
        status:
          type: string
          enum:
            - Pending
            - Matched
            - Rejected
            - Settled
            - Cancelled
        isin:
          type: string
        quantity:
          type: number
          format: double
          nullable: true
        consideration:
          type: object
          description: Order consideration in major units.
          properties:
            currency:
              type: string
              enum:
                - GBP
                - EUR
                - USD
            amount:
              type: number
              format: double
              description: Amount in major units.
        unitPrice:
          type: object
          nullable: true
          properties:
            amount:
              type: number
              format: double
            currency:
              type: string
              enum:
                - GBP
                - EUR
                - USD
        fxRate:
          type: object
          nullable: true
          properties:
            rate:
              type: number
              format: double
            currency:
              type: string
              enum:
                - GBP
                - EUR
                - USD
        executionWindow:
          $ref: '#/components/schemas/ExecutionWindow'
        fees:
          type: object
          nullable: true
          description: Wealthyhood fee breakdown (optional).
          properties:
            commission:
              type: object
              properties:
                currency:
                  type: string
                  enum:
                    - GBP
                    - EUR
                    - USD
                amount:
                  type: number
                  format: double
            fx:
              type: object
              properties:
                currency:
                  type: string
                  enum:
                    - GBP
                    - EUR
                    - USD
                amount:
                  type: number
                  format: double
            realtimeExecution:
              type: object
              properties:
                currency:
                  type: string
                  enum:
                    - GBP
                    - EUR
                    - USD
                amount:
                  type: number
                  format: double
        partnerFees:
          type: object
          nullable: true
          description: Partner (ETE/NBG) countervalue fees (optional).
          properties:
            commission:
              type: object
              properties:
                currency:
                  type: string
                  enum:
                    - GBP
                    - EUR
                    - USD
                amount:
                  type: number
                  format: double
            fx:
              type: object
              properties:
                currency:
                  type: string
                  enum:
                    - GBP
                    - EUR
                    - USD
                amount:
                  type: number
                  format: double
        settledAt:
          type: string
          format: date-time
          nullable: true
        filledAt:
          type: string
          format: date-time
          nullable: true
        createdAt:
          type: string
          format: date-time
        displayDate:
          type: string
          format: date-time
          description: Display date (filledAt when matched, else createdAt).
        isCancellable:
          type: boolean
          description: Whether the order can be cancelled by the user.
    DividendActivity:
      type: object
      properties:
        id:
          type: string
        status:
          type: string
          enum:
            - Settled
        isin:
          type: string
          description: |
            Deprecated. Use details.isin instead.
            Will be removed in v2.
        asset:
          type: string
          description: |
            Deprecated. Use details.asset instead.
            Will be removed in v2.
        details:
          $ref: '#/components/schemas/DividendDetails'
        currency:
          type: string
          enum:
            - GBP
            - EUR
            - USD
          description: |
            Deprecated. Use consideration.currency instead.
            Will be removed in v2.
        amount:
          type: number
          format: double
          description: |
            Deprecated. Use consideration.amount instead.
            Will be removed in v2.
        consideration:
          $ref: '#/components/schemas/DividendConsideration'
        displayDate:
          type: string
          format: date-time
        owner:
          type: string
          description: The unique identifier of the user who owns this dividend.
      required:
        - id
        - status
        - isin
        - currency
        - amount
        - consideration
        - displayDate
        - owner
        - details
    ExecutionWindow:
      type: object
      properties:
        executionType:
          type: string
          enum:
            - MARKET_HOURS
            - REALTIME
        start:
          type: string
          format: date-time
          nullable: true
        end:
          type: string
          format: date-time
          nullable: true
      required:
        - executionType
    DividendDetails:
      type: object
      description: Canonical location for dividend-specific fields.
      properties:
        isin:
          type: string
          description: International Securities Identification Number.
        asset:
          type: string
          description: Asset ID (e.g. equities_apple for Apple).
          example: equities_apple
      required:
        - isin
    DividendConsideration:
      type: object
      description: Dividend consideration with amount in major units.
      properties:
        currency:
          type: string
          enum:
            - GBP
            - EUR
            - USD
        amount:
          type: number
          format: double
          description: Amount in major units.
      required:
        - currency
        - amount
  responses:
    BadRequestError:
      description: Validation failure or business rule violation.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ApiErrorResponse'
          example:
            status: 400
            error:
              message: Unknown asset ISIN
            responseId: 6d86bcab-9c21-45da-9b9d-820d598e1f3b
    UnauthorizedError:
      description: Missing or invalid bearer token.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ApiErrorResponse'
          example:
            status: 401
            error:
              message: User not found
            responseId: 145f2b0d-1d5b-4e91-8d0d-7af0ae9ad13a
    ForbiddenError:
      description: Authenticated user cannot access the requested resource or lacks scopes.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ApiErrorResponse'
          example:
            status: 403
            error:
              message: Access forbidden for portfolio
            responseId: 5e467f79-c62c-4d83-9810-7a0f8529fd76
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: Auth0-issued access token that includes the `read:users` scope.

````