{"openapi":"3.1.0","jsonSchemaDialect":"https://json-schema.org/draft/2020-12/schema","info":{"title":"AI Avatar Library API","version":"1.0.0","summary":"Read-only data on YouTube channels run by AI avatars.","description":"A free, read-only API over the AI Avatar Library at avatarchannels.com: published channels, our analysis of each (niche, persona, avatar style), the products they sell and how their funnels work.\n\nThis deployment serves the `own` tier: channel identity, our analysis, offers, funnels and links. Live statistics (subscribers, views, growth, videos) are not included yet.\n\nAttribution: Channel statistics: YouTube. Analysis and offers: avatarchannels.com. Re-users must credit avatarchannels.com.\n\nAnalysis, offers, funnels and links are avatarchannels.com's own research from public pages, not data from YouTube.\n\nResponses are cached for up to 15 minutes; the data is refreshed daily. No authentication. Every answer carries a `meta` object with the attribution and the data date (`as_of`).\n\nThe same data is available to Claude and other AI assistants through the MCP server at https://avatarchannels.com/mcp.","contact":{"name":"avatarchannels.com","url":"https://avatarchannels.com/developers"}},"servers":[{"url":"https://avatarchannels.com/api/v1"}],"externalDocs":{"description":"Developer guide","url":"https://avatarchannels.com/developers"},"tags":[{"name":"channels"},{"name":"offers"},{"name":"library"}],"paths":{"/":{"get":{"operationId":"index","summary":"Version, links and attribution","tags":["library"],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/channels":{"get":{"operationId":"listChannels","summary":"Search and list published channels","tags":["channels"],"parameters":[{"name":"q","in":"query","required":false,"description":"Search text: channel name, handle, persona name, niche and tags","schema":{"type":"string","minLength":1,"maxLength":80,"pattern":"^[^\\u0000-\\u001f\\u007f-\\u009f]*$"}},{"name":"topic","in":"query","required":false,"description":"The channel's topic, from a fixed list (a channel has 1 to 3)","schema":{"type":"string","enum":["cooking","home_cleaning","frugal_money","prepping_survival","safety_security","homesteading_gardening","health_beauty","seniors_retirement","relationships_life","golf_sports","pets","trucking","cars_vehicles","travel","fishing_outdoors","diy_repair","history_culture","faith","other"]}},{"name":"niche","in":"query","required":false,"description":"A niche or niche tag in use (GET /api/v1/stats lists them)","schema":{"type":"string","minLength":1,"maxLength":80,"pattern":"^[^\\u0000-\\u001f\\u007f-\\u009f]*$"}},{"name":"gender","in":"query","required":false,"description":"The on-screen persona's gender as presented: female or male","schema":{"type":"string","enum":["female","male"]}},{"name":"lang","in":"query","required":false,"description":"Language code (ISO 639-1/-3), e.g. en","schema":{"type":"string","pattern":"^[a-z]{2,3}$"}},{"name":"country","in":"query","required":false,"description":"Country code (ISO 3166-1 alpha-2), e.g. US","schema":{"type":"string","pattern":"^[A-Z]{2}$"}},{"name":"style","in":"query","required":false,"description":"Avatar style","schema":{"type":"string","enum":["realistic","3d","cartoon","anime","talking_head","stylized","other"]}},{"name":"motion","in":"query","required":false,"description":"How the avatar moves on screen","schema":{"type":"string","enum":["still_image","talking_head","full_body","mixed"]}},{"name":"persona","in":"query","required":false,"description":"The on-screen persona's role","schema":{"type":"string","enum":["grandmother","grandfather","mother","father","homemaker","home_cook","chef","homesteader","tradesperson","retired_professional","expert","narrator","other"]}},{"name":"age","in":"query","required":false,"description":"The persona's apparent age band","schema":{"type":"string","enum":["young_adult","adult","middle_aged","senior"]}},{"name":"started","in":"query","required":false,"description":"First known upload: within 30 days, 90 days, a year, or older","schema":{"type":"string","enum":["30d","90d","1y","older"]}},{"name":"uploads","in":"query","required":false,"description":"Uploads per week","schema":{"type":"string","enum":["lt1w","1-3w","3-7w","daily+"]}},{"name":"length","in":"query","required":false,"description":"Median video length in minutes","schema":{"type":"string","enum":["lt8","8-20","20-40","40+"]}},{"name":"sells","in":"query","required":false,"description":"Whether the channel sells a product","schema":{"type":"string","enum":["yes","no","unknown"]}},{"name":"offer","in":"query","required":false,"description":"Offer type","schema":{"type":"string","enum":["ebook","cookbook","guide","course","membership","community","coaching","print_book","physical","bundle","lead_magnet","affiliate","app","other"]}},{"name":"price","in":"query","required":false,"description":"Offer price range in USD; other = another currency","schema":{"type":"string","enum":["lt20","20-39","40-59","60+","other"]}},{"name":"platform","in":"query","required":false,"description":"Store or checkout platform","schema":{"type":"string","enum":["gumroad","payhip","shopify","stripe_link","stripe_custom","lemon_squeezy","lulu","liibro","kajabi","stan","beacons","etsy","amazon","custom","unknown"]}},{"name":"sort","in":"query","required":false,"description":"Sort order (default name)","schema":{"type":"string","enum":["newest","price","uploads","name"]}},{"name":"limit","in":"query","required":false,"description":"Results per page, 1 to 100 (default 24)","schema":{"type":"integer","minimum":1,"maximum":100}},{"name":"offset","in":"query","required":false,"description":"Results to skip","schema":{"type":"integer","minimum":0,"maximum":100000}},{"name":"facets","in":"query","required":false,"description":"1 adds every filter's valid values with counts","schema":{"type":"string","enum":["0","1","true","false"]}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChannelList"}}}},"400":{"description":"Invalid parameter: every bad parameter is listed with its valid values","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Too many requests (see Retry-After)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"The API is paused, or the data is temporarily unavailable","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/channels/{key}":{"get":{"operationId":"getChannel","summary":"One channel in full","tags":["channels"],"parameters":[{"name":"key","in":"path","required":true,"description":"The channel's slug, UC id or @handle","schema":{"type":"string","minLength":1,"maxLength":300}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChannelResponse"}}}},"400":{"description":"Invalid parameter: every bad parameter is listed with its valid values","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"No published channel has that key","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Too many requests (see Retry-After)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"The API is paused, or the data is temporarily unavailable","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/channels/{key}/offers":{"get":{"operationId":"getChannelOffers","summary":"One channel's offers and funnel","tags":["offers"],"parameters":[{"name":"key","in":"path","required":true,"description":"The channel's slug, UC id or @handle","schema":{"type":"string","minLength":1,"maxLength":300}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChannelOffersResponse"}}}},"400":{"description":"Invalid parameter: every bad parameter is listed with its valid values","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"No published channel has that key","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Too many requests (see Retry-After)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"The API is paused, or the data is temporarily unavailable","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/channels/{key}/videos":{"get":{"operationId":"getChannelVideos","summary":"A channel's videos (not available in this tier)","description":"Video lists and growth series are YouTube statistics, which this API does not serve yet (live stats are not included in the current tier). Channel identity, analysis, offers and funnels are available.","tags":["channels"],"parameters":[{"name":"key","in":"path","required":true,"description":"The channel's slug, UC id or @handle","schema":{"type":"string","minLength":1,"maxLength":300}},{"name":"sort","in":"query","required":false,"description":"recent (newest first, default) or popular (most viewed first)","schema":{"type":"string","enum":["recent","popular"]}},{"name":"limit","in":"query","required":false,"description":"Videos to return, 1 to 50 (default 20)","schema":{"type":"integer","minimum":1,"maximum":50}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VideosResponse"}}}},"400":{"description":"Invalid parameter: every bad parameter is listed with its valid values","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Not available in this tier (not-in-tier), or unknown channel","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Too many requests (see Retry-After)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"The API is paused, or the data is temporarily unavailable","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/channels/{key}/growth":{"get":{"operationId":"getChannelGrowth","summary":"A channel's growth series (not available in this tier)","description":"Video lists and growth series are YouTube statistics, which this API does not serve yet (live stats are not included in the current tier). Channel identity, analysis, offers and funnels are available.","tags":["channels"],"parameters":[{"name":"key","in":"path","required":true,"description":"The channel's slug, UC id or @handle","schema":{"type":"string","minLength":1,"maxLength":300}},{"name":"days","in":"query","required":false,"description":"Days back from the latest stored day, 1 to 365 (default 90)","schema":{"type":"integer","minimum":1,"maximum":365}},{"name":"interval","in":"query","required":false,"description":"day, week (default: the last stored day of each ISO week) or month","schema":{"type":"string","enum":["day","week","month"]}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GrowthResponse"}}}},"400":{"description":"Invalid parameter: every bad parameter is listed with its valid values","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Not available in this tier (not-in-tier), or unknown channel","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Too many requests (see Retry-After)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"The API is paused, or the data is temporarily unavailable","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/offers":{"get":{"operationId":"listOffers","summary":"Published offers across the library, cheapest first","tags":["offers"],"parameters":[{"name":"channel","in":"query","required":false,"description":"Channel slug, UC id, @handle or YouTube URL","schema":{"type":"string","minLength":1,"maxLength":300,"pattern":"^[^\\u0000-\\u001f\\u007f-\\u009f]*$"}},{"name":"type","in":"query","required":false,"description":"Offer type","schema":{"type":"string","enum":["ebook","cookbook","guide","course","membership","community","coaching","print_book","physical","bundle","lead_magnet","affiliate","app","other"]}},{"name":"platform","in":"query","required":false,"description":"Store or checkout platform","schema":{"type":"string","enum":["gumroad","payhip","shopify","stripe_link","stripe_custom","lemon_squeezy","lulu","liibro","kajabi","stan","beacons","etsy","amazon","custom","unknown"]}},{"name":"price_min","in":"query","required":false,"description":"Lowest price in USD","schema":{"type":"number","minimum":0,"maximum":100000}},{"name":"price_max","in":"query","required":false,"description":"Highest price in USD","schema":{"type":"number","minimum":0,"maximum":100000}},{"name":"limit","in":"query","required":false,"description":"Results per page","schema":{"type":"integer","minimum":1,"maximum":100}},{"name":"offset","in":"query","required":false,"description":"Results to skip","schema":{"type":"integer","minimum":0,"maximum":100000}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OfferList"}}}},"400":{"description":"Invalid parameter: every bad parameter is listed with its valid values","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"The channel parameter names no published channel","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Too many requests (see Retry-After)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"The API is paused, or the data is temporarily unavailable","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/compare":{"get":{"operationId":"compareChannels","summary":"2 to 5 channels side by side","tags":["channels"],"parameters":[{"name":"channels","in":"query","required":true,"description":"2 to 5 slugs, UC ids or @handles, comma-separated","schema":{"type":"string","maxLength":1000}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompareResponse"}}}},"400":{"description":"Invalid parameter: every bad parameter is listed with its valid values","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"A channel was not found","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Too many requests (see Retry-After)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"The API is paused, or the data is temporarily unavailable","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/stats":{"get":{"operationId":"libraryStats","summary":"Library totals and every filter's valid values","tags":["library"],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StatsResponse"}}}},"400":{"description":"Invalid parameter: every bad parameter is listed with its valid values","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Too many requests (see Retry-After)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"The API is paused, or the data is temporarily unavailable","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/export.json":{"get":{"operationId":"exportLibrary","summary":"Every published channel in one response (always the own tier: never statistics)","tags":["library"],"responses":{"200":{"description":"OK: { data: Channel[], meta }","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Invalid parameter: every bad parameter is listed with its valid values","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Too many requests (see Retry-After)","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"The API is paused, or the data is temporarily unavailable","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/openapi.json":{"get":{"operationId":"openapi","summary":"This document","tags":["library"],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}}}}}},"components":{"schemas":{"Meta":{"type":"object","properties":{"source":{"type":"string","const":"Channel statistics: YouTube. Analysis and offers: avatarchannels.com."},"powered_by":{"type":"object","properties":{"name":{"type":"string","const":"YouTube"},"url":{"type":"string","const":"https://www.youtube.com"}},"required":["name","url"],"additionalProperties":false},"youtube_terms":{"type":"string","const":"https://www.youtube.com/t/terms"},"disclosure":{"type":"string","const":"Analysis, offers, funnels and links are avatarchannels.com's own research from public pages, not data from YouTube."},"tier":{"type":"string","enum":["own","full"]},"as_of":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},{"type":"null"}]},"generated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"docs":{"type":"string","maxLength":2000,"pattern":"^https?:\\/\\/\\S+$"}},"required":["source","powered_by","youtube_terms","disclosure","tier","as_of","generated_at","docs"],"additionalProperties":false},"ListMeta":{"type":"object","properties":{"source":{"type":"string","const":"Channel statistics: YouTube. Analysis and offers: avatarchannels.com."},"powered_by":{"type":"object","properties":{"name":{"type":"string","const":"YouTube"},"url":{"type":"string","const":"https://www.youtube.com"}},"required":["name","url"],"additionalProperties":false},"youtube_terms":{"type":"string","const":"https://www.youtube.com/t/terms"},"disclosure":{"type":"string","const":"Analysis, offers, funnels and links are avatarchannels.com's own research from public pages, not data from YouTube."},"tier":{"type":"string","enum":["own","full"]},"as_of":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},{"type":"null"}]},"generated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"docs":{"type":"string","maxLength":2000,"pattern":"^https?:\\/\\/\\S+$"},"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"limit":{"type":"integer","minimum":1,"maximum":9007199254740991},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991},"next_offset":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"unused_filters":{"type":"array","items":{"type":"string"},"description":"Filters whose value no published channel has (they match nothing)"},"sort":{"type":"string","enum":["newest","price","uploads","name"]},"filters":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"string"},"description":"The filters as applied"}},"required":["source","powered_by","youtube_terms","disclosure","tier","as_of","generated_at","docs","total","limit","offset","next_offset","unused_filters","sort","filters"],"additionalProperties":false},"ChannelSummary":{"type":"object","properties":{"slug":{"type":"string","pattern":"^[a-z0-9-]{1,80}$"},"title":{"type":"string","maxLength":200},"handle":{"anyOf":[{"type":"string","maxLength":101},{"type":"null"}]},"youtube_url":{"type":"string","maxLength":2000,"pattern":"^https?:\\/\\/\\S+$"},"library_url":{"type":"string","maxLength":2000,"pattern":"^https?:\\/\\/\\S+$"},"avatar_url":{"anyOf":[{"type":"string","maxLength":2000,"pattern":"^https?:\\/\\/\\S+$"},{"type":"null"}]},"country":{"anyOf":[{"type":"string","pattern":"^[A-Z]{2}$"},{"type":"null"}]},"language":{"anyOf":[{"type":"string","pattern":"^[a-z]{2,3}$"},{"type":"null"}]},"niche":{"anyOf":[{"type":"string","maxLength":80},{"type":"null"}]},"avatar_style":{"anyOf":[{"type":"string","enum":["realistic","3d","cartoon","anime","talking_head","stylized","other"]},{"type":"null"}]},"avatar_motion":{"anyOf":[{"type":"string","enum":["still_image","talking_head","full_body","mixed","unknown"]},{"type":"null"}]},"persona_archetype":{"anyOf":[{"type":"string","enum":["grandmother","grandfather","mother","father","homemaker","home_cook","chef","homesteader","tradesperson","retired_professional","expert","narrator","other"]},{"type":"null"}]},"ai_avatar_verdict":{"anyOf":[{"type":"string","enum":["confirmed","likely","unclear","not_avatar"]},{"type":"null"}]},"first_upload_at":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},{"type":"null"}]},"uploads_per_week":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]},"median_length_seconds":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"sells":{"type":"string","enum":["yes","no","unknown"]},"offer_types":{"type":"array","items":{"type":"string","enum":["ebook","cookbook","guide","course","membership","community","coaching","print_book","physical","bundle","lead_magnet","affiliate","app","other"]}},"platforms":{"type":"array","items":{"type":"string","enum":["gumroad","payhip","shopify","stripe_link","stripe_custom","lemon_squeezy","lulu","liibro","kajabi","stan","beacons","etsy","amazon","custom","unknown"]}},"price_from":{"anyOf":[{"type":"object","properties":{"amount_cents":{"type":"integer","minimum":0,"maximum":9007199254740991},"currency":{"type":"string","pattern":"^[A-Z]{3}$"}},"required":["amount_cents","currency"],"additionalProperties":false},{"type":"null"}],"description":"The cheapest paid offer's price, in cents of its currency (2700 USD = $27)"}},"required":["slug","title","handle","youtube_url","library_url","avatar_url","country","language","niche","avatar_style","avatar_motion","persona_archetype","ai_avatar_verdict","first_upload_at","uploads_per_week","median_length_seconds","sells","offer_types","platforms","price_from"],"additionalProperties":false},"Channel":{"type":"object","properties":{"slug":{"type":"string","pattern":"^[a-z0-9-]{1,80}$"},"title":{"type":"string","maxLength":200},"handle":{"anyOf":[{"type":"string","maxLength":101},{"type":"null"}]},"youtube_url":{"type":"string","maxLength":2000,"pattern":"^https?:\\/\\/\\S+$"},"library_url":{"type":"string","maxLength":2000,"pattern":"^https?:\\/\\/\\S+$"},"avatar_url":{"anyOf":[{"type":"string","maxLength":2000,"pattern":"^https?:\\/\\/\\S+$"},{"type":"null"}]},"country":{"anyOf":[{"type":"string","pattern":"^[A-Z]{2}$"},{"type":"null"}]},"language":{"anyOf":[{"type":"string","pattern":"^[a-z]{2,3}$"},{"type":"null"}]},"first_upload_at":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},{"type":"null"}]},"schedule":{"type":"object","properties":{"uploads_per_week":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]},"rate_label":{"anyOf":[{"type":"string","maxLength":60},{"type":"null"}]},"window_days":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"uploads_in_window":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"median_length_seconds":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"length_label":{"anyOf":[{"type":"string","maxLength":40},{"type":"null"}]},"dated_videos":{"type":"integer","minimum":0,"maximum":9007199254740991},"basis":{"anyOf":[{"type":"string","enum":["window","latest"]},{"type":"null"}]},"as_of":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},{"type":"null"}]}},"required":["uploads_per_week","rate_label","window_days","uploads_in_window","median_length_seconds","length_label","dated_videos","basis","as_of"],"additionalProperties":false},"analysis":{"anyOf":[{"type":"object","properties":{"niche":{"anyOf":[{"type":"string","maxLength":80},{"type":"null"}]},"niche_tags":{"type":"array","items":{"type":"string","maxLength":40}},"target_audience":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}]},"video_format":{"anyOf":[{"type":"string","maxLength":300},{"type":"null"}]},"typical_length":{"anyOf":[{"type":"string","maxLength":80},{"type":"null"}]},"avatar":{"type":"object","properties":{"style":{"anyOf":[{"type":"string","enum":["realistic","3d","cartoon","anime","talking_head","stylized","other"]},{"type":"null"}]},"style_note":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}]},"motion":{"anyOf":[{"type":"string","enum":["still_image","talking_head","full_body","mixed","unknown"]},{"type":"null"}]},"verdict":{"anyOf":[{"type":"string","enum":["confirmed","likely","unclear","not_avatar"]},{"type":"null"}]},"evidence":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}]}},"required":["style","style_note","motion","verdict","evidence"],"additionalProperties":false},"persona":{"type":"object","properties":{"name":{"anyOf":[{"type":"string","maxLength":80},{"type":"null"}]},"archetype":{"anyOf":[{"type":"string","enum":["grandmother","grandfather","mother","father","homemaker","home_cook","chef","homesteader","tradesperson","retired_professional","expert","narrator","other"]},{"type":"null"}]},"age_band":{"anyOf":[{"type":"string","enum":["young_adult","adult","middle_aged","senior","unknown"]},{"type":"null"}]},"gender":{"anyOf":[{"type":"string","enum":["female","male","unspecified"]},{"type":"null"}]},"setting":{"anyOf":[{"type":"string","maxLength":120},{"type":"null"}]}},"required":["name","archetype","age_band","gender","setting"],"additionalProperties":false},"content_pillars":{"type":"array","items":{"type":"string","maxLength":200}},"title_patterns":{"type":"array","items":{"type":"string","maxLength":200}},"thumbnail_style":{"anyOf":[{"type":"string","maxLength":300},{"type":"null"}]},"why_it_works":{"type":"array","items":{"type":"string","maxLength":500}},"provenance":{"type":"object","properties":{"ai_assisted":{"type":"boolean"},"field_sources":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"string","enum":["ai","human","ai_reviewed"]}},"ai_generated_at":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},{"type":"null"}]},"reviewed_at":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},{"type":"null"}]},"updated_at":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},{"type":"null"}]}},"required":["ai_assisted","field_sources","ai_generated_at","reviewed_at","updated_at"],"additionalProperties":false},"disclosure":{"type":"string","const":"Our analysis — not data from YouTube."}},"required":["niche","niche_tags","target_audience","video_format","typical_length","avatar","persona","content_pillars","title_patterns","thumbnail_style","why_it_works","provenance","disclosure"],"additionalProperties":false},{"type":"null"}]},"offers":{"type":"array","items":{"$ref":"#/components/schemas/Offer"}},"offer_summary":{"$ref":"#/components/schemas/OfferSummary"},"funnel":{"anyOf":[{"$ref":"#/components/schemas/Funnel"},{"type":"null"}]},"links":{"type":"array","items":{"type":"object","properties":{"url":{"type":"string","maxLength":2000,"pattern":"^https?:\\/\\/\\S+$"},"final_url":{"anyOf":[{"type":"string","maxLength":2000,"pattern":"^https?:\\/\\/\\S+$"},{"type":"null"}]},"domain":{"type":"string","maxLength":253},"kind":{"type":"string","enum":["store","link_in_bio","social","newsletter","community","affiliate","youtube","other","unknown"]},"sources":{"type":"array","items":{"type":"string","enum":["about","description","comment"]}},"label":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}]},"recent_checked":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"recent_with_link":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"first_line_count":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]}},"required":["url","final_url","domain","kind","sources","label","recent_checked","recent_with_link","first_line_count"],"additionalProperties":false}},"operator":{"anyOf":[{"type":"object","properties":{"name":{"type":"string","maxLength":120}},"required":["name"],"additionalProperties":false},{"type":"null"}]}},"required":["slug","title","handle","youtube_url","library_url","avatar_url","country","language","first_upload_at","schedule","analysis","offers","offer_summary","funnel","links","operator"],"additionalProperties":false},"Offer":{"type":"object","properties":{"id":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"product_name":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}]},"offer_type":{"anyOf":[{"type":"string","enum":["ebook","cookbook","guide","course","membership","community","coaching","print_book","physical","bundle","lead_magnet","affiliate","app","other"]},{"type":"null"}]},"formats":{"type":"array","items":{"type":"string","maxLength":20}},"platform":{"type":"string","enum":["gumroad","payhip","shopify","stripe_link","stripe_custom","lemon_squeezy","lulu","liibro","kajabi","stan","beacons","etsy","amazon","custom","unknown"]},"store_url":{"type":"string","maxLength":2000,"pattern":"^https?:\\/\\/\\S+$"},"domain":{"type":"string","maxLength":253},"price":{"type":"object","properties":{"amount_cents":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}],"description":"The price in cents of `currency` (3999 = 39.99); 0 = free"},"anchor_cents":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}],"description":"The struck-through 'was' price shown on the page, in cents"},"currency":{"anyOf":[{"type":"string","pattern":"^[A-Z]{3}$"},{"type":"null"}]},"note":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}]}},"required":["amount_cents","anchor_cents","currency","note"],"additionalProperties":false},"page_count":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"is_bundle":{"type":["boolean","null"]},"guarantee_days":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"ai_disclosure":{"type":"string","enum":["yes","no","unknown"]},"email_capture":{"type":["boolean","null"]},"email_provider":{"anyOf":[{"type":"string","maxLength":40},{"type":"null"}]},"status":{"type":"string","enum":["active","redirected","gone","unreachable"]},"checked_at":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},{"type":"null"}]},"reviewed_at":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},{"type":"null"}]},"evidence":{"type":"array","items":{"type":"object","properties":{"url":{"type":"string","maxLength":2000,"pattern":"^https?:\\/\\/\\S+$"},"seen_at":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},{"type":"null"}]}},"required":["url","seen_at"],"additionalProperties":false}}},"required":["id","product_name","offer_type","formats","platform","store_url","domain","price","page_count","is_bundle","guarantee_days","ai_disclosure","email_capture","email_provider","status","checked_at","reviewed_at","evidence"],"additionalProperties":false},"OfferSummary":{"type":"object","properties":{"sells":{"type":"string","enum":["yes","no","unknown"]},"offer_count":{"type":"integer","minimum":0,"maximum":9007199254740991},"offer_types":{"type":"array","items":{"type":"string","enum":["ebook","cookbook","guide","course","membership","community","coaching","print_book","physical","bundle","lead_magnet","affiliate","app","other"]}},"platforms":{"type":"array","items":{"type":"string","enum":["gumroad","payhip","shopify","stripe_link","stripe_custom","lemon_squeezy","lulu","liibro","kajabi","stan","beacons","etsy","amazon","custom","unknown"]}},"currencies":{"type":"array","items":{"type":"string","pattern":"^[A-Z]{3}$"}},"price_min_usd_cents":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"price_max_usd_cents":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]}},"required":["sells","offer_count","offer_types","platforms","currencies","price_min_usd_cents","price_max_usd_cents"],"additionalProperties":false},"Funnel":{"type":"object","properties":{"entry_points":{"type":"array","items":{"type":"string","enum":["about_link","description_first_line","description_body","owner_comment","trailer"]}},"steps":{"type":"array","items":{"type":"object","properties":{"kind":{"type":"string","enum":["video","description","link_in_bio","landing","checkout","email","upsell"]},"platform":{"anyOf":[{"type":"string","enum":["gumroad","payhip","shopify","stripe_link","stripe_custom","lemon_squeezy","lulu","liibro","kajabi","stan","beacons","etsy","amazon","custom","unknown"]},{"type":"null"}]},"url":{"anyOf":[{"type":"string","maxLength":2000,"pattern":"^https?:\\/\\/\\S+$"},{"type":"null"}]},"note":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}]}},"required":["kind","platform","url","note"],"additionalProperties":false}},"description_cta_share":{"anyOf":[{"type":"number","minimum":0,"maximum":1},{"type":"null"}]},"link_started_on":{"anyOf":[{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},{"type":"null"}]},"owner_comment_cta":{"type":["boolean","null"]},"narrative":{"anyOf":[{"type":"string","maxLength":800},{"type":"null"}]},"narrative_source":{"anyOf":[{"type":"string","enum":["ai","human","ai_reviewed"]},{"type":"null"}]},"steps_source":{"anyOf":[{"type":"string","enum":["ai","human","ai_reviewed"]},{"type":"null"}]},"reviewed_at":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},{"type":"null"}]},"updated_at":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},{"type":"null"}]},"disclosure":{"type":"string","const":"Our analysis — not data from YouTube."}},"required":["entry_points","steps","description_cta_share","link_started_on","owner_comment_cta","narrative","narrative_source","steps_source","reviewed_at","updated_at","disclosure"],"additionalProperties":false},"OfferHit":{"type":"object","properties":{"channel":{"type":"object","properties":{"slug":{"type":"string","pattern":"^[a-z0-9-]{1,80}$"},"title":{"type":"string","maxLength":200},"library_url":{"type":"string","maxLength":2000,"pattern":"^https?:\\/\\/\\S+$"}},"required":["slug","title","library_url"],"additionalProperties":false},"offer":{"$ref":"#/components/schemas/Offer"}},"required":["channel","offer"],"additionalProperties":false},"ChannelRef":{"type":"object","properties":{"slug":{"type":"string"},"title":{"type":"string"},"library_url":{"type":"string"}},"required":["slug","title","library_url"],"additionalProperties":false},"Facet":{"type":"object","properties":{"all":{"type":"integer","minimum":0,"maximum":9007199254740991},"options":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"},"label":{"type":"string"},"count":{"type":"integer","minimum":0,"maximum":9007199254740991},"total":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["value","label","count","total"],"additionalProperties":false}}},"required":["all","options"],"additionalProperties":false},"Problem":{"type":"object","properties":{"type":{"type":"string","description":"A URL explaining the problem type (/developers#problem-<type>)"},"title":{"type":"string"},"status":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"detail":{"type":"string"},"instance":{"type":"string"},"invalid_params":{"description":"One entry per bad parameter, with the valid values where they are a closed list","type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"reason":{"type":"string"},"valid":{"type":"array","items":{"type":"string"}}},"required":["name","reason"],"additionalProperties":false}},"candidates":{"description":"ambiguous-channel: the channels the key could mean","type":"array","items":{"$ref":"#/components/schemas/ChannelRef"}},"docs":{"type":"string"},"attribution":{"type":"string","const":"Channel statistics: YouTube. Analysis and offers: avatarchannels.com."}},"required":["type","title","status","detail","docs","attribution"],"additionalProperties":false,"description":"RFC 9457 problem details (application/problem+json)"},"ChannelList":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/ChannelSummary"}},"meta":{"$ref":"#/components/schemas/ListMeta"},"links":{"type":"object","properties":{"self":{"type":"string"},"next":{"type":["string","null"]},"prev":{"type":["string","null"]}},"required":["self","next","prev"],"additionalProperties":false},"facets":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/components/schemas/Facet"}}},"required":["data","meta","links"],"additionalProperties":false},"ChannelResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/Channel"},"meta":{"$ref":"#/components/schemas/Meta"}},"required":["data","meta"],"additionalProperties":false},"ChannelOffersResponse":{"type":"object","properties":{"data":{"type":"object","properties":{"channel":{"$ref":"#/components/schemas/ChannelRef"},"offers":{"type":"array","items":{"$ref":"#/components/schemas/Offer"}},"offer_summary":{"$ref":"#/components/schemas/OfferSummary"},"funnel":{"anyOf":[{"$ref":"#/components/schemas/Funnel"},{"type":"null"}]}},"required":["channel","offers","offer_summary","funnel"],"additionalProperties":false},"meta":{"$ref":"#/components/schemas/Meta"}},"required":["data","meta"],"additionalProperties":false},"OfferList":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/OfferHit"}},"meta":{"type":"object","properties":{"source":{"type":"string","const":"Channel statistics: YouTube. Analysis and offers: avatarchannels.com."},"powered_by":{"type":"object","properties":{"name":{"type":"string","const":"YouTube"},"url":{"type":"string","const":"https://www.youtube.com"}},"required":["name","url"],"additionalProperties":false},"youtube_terms":{"type":"string","const":"https://www.youtube.com/t/terms"},"disclosure":{"type":"string","const":"Analysis, offers, funnels and links are avatarchannels.com's own research from public pages, not data from YouTube."},"tier":{"type":"string","enum":["own","full"]},"as_of":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},{"type":"null"}]},"generated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"docs":{"type":"string","maxLength":2000,"pattern":"^https?:\\/\\/\\S+$"},"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"limit":{"type":"integer","minimum":1,"maximum":9007199254740991},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991},"next_offset":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]}},"required":["source","powered_by","youtube_terms","disclosure","tier","as_of","generated_at","docs","total","limit","offset","next_offset"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string"},"next":{"type":["string","null"]},"prev":{"type":["string","null"]}},"required":["self","next","prev"],"additionalProperties":false}},"required":["data","meta","links"],"additionalProperties":false},"CompareResponse":{"type":"object","properties":{"data":{"type":"object","properties":{"channels":{"type":"array","items":{"$ref":"#/components/schemas/ChannelSummary"}},"leaders":{"type":"array","items":{"type":"object","properties":{"metric":{"type":"string"},"slug":{"type":"string"},"value":{"type":["number","string"]}},"required":["metric","slug","value"],"additionalProperties":false}}},"required":["channels","leaders"],"additionalProperties":false},"meta":{"$ref":"#/components/schemas/Meta"}},"required":["data","meta"],"additionalProperties":false},"StatsResponse":{"type":"object","properties":{"data":{"type":"object","properties":{"totals":{"type":"object","properties":{"channels":{"type":"integer","minimum":0,"maximum":9007199254740991},"selling_channels":{"type":"integer","minimum":0,"maximum":9007199254740991},"offers":{"type":"integer","minimum":0,"maximum":9007199254740991},"languages":{"type":"integer","minimum":0,"maximum":9007199254740991},"countries":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["channels","selling_channels","offers","languages","countries"],"additionalProperties":false},"facets":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"object","properties":{"all":{"type":"integer","minimum":0,"maximum":9007199254740991},"options":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"},"label":{"type":"string"},"count":{"type":"integer","minimum":0,"maximum":9007199254740991},"total":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["value","label","count","total"],"additionalProperties":false}}},"required":["all","options"],"additionalProperties":false}},"filters":{"type":"array","items":{"type":"string"}},"sorts":{"type":"array","items":{"type":"string"}},"default_sort":{"type":"string"}},"required":["totals","facets","filters","sorts","default_sort"],"additionalProperties":false},"meta":{"$ref":"#/components/schemas/Meta"}},"required":["data","meta"],"additionalProperties":false},"Video":{"type":"object","properties":{"id":{"type":"string","pattern":"^[A-Za-z0-9_-]{11}$"},"title":{"type":"string","maxLength":500},"url":{"type":"string","maxLength":2000,"pattern":"^https?:\\/\\/\\S+$"},"thumbnail_url":{"anyOf":[{"type":"string","maxLength":2000,"pattern":"^https?:\\/\\/\\S+$"},{"type":"null"}]},"published_at":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},{"type":"null"}]},"duration_seconds":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"views":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"likes":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"comments":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"is_short":{"type":"boolean"}},"required":["id","title","url","thumbnail_url","published_at","duration_seconds","views","likes","comments","is_short"],"additionalProperties":false},"VideosResponse":{"type":"object","properties":{"data":{"type":"object","properties":{"channel":{"$ref":"#/components/schemas/ChannelRef"},"sort":{"type":"string"},"videos":{"type":"array","items":{"$ref":"#/components/schemas/Video"}}},"required":["channel","sort","videos"],"additionalProperties":false},"meta":{"$ref":"#/components/schemas/Meta"}},"required":["data","meta"],"additionalProperties":false},"GrowthResponse":{"type":"object","properties":{"data":{"type":"object","properties":{"interval":{"type":"string","enum":["day","week","month"]},"days":{"type":"integer","minimum":0,"maximum":9007199254740991},"from":{"anyOf":[{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},{"type":"null"}]},"to":{"anyOf":[{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},{"type":"null"}]},"points":{"type":"array","items":{"type":"object","properties":{"day":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"subscribers":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"views":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"videos":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]}},"required":["day","subscribers","views","videos"],"additionalProperties":false}},"channel":{"$ref":"#/components/schemas/ChannelRef"}},"required":["interval","days","from","to","points","channel"],"additionalProperties":false},"meta":{"$ref":"#/components/schemas/Meta"}},"required":["data","meta"],"additionalProperties":false}},"x-problem-types":["https://avatarchannels.com/developers#problem-invalid-parameter","https://avatarchannels.com/developers#problem-not-found","https://avatarchannels.com/developers#problem-ambiguous-channel","https://avatarchannels.com/developers#problem-not-in-tier","https://avatarchannels.com/developers#problem-method-not-allowed","https://avatarchannels.com/developers#problem-uri-too-long","https://avatarchannels.com/developers#problem-payload-too-large","https://avatarchannels.com/developers#problem-rate-limited","https://avatarchannels.com/developers#problem-unavailable","https://avatarchannels.com/developers#problem-disabled"]},"x-sorts":["newest","price","uploads","name"]}