All tools
ToolWrite

Add portfolio holding

add_portfolio_holding

You need Prism portfolio tracking records, exposure, holdings, or research priority.

When to use it

You need Prism portfolio tracking records, exposure, holdings, or research priority.

Typical workflow

List portfolios, read exposure or priority, then mutate tracking records only if asked.

What it returns

Portfolio metadata, holdings, exposure, priority, or tracking mutations.

Avoid using it when

You need brokerage trades, account connections, or watchlist mutation.

Advanced input contract

Agent hosts use this JSON Schema to validate the exact input shape.

View JSON Schema
{
  "type": "object",
  "properties": {
    "portfolioId": {
      "type": "string",
      "format": "uuid"
    },
    "ticker": {
      "type": "string",
      "minLength": 1,
      "maxLength": 20
    },
    "companyId": {
      "type": [
        "string",
        "null"
      ],
      "format": "uuid"
    },
    "shares": {
      "type": "number",
      "exclusiveMinimum": 0
    },
    "costPerShare": {
      "type": [
        "number",
        "null"
      ],
      "minimum": 0
    },
    "totalCostBasis": {
      "type": [
        "number",
        "null"
      ],
      "minimum": 0
    },
    "openedAt": {
      "type": [
        "string",
        "null"
      ],
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
    },
    "asOfDate": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
    },
    "notes": {
      "type": [
        "string",
        "null"
      ],
      "maxLength": 2000
    },
    "duplicateAction": {
      "type": "string",
      "enum": [
        "add_lot",
        "merge",
        "replace"
      ],
      "default": "add_lot"
    },
    "existingHoldingId": {
      "type": [
        "string",
        "null"
      ],
      "format": "uuid"
    },
    "positionContext": {
      "type": "object",
      "properties": {
        "status": {
          "type": "string",
          "enum": [
            "watching",
            "starter",
            "full_position",
            "exited",
            "avoid"
          ]
        },
        "conviction": {
          "type": "string",
          "enum": [
            "low",
            "medium",
            "high"
          ]
        },
        "timeHorizon": {
          "type": [
            "string",
            "null"
          ],
          "maxLength": 120
        },
        "targetAllocation": {
          "type": [
            "number",
            "null"
          ],
          "minimum": 0,
          "maximum": 100
        },
        "addCriteria": {
          "type": [
            "string",
            "null"
          ],
          "maxLength": 2000
        },
        "trimCriteria": {
          "type": [
            "string",
            "null"
          ],
          "maxLength": 2000
        },
        "exitCriteria": {
          "type": [
            "string",
            "null"
          ],
          "maxLength": 2000
        },
        "notes": {
          "type": [
            "string",
            "null"
          ],
          "maxLength": 3000
        }
      },
      "additionalProperties": false
    },
    "libraryFileId": {
      "type": [
        "string",
        "null"
      ],
      "format": "uuid"
    },
    "sourceLabel": {
      "type": [
        "string",
        "null"
      ],
      "maxLength": 240
    },
    "sourceSnippet": {
      "type": [
        "string",
        "null"
      ],
      "maxLength": 2000
    }
  },
  "required": [
    "portfolioId",
    "ticker",
    "shares"
  ],
  "additionalProperties": false
}

Useful next tools