daily-dev · Schema
FeedPostExplain
Why For You ranked the post where it did. The score multiplies the factor fields: 1 is neutral, above 1 raises the post and below 1 lowers it. Optional fields are absent rather than null.
CompanyDeveloperToolsNewsAggregatorAICommunity
Properties
| Name | Type | Description |
|---|---|---|
| lane | string | What put the post in For You. chal is the personalized ranking and the only lane with the fields below; other lanes, such as popular fill-ins, carry only lane. |
| v | integer | Version of this shape |
| score | number | The score For You orders by, highest first. It has no fixed scale. |
| position | integer | Where the post was placed, absent when the ranking did not pick it |
| base | object | |
| match | object | The reader's topic that matches the post best, absent when a follow alone brought it in |
| follow | object | |
| age | object | |
| seen | object | |
| slot | object | The variety adjustments, only on picked posts |
| reasons | array | Only on a left-out post: why For You left it out |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://artifacts.apis.io/daily-dev/json-schema/daily-dev-def-19-schema.json",
"title": "FeedPostExplain",
"description": "Why For You ranked the post where it did. The score multiplies the factor fields: 1 is neutral, above 1 raises the post and below 1 lowers it. Optional fields are absent rather than null.",
"x-generated": "2026-10-30",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/daily-dev-openapi.json#/components/schemas/def-19",
"type": [
"object",
"null"
],
"additionalProperties": true,
"properties": {
"lane": {
"type": "string",
"description": "What put the post in For You. chal is the personalized ranking and the only lane with the fields below; other lanes, such as popular fill-ins, carry only lane."
},
"v": {
"type": "integer",
"description": "Version of this shape"
},
"score": {
"type": "number",
"description": "The score For You orders by, highest first. It has no fixed scale."
},
"position": {
"type": "integer",
"description": "Where the post was placed, absent when the ranking did not pick it"
},
"base": {
"type": "object",
"additionalProperties": true,
"properties": {
"value": {
"type": "number",
"description": "A score multiplier. How much readers clicked, upvoted and commented on the post compared with a typical post."
},
"prior_lift": {
"type": "number",
"description": "How far the source's past engagement lifts a post with few readers yet above the platform average"
},
"viewers": {
"type": "integer",
"description": "Readers the post was shown to"
}
}
},
"match": {
"type": "object",
"additionalProperties": true,
"description": "The reader's topic that matches the post best, absent when a follow alone brought it in",
"properties": {
"tag": {
"type": "string"
},
"origin": {
"type": "string",
"description": "declared: followed, inferred: learned from reading, set: given a weight by the reader"
},
"role": {
"type": "string",
"description": "central when the post is about the topic, side when it only touches it"
},
"role_weight": {
"type": "number",
"description": "How much the role counts toward the topic match"
},
"strength": {
"type": "string",
"description": "How much reading backs the topic: strong, moderate, confirmed or early_signal"
},
"weight": {
"type": "number",
"description": "The topic's weight after the reader's control"
},
"computed_weight": {
"type": "number",
"description": "The topic's weight before the reader's control"
},
"recency": {
"type": "number"
},
"stories": {
"type": "integer",
"description": "Stories on the topic the reader acted on positively"
},
"hidden_stories": {
"type": "integer",
"description": "Stories on the topic the reader hid"
},
"hide_penalty": {
"type": "number",
"description": "What the hidden stories took off the weight"
},
"control": {
"type": "string",
"description": "The reader's control on the topic: boost, demote, stop_learning or weight"
},
"factor": {
"type": "number",
"description": "A score multiplier. Topic match."
}
}
},
"follow": {
"type": "object",
"additionalProperties": true,
"properties": {
"kind": {
"type": "string",
"description": "source, squad or author: the follow that counted, absent without one"
},
"factor": {
"type": "number",
"description": "A score multiplier. Follow, with the level the reader set on the source or author."
},
"source_control": {
"type": "string",
"description": "The reader's control on the post's source: boost, demote, off or weight"
},
"author_control": {
"type": "string",
"description": "The reader's control on the post's author: boost, demote, off or weight"
}
}
},
"age": {
"type": "object",
"additionalProperties": true,
"properties": {
"days": {
"type": "number",
"description": "Days since the post came out"
},
"factor": {
"type": "number",
"description": "A score multiplier. Freshness: older posts slowly fade."
}
}
},
"seen": {
"type": "object",
"additionalProperties": true,
"properties": {
"shows": {
"type": "integer",
"description": "Times For You already showed the post to the reader"
},
"factor": {
"type": "number",
"description": "A score multiplier. Seen before."
}
}
},
"slot": {
"type": "object",
"additionalProperties": true,
"description": "The variety adjustments, only on picked posts",
"properties": {
"source_repeat": {
"type": "number",
"description": "A score multiplier. Lowers the post when the feed already has posts from its source."
},
"topic_repeat": {
"type": "number",
"description": "A score multiplier. Lowers the post when the feed already has posts on its topic."
},
"same_headline": {
"type": "number",
"description": "A score multiplier. Lowers the post when the feed already covers the same story."
},
"waiting": {
"type": "number",
"description": "A score multiplier. Topic's turn: raises a topic the reader likes that has not shown up for a while."
},
"waiting_tag": {
"type": "string",
"description": "The topic whose turn it was"
},
"pick_score": {
"type": "number",
"description": "The score after these adjustments"
}
}
},
"reasons": {
"type": "array",
"items": {
"type": "string"
},
"description": "Only on a left-out post: why For You left it out"
}
}
}
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/daily-dev-def-19"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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.