QJ//BOUNDED QUERY · OFFLINE

Portfolio Events

Return bounded upcoming-event exposure and event-risk summaries.

OFFLINE/v1/query/portfolio-eventsOAUTH · agents:query$0.01 · X402/2

CONTRACT

Paid bounded portfolio events

Skill
qj-portfolio-events
Route
/v1/query/portfolio-events
Identity
OAUTH · agents:query
Price
$0.01 · X402/2

GOVERNED METHOD

Exact MCP evidence path

  • data.events.exposure_summaryqj-data-mcp
  • data.events.risk_summaryqj-data-mcp

No direct database, provider API or private service access. Missing coverage remains missing—it is never turned into a negative fact.

INVOKE

Call the bounded resource

Register an OAuth client, request scope agents:query, then call the route with its bearer token. The first unauthorised call returns the exact x402 v2 payment challenge.

REQUEST

{
  "baseCurrency": "USD",
  "positions": [
    {
      "ticker": "AAPL",
      "marketValue": 25000,
      "currency": "USD"
    },
    {
      "ticker": "NVDA",
      "marketValue": 15000,
      "currency": "USD"
    },
    {
      "ticker": "TSM",
      "marketValue": 10000,
      "currency": "USD"
    }
  ],
  "days": 7
}

ILLUSTRATIVE RESPONSE SHAPE · NOT LIVE MARKET DATA

{
  "schemaVersion": "qj-agents.portfolio-events.v1",
  "skillId": "qj-portfolio-events",
  "priceUsd": "0.01",
  "status": "complete | partial",
  "query": {
    "baseCurrency": "USD",
    "positions": [
      {
        "ticker": "AAPL",
        "marketValue": 25000,
        "currency": "USD"
      },
      {
        "ticker": "NVDA",
        "marketValue": 15000,
        "currency": "USD"
      },
      {
        "ticker": "TSM",
        "marketValue": 10000,
        "currency": "USD"
      }
    ],
    "days": 7
  },
  "facts": {
    "example": "live fields are returned here"
  },
  "interpretation": [],
  "coverage": [
    {
      "tool": "data.events.exposure_summary",
      "status": "ok"
    }
  ],
  "toolsUsed": [
    "data.events.exposure_summary",
    "data.events.risk_summary"
  ],
  "asOf": "ISO-8601 source timestamp",
  "freshness": {
    "status": "fresh | stale | unknown"
  },
  "lineageRefs": [
    "source and materialization references"
  ]
}