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
View JSON Schema on GitHub

JSON Schema

daily-dev-def-19-schema.json Raw ↑
{
  "$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.
All 92 tools →

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.