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"
]
}