Foresea · Schema
AgentReport
End-to-end analysis of a live question produced by the agent.
Prediction-MarketIntelligenceForecastingData AnalyticsBusiness
Properties
| Name | Type | Description |
|---|---|---|
| question | string | |
| options | array | Per-option forecasts, for an event link with several options. |
| served_model_name | object | Exact upstream model that served the final agent response, when reported by the provider. |
| pipeline | array | Ordered steps the agent ran. |
| platform | object | |
| market_url | object | |
| outcome | object | |
| market_probability | object | |
| model_probability | object | |
| edge | object | |
| stance | object | |
| recommendation | string | `buy_yes`, `buy_no`, `hold`, or `no_market_price`. |
| recommendation_detail | string | |
| confidence | object | |
| question_type | string | |
| thesis | string | |
| evidence_sources | array | |
| evidence_error | object | |
| skills | array | |
| grounding | object | Track-record self-calibration note applied to the forecast. |
| effort_tier | object | How much analysis effort this question got: simple, standard, or deep. |
| tool_transcript | array | Tool calls + observations when the tool loop ran. |
| tool_loop_steps | object | Tool-call steps the loop actually ran, when tool_loop=true. |
| tool_loop_model_calls | object | Logical orchestration turns, including finalization; excludes provider retries and nested tools. |
| tool_loop_truncated | object | True if the loop hit max_tool_steps without the model giving a final answer. |
| tool_loop_tokens_used | object | Total estimated tokens consumed across turns. |
| tool_loop_output_tokens_used | object | Estimated completion/output tokens consumed in the tool loop. |
| agent_profile | object | Immutable private research recipe used for this report, when one was selected. |
| live_trade_intent | object | A non-executable research handoff for the authenticated user's live trade terminal. |
| agent_run | object | Private durable run record for this signed-in user's agent research. |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://artifacts.apis.io/foresea-ink/json-schema/foresea-ink-agent-report-schema.json",
"title": "AgentReport",
"description": "End-to-end analysis of a live question produced by the agent.",
"x-generated": "2026-11-08",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/foresea-ink-openapi.json#/components/schemas/AgentReport",
"properties": {
"question": {
"type": "string",
"title": "Question"
},
"options": {
"items": {
"$ref": "#/$defs/OptionProb"
},
"type": "array",
"title": "Options",
"description": "Per-option forecasts, for an event link with several options."
},
"served_model_name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Served Model Name",
"description": "Exact upstream model that served the final agent response, when reported by the provider."
},
"pipeline": {
"items": {
"type": "string"
},
"type": "array",
"title": "Pipeline",
"description": "Ordered steps the agent ran."
},
"platform": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Platform"
},
"market_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Market Url"
},
"outcome": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Outcome"
},
"market_probability": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Market Probability"
},
"model_probability": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Model Probability"
},
"edge": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Edge"
},
"stance": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Stance"
},
"recommendation": {
"type": "string",
"title": "Recommendation",
"description": "`buy_yes`, `buy_no`, `hold`, or `no_market_price`."
},
"recommendation_detail": {
"type": "string",
"title": "Recommendation Detail",
"default": ""
},
"confidence": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Confidence"
},
"question_type": {
"type": "string",
"title": "Question Type",
"default": "binary"
},
"thesis": {
"type": "string",
"title": "Thesis",
"default": ""
},
"evidence_sources": {
"items": {
"$ref": "#/$defs/EvidenceSource"
},
"type": "array",
"title": "Evidence Sources"
},
"evidence_error": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Evidence Error"
},
"skills": {
"items": {
"$ref": "#/$defs/AgentSkillResult"
},
"type": "array",
"title": "Skills"
},
"grounding": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Grounding",
"description": "Track-record self-calibration note applied to the forecast."
},
"effort_tier": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Effort Tier",
"description": "How much analysis effort this question got: simple, standard, or deep."
},
"tool_transcript": {
"items": {
"additionalProperties": true,
"type": "object"
},
"type": "array",
"title": "Tool Transcript",
"description": "Tool calls + observations when the tool loop ran."
},
"tool_loop_steps": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Tool Loop Steps",
"description": "Tool-call steps the loop actually ran, when tool_loop=true."
},
"tool_loop_model_calls": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Tool Loop Model Calls",
"description": "Logical orchestration turns, including finalization; excludes provider retries and nested tools."
},
"tool_loop_truncated": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Tool Loop Truncated",
"description": "True if the loop hit max_tool_steps without the model giving a final answer."
},
"tool_loop_tokens_used": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Tool Loop Tokens Used",
"description": "Total estimated tokens consumed across turns."
},
"tool_loop_output_tokens_used": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Tool Loop Output Tokens Used",
"description": "Estimated completion/output tokens consumed in the tool loop."
},
"agent_profile": {
"anyOf": [
{
"$ref": "#/$defs/AgentProfileReference"
},
{
"type": "null"
}
],
"description": "Immutable private research recipe used for this report, when one was selected."
},
"live_trade_intent": {
"anyOf": [
{
"$ref": "#/$defs/LiveTradeIntent"
},
{
"type": "null"
}
],
"description": "A non-executable research handoff for the authenticated user's live trade terminal."
},
"agent_run": {
"anyOf": [
{
"$ref": "#/$defs/AgentRunReference"
},
{
"type": "null"
}
],
"description": "Private durable run record for this signed-in user's agent research."
}
},
"type": "object",
"required": [
"question",
"recommendation"
],
"$defs": {
"AgentProfileReference": {
"properties": {
"id": {
"type": "string",
"title": "Id"
},
"source_agent_id": {
"type": "string",
"title": "Source Agent Id"
},
"model": {
"type": "string",
"title": "Model"
},
"version": {
"type": "integer",
"minimum": 1.0,
"title": "Version"
},
"execution_mode": {
"type": "string",
"const": "research_only",
"title": "Execution Mode"
}
},
"type": "object",
"required": [
"id",
"source_agent_id",
"model",
"version",
"execution_mode"
],
"title": "AgentProfileReference",
"description": "The profile snapshot that shaped one agent report, without private context."
},
"AgentRunReference": {
"properties": {
"id": {
"type": "string",
"title": "Id"
},
"status": {
"type": "string",
"enum": [
"running",
"completed",
"failed",
"interrupted"
],
"title": "Status"
},
"created_at": {
"type": "string",
"title": "Created At"
},
"updated_at": {
"type": "string",
"title": "Updated At"
}
},
"type": "object",
"required": [
"id",
"status",
"created_at",
"updated_at"
],
"title": "AgentRunReference",
"description": "The durable, private research run that produced an agent report."
},
"AgentSkillResult": {
"properties": {
"name": {
"type": "string",
"title": "Name"
},
"output": {
"type": "string",
"title": "Output"
},
"verdict": {
"anyOf": [
{
"$ref": "#/$defs/RedTeamVerdict"
},
{
"type": "null"
}
],
"description": "Structured classification of this skill's own argument, when available (Red team only, best-effort)."
}
},
"type": "object",
"required": [
"name",
"output"
],
"title": "AgentSkillResult"
},
"EvidenceSource": {
"properties": {
"source": {
"type": "string",
"title": "Source",
"description": "Publisher name."
},
"title": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Title",
"description": "Article headline."
},
"url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Url",
"description": "Article URL."
},
"publish_date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Publish Date",
"description": "ISO 8601 publish date."
},
"relevance_score": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Relevance Score",
"description": "Relevance to the question (0–1)."
}
},
"type": "object",
"required": [
"source"
],
"title": "EvidenceSource",
"description": "A deduplicated citation drawn from the evidence articles."
},
"LiveTradeIntent": {
"properties": {
"platform": {
"type": "string",
"title": "Platform"
},
"ident": {
"type": "string",
"title": "Ident"
},
"action": {
"type": "string",
"title": "Action",
"default": "buy"
},
"outcome": {
"type": "string",
"title": "Outcome"
},
"market_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Market Url"
},
"model_probability": {
"type": "number",
"title": "Model Probability"
},
"market_probability": {
"type": "number",
"title": "Market Probability"
},
"edge": {
"type": "number",
"title": "Edge"
},
"recommendation": {
"type": "string",
"title": "Recommendation"
}
},
"type": "object",
"required": [
"platform",
"ident",
"outcome",
"model_probability",
"market_probability",
"edge",
"recommendation"
],
"title": "LiveTradeIntent",
"description": "A chat-to-terminal handoff for a human-reviewed live order.\n\nThis is deliberately not an executable order: it contains no size or limit\nprice, and the trading terminal must still fetch a fresh venue quote, create\na durable `/trading/runs` record, and receive an explicit user confirmation\nbefore an exchange order can be submitted."
},
"OptionProb": {
"properties": {
"label": {
"type": "string",
"title": "Label",
"description": "The option text."
},
"probability": {
"type": "number",
"maximum": 1.0,
"minimum": 0.0,
"title": "Probability",
"description": "Probability assigned to this option (0–1)."
}
},
"type": "object",
"required": [
"label",
"probability"
],
"title": "OptionProb",
"description": "A single option and its probability in a multiple-choice forecast."
},
"RedTeamVerdict": {
"properties": {
"credible": {
"type": "boolean",
"title": "Credible",
"description": "Whether the argument is well-supported by a real mechanism or evidence, not just contrarian restating."
},
"severity": {
"type": "string",
"enum": [
"low",
"medium",
"high"
],
"title": "Severity",
"description": "How much this argument should weigh against the forecast if credible."
}
},
"type": "object",
"required": [
"credible",
"severity"
],
"title": "RedTeamVerdict",
"description": "Structured classification of a Red team skill's own argument, from a\nseparate follow-up call. Observational only -- nothing in the pipeline\nreads this to gate or adjust the forecast."
}
}
}
Work with this as data
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/foresea-ink-agent-report"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.