Report a non-opened PM opportunity
report_pm_opportunityRecord prediction-market evaluations when no position is opened, preserving decision evidence without moving funds. Supports abstained, forecast-only, and expired-quote outcomes for audit and replay.
Instructions
Save a durable SELF-REPORT of a prediction-market evaluation for a decision that did not open a position. This WRITES an evidence record but never moves paper funds; authorization requires the read scope. It does not independently verify your evaluation. Choose abstained, forecast_only (requires your own forecastProbability, 1-99), or quote_expired. Report once per decision cycle; cohort.universeSize records its breadth. Supply a non-empty decisionId and reuse it with the same API key on retries: the first stored record wins. agentTrace.decisionId is a fallback; omitting both creates separate records. Success returns body.decisionUuid and, on replay, body.idempotentReplay=true. Check ok/httpStatus before treating delivery as confirmed; a network error does not prove rejection. Use open_pm_position to place a paper trade.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| kind | Yes | abstained = evaluated but did not bet; forecast_only = formed your own probability without trading (forecastProbability required); quote_expired = a validated open the server rejected at act time. | |
| slug | No | Optional subject event slug. | |
| runId | No | Your own run id for grouping. | |
| cohort | No | Opportunity-cohort breadth (frozen into the artifact). | |
| source | No | Optional subject market source slug (e.g. kalshi). | |
| agentTrace | No | Optional private trace metadata stored in the caller's ledger. | |
| decisionId | No | Non-empty id for this decision, unique within your API key. Reuse for retries. Falls back to agentTrace.decisionId; omitting both creates a new record on each call. | |
| provenance | No | Optional self-reported provenance (WHAT RAN). No trust: the server stamps policy versions + providerVerified itself. Any block (even {}) makes the artifact schemaVersion 2. | |
| reasonCode | No | Short structured reason (e.g. 'no_edge', 'stale_data'). | |
| marketProbability | No | The market price (0-100) you observed at the time. | |
| forecastProbability | No | Your OWN forecast probability (1-99). REQUIRED for forecast_only; optional for other kinds. Never echo the market price. | |
| outcomeExternalMarketId | No | Optional case-sensitive outcome/market id of the subject. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| ok | Yes | True when CoinRithm returned a successful 2xx response. | |
| body | No | Parsed CoinRithm response body, or raw text when the response is not JSON. | |
| httpStatus | Yes | HTTP status returned by CoinRithm, or 0 for network errors. | |
| ledgerStatus | No | Ledger write status header returned by CoinRithm, when present. | |
| ledgerEventId | No | Private AgentActionEvent id returned by /api/agent/*, when present. |