Raw schema
{
"type": "object",
"properties": {
"schemaVersion": {
"title": "Schema version",
"type": "string",
"description": "Contract version.",
"default": "1.0",
"prefill": "1.0",
"enum": [
"1.0"
]
},
"requestId": {
"title": "Request ID",
"type": "string",
"description": "Idempotency key.",
"editor": "textfield",
"prefill": "plan-daily-prefill-001",
"pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$"
},
"maxResults": {
"title": "Max results",
"type": "integer",
"description": "Maximum nested expansions.",
"default": 10,
"prefill": 10,
"minimum": 1,
"maximum": 100
},
"freshnessMinutes": {
"title": "Freshness minutes",
"type": "integer",
"description": "Maximum cache age.",
"default": 60,
"prefill": 60,
"minimum": 0,
"maximum": 10080
},
"detailLevel": {
"title": "Detail level",
"type": "string",
"description": "Output detail mode.",
"default": "compact",
"prefill": "compact",
"enum": [
"compact",
"evidence"
]
},
"portfolioActors": {
"title": "Portfolio actors",
"type": "array",
"description": "Existing portfolio used for adjacency scoring.",
"editor": "json",
"prefill": [
{
"id": "a1",
"name": "Store tools",
"title": "Store research tools",
"description": "Tools for discovering and comparing Store opportunities.",
"categories": [
"MCP_SERVERS"
]
}
],
"minItems": 1,
"maxItems": 50,
"items": {
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"title": "Actor ID",
"type": "string",
"pattern": "^(?!.*[\\u0000-\\u001F\\u007F])(?!.*[A-Za-z][A-Za-z0-9+.-]{1,31}:(//|[^\\s]+)).*$",
"description": "Stable Actor identifier.",
"minLength": 1,
"maxLength": 64
},
"name": {
"title": "Actor name",
"type": "string",
"pattern": "^(?!.*[\\u0000-\\u001F\\u007F])(?!.*[A-Za-z][A-Za-z0-9+.-]{1,31}:(//|[^\\s]+)).*$",
"description": "Actor name.",
"minLength": 1,
"maxLength": 120
},
"title": {
"title": "Actor title",
"type": "string",
"nullable": true,
"pattern": "^(?!.*[\\u0000-\\u001F\\u007F])(?!.*[A-Za-z][A-Za-z0-9+.-]{1,31}:(//|[^\\s]+)).*$",
"description": "Optional Actor title.",
"maxLength": 120
},
"description": {
"title": "Actor description",
"type": "string",
"nullable": true,
"pattern": "^(?!.*[\\u0000-\\u001F\\u007F])(?!.*[A-Za-z][A-Za-z0-9+.-]{1,31}:(//|[^\\s]+)).*$",
"description": "Optional Actor description.",
"maxLength": 1000
},
"categories": {
"title": "Categories",
"type": "array",
"description": "Optional Actor categories.",
"minItems": 0,
"maxItems": 5,
"uniqueItems": true,
"items": {
"type": "string",
"pattern": "^(?!.*[\\u0000-\\u001F\\u007F])(?!.*[A-Za-z][A-Za-z0-9+.-]{1,31}:(//|[^\\s]+)).*$",
"minLength": 1,
"maxLength": 40
}
}
},
"required": [
"id",
"name",
"categories"
]
}
},
"candidateQueries": {
"title": "Candidate queries",
"description": "Candidate niches to evaluate for portfolio expansion.",
"type": "array",
"minItems": 1,
"maxItems": 20,
"uniqueItems": true,
"items": {
"type": "string",
"pattern": "^(?!.*[\\u0000-\\u001F\\u007F])(?!.*[A-Za-z][A-Za-z0-9+.-]{1,31}:(//|[^\\s]+)).*$",
"minLength": 2,
"maxLength": 80
},
"editor": "stringList",
"prefill": [
"store opportunity",
"pricing benchmark"
]
}
},
"required": [
"schemaVersion",
"requestId",
"portfolioActors",
"candidateQueries"
],
"title": "Apify Portfolio Expansion Planner input",
"schemaVersion": 1,
"additionalProperties": false
}