Recommendation

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "Public recommendation id in the form \"com_{n}\"."
    },
    "class": {
      "type": "string",
      "enum": [
        "sponsored",
        "organic",
        "mention"
      ],
      "description": "Commercial class. Values: sponsored (an ad-style promotion heard at that moment: a paid sponsor read, promo code, affiliate plug, thanks for supplied goods or venue, or a show promoting its own product as an ad), organic (an unpaid personal recommendation), mention (a neutral commercial mention)."
    },
    "entity": {
      "$ref": "#/components/schemas/EntityRef"
    },
    "media": {
      "type": "object",
      "properties": {
        "video_id": {
          "type": "string",
          "description": "YouTube video id (11 characters)."
        },
        "title": {
          "type": [
            "string",
            "null"
          ],
          "description": "Video title."
        },
        "published_at": {
          "type": [
            "string",
            "null"
          ],
          "description": "Video publish timestamp."
        },
        "channel_id": {
          "type": [
            "string",
            "null"
          ],
          "description": "YouTube channel id of the source channel."
        },
        "source_channel": {
          "type": [
            "object",
            "null"
          ],
          "properties": {
            "id": {
              "type": "string",
              "description": "Public entity id (\"ent_{n}\") of the source channel."
            },
            "name": {
              "type": [
                "string",
                "null"
              ],
              "description": "Source channel name."
            }
          },
          "required": [
            "id",
            "name"
          ],
          "description": "The channel entity that published the video. Null when the video has not been linked to a channel entity."
        }
      },
      "required": [
        "video_id",
        "title",
        "published_at",
        "channel_id",
        "source_channel"
      ]
    },
    "start_seconds": {
      "type": [
        "integer",
        "null"
      ],
      "description": "Start position in the video in integer seconds. 0 means \"full episode / no specific moment\". Null when the analyzer could not place it in time."
    },
    "end_seconds": {
      "type": [
        "integer",
        "null"
      ],
      "description": "End position in the video in integer seconds. 0 means \"full episode / no specific moment\". Null when the analyzer could not place it in time."
    },
    "verbatim_quote": {
      "type": [
        "string",
        "null"
      ],
      "description": "Verbatim quote from the transcript. Null when no quote was extracted."
    },
    "promo_code": {
      "type": [
        "string",
        "null"
      ],
      "description": "Promo code read out in the mention. Null unless one was detected."
    },
    "offer": {
      "type": [
        "string",
        "null"
      ],
      "description": "Offer text, e.g. \"20% off your first order\". Null unless one was detected."
    },
    "sentiment": {
      "type": [
        "number",
        "null"
      ],
      "deprecated": true,
      "description": "DEPRECATED: use sentiment_score, which carries the same number. Removal will be announced in the changelog. Raw NUMERIC sentiment score between -1 and 1. Null when not computed."
    },
    "sentiment_score": {
      "type": [
        "number",
        "null"
      ],
      "description": "Raw sentiment score between -1 and 1, same semantics as sentiment_score on mentions. Null when not computed."
    },
    "confidence": {
      "type": "number",
      "description": "Classifier confidence between 0 and 1. Recommendations below the min_confidence filter (default 0.7) are excluded from list responses."
    },
    "speaker_role": {
      "type": "string",
      "description": "Role of the speaker delivering the mention, e.g. \"host\" or \"guest\"."
    },
    "conflict_status": {
      "type": [
        "string",
        "null"
      ],
      "description": "Set when community feedback disputes the classification (e.g. \"disputed\"). Null when undisputed. Disputed recommendations are excluded unless include_disputed=true."
    },
    "resolution": {
      "type": [
        "string",
        "null"
      ],
      "description": "How a disputed classification was resolved. Null until a dispute has been resolved."
    }
  },
  "required": [
    "id",
    "class",
    "entity",
    "media",
    "start_seconds",
    "end_seconds",
    "verbatim_quote",
    "promo_code",
    "offer",
    "sentiment",
    "sentiment_score",
    "confidence",
    "speaker_role",
    "conflict_status",
    "resolution"
  ]
}