{"openapi":"3.1.0","info":{"title":"GenRank API","version":"2.7.0","description":"Access to the GenRank index, and matching endpoints that compute from what you send (website lookup, classification, competitor relevance, mention checks, brand suggestions). Access is by application; keys are issued by GenRank staff. Human-readable reference: `/api/v2/docs.md`.\n\nEvery request made with a key is recorded with its path, parameters and body for 12 months, and never used in a score or a ranking (governance §7, privacy policy).\n\nAll routes need `Authorization: Bearer grk_…`. Responses are `Cache-Control: private` with `Vary: Authorization` and a strong ETag; send `If-None-Match` to get 304.\n\nLimits are per key: `X-RateLimit-Limit` per minute and, when set, `X-Quota-Limit` per KST day. Counters are shared across servers; if the counter store is unreachable the request is served and `X-RateLimit-Approx: 1` is set.\n\nA week is the GenRank week: it starts Sunday 00:00 KST. `model_id` is the provider model identifier (e.g. `openai/gpt-5.6-luna`). Every ranking row carries the `methodology_version` it was computed under; rows of different major versions are not comparable.\n\nStored entity ids and slugs never 404 after a merge: the old id answers 301 with `redirected_to`, a removed entity answers 410. A retired question keeps answering with `status: retired` and `replaced_by`.\n\nRegional index: `/regions` lists regions and the (leaf, region) pairs measured there. Regional questions have their own slugs (`{leaf}--{region}`) and regional entities their own ids with `region_id` and, when known, `parent_entity_id`. Category rankings, history, graph and matrix are national."},"servers":[{"url":"https://www.genrank.com/api/v2"}],"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer","description":"grk_ API key"}},"schemas":{"Error":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string"}},"required":["error","code"],"additionalProperties":false},"Redirect":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string","enum":["MOVED_PERMANENTLY"]},"redirected_to":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"slug":{"nullable":true,"type":"string"}},"required":["id","slug"],"additionalProperties":false}},"required":["error","code","redirected_to"],"additionalProperties":false},"EntitySearchResponse":{"type":"object","properties":{"meta":{"type":"object","properties":{"api_version":{"type":"string","enum":["v2"]},"language":{"type":"string","enum":["ko","en"]},"scope":{"type":"string","enum":["national","regional"]},"region_id":{"nullable":true,"type":"string"},"methodology_version":{"nullable":true,"type":"string"},"week_start":{"nullable":true,"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"Sunday (KST) that starts a GenRank week, YYYY-MM-DD"},"measured_at":{"nullable":true,"type":"string"},"generated_at":{"type":"string"}},"required":["api_version","language","scope","region_id","methodology_version","week_start","measured_at","generated_at"],"additionalProperties":false},"entities":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"slug":{"nullable":true,"type":"string"},"name":{"type":"string"},"type":{"nullable":true,"type":"string"},"aliases":{"type":"array","items":{"type":"string"}},"website":{"nullable":true,"type":"string"},"region_id":{"nullable":true,"type":"string"},"parent_entity_id":{"nullable":true,"type":"string"},"categories":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string"},"name_ko":{"nullable":true,"type":"string"},"name_en":{"type":"string"},"level":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"geo_mode":{"nullable":true,"type":"string","enum":["city","metro","country"]}},"required":["key","name_ko","name_en","level","geo_mode"],"additionalProperties":false}},"score_summary":{"type":"object","properties":{"inclusion_rate_4w":{"nullable":true,"type":"number","minimum":0,"maximum":1},"trials_4w":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"mentions_4w":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"questions":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["inclusion_rate_4w","trials_4w","mentions_4w","questions"],"additionalProperties":false},"match":{"type":"object","properties":{"kind":{"type":"string","enum":["exact","name","alias","sound","semantic","website","domain"]},"score":{"type":"number","minimum":0,"maximum":1}},"required":["kind","score"],"additionalProperties":false,"description":"How the entity was found (2.2.0): sound is the same Hangul/Latin sound skeleton, semantic is vector similarity"}},"required":["id","slug","name","type","aliases","website","region_id","parent_entity_id","categories","score_summary","match"],"additionalProperties":false}}},"required":["meta","entities"],"additionalProperties":false},"EntityDetailResponse":{"type":"object","properties":{"meta":{"type":"object","properties":{"api_version":{"type":"string","enum":["v2"]},"language":{"type":"string","enum":["ko","en"]},"scope":{"type":"string","enum":["national","regional"]},"region_id":{"nullable":true,"type":"string"},"methodology_version":{"nullable":true,"type":"string"},"week_start":{"nullable":true,"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"Sunday (KST) that starts a GenRank week, YYYY-MM-DD"},"measured_at":{"nullable":true,"type":"string"},"generated_at":{"type":"string"}},"required":["api_version","language","scope","region_id","methodology_version","week_start","measured_at","generated_at"],"additionalProperties":false},"entity":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"slug":{"nullable":true,"type":"string"},"name":{"type":"string"},"type":{"nullable":true,"type":"string"},"aliases":{"type":"array","items":{"type":"string"}},"website":{"nullable":true,"type":"string"},"region_id":{"nullable":true,"type":"string"},"parent_entity_id":{"nullable":true,"type":"string"},"categories":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string"},"name_ko":{"nullable":true,"type":"string"},"name_en":{"type":"string"},"level":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"geo_mode":{"nullable":true,"type":"string","enum":["city","metro","country"]}},"required":["key","name_ko","name_en","level","geo_mode"],"additionalProperties":false}},"description":{"nullable":true,"type":"string"},"region":{"nullable":true,"description":"The region of a regional entity; NULL for the national index (widened from null in 2.1.0)","type":"object","properties":{"id":{"type":"string"},"slug":{"type":"string"},"level":{"type":"string","enum":["sido","sigungu","district"]},"parent_id":{"nullable":true,"type":"string"},"name_ko":{"type":"string"},"name_en":{"type":"string"}},"required":["id","slug","level","parent_id","name_ko","name_en"],"additionalProperties":false},"parent":{"nullable":true,"description":"The national entity a regional one belongs to, when known (widened from null in 2.1.0)","type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"slug":{"nullable":true,"type":"string"},"name":{"type":"string"}},"required":["id","slug","name"],"additionalProperties":false},"score_summary":{"type":"object","properties":{"inclusion_rate_4w":{"nullable":true,"type":"number","minimum":0,"maximum":1},"trials_4w":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"mentions_4w":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"questions":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["inclusion_rate_4w","trials_4w","mentions_4w","questions"],"additionalProperties":false}},"required":["id","slug","name","type","aliases","website","region_id","parent_entity_id","categories","description","region","parent","score_summary"],"additionalProperties":false},"questions":{"type":"array","items":{"type":"object","properties":{"slug":{"type":"string"},"text":{"type":"string"},"status":{"type":"string","enum":["active","retired"]},"from_week":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"Sunday (KST) that starts a GenRank week, YYYY-MM-DD"},"to_week":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"Sunday (KST) that starts a GenRank week, YYYY-MM-DD"},"inclusion_rate_4w":{"type":"number","minimum":0,"maximum":1},"mean_rank":{"nullable":true,"type":"number"},"models":{"type":"array","items":{"type":"object","properties":{"model_id":{"type":"string"},"trials":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"mentions":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"mean_rank":{"nullable":true,"type":"number"},"cited":{"nullable":true,"description":"Trials in which the entity's own site was cited. NULL until citations are linked to entities.","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["model_id","trials","mentions","mean_rank","cited"],"additionalProperties":false}}},"required":["slug","text","status","from_week","to_week","inclusion_rate_4w","mean_rank","models"],"additionalProperties":false}},"peers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"slug":{"nullable":true,"type":"string"},"name":{"type":"string"},"category_key":{"type":"string"},"rank":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"inclusion_rate_4w":{"nullable":true,"type":"number","minimum":0,"maximum":1}},"required":["id","slug","name","category_key","rank","inclusion_rate_4w"],"additionalProperties":false}}},"required":["meta","entity","questions","peers"],"additionalProperties":false},"EntityHistoryResponse":{"type":"object","properties":{"meta":{"type":"object","properties":{"api_version":{"type":"string","enum":["v2"]},"language":{"type":"string","enum":["ko","en"]},"scope":{"type":"string","enum":["national","regional"]},"region_id":{"nullable":true,"type":"string"},"methodology_version":{"nullable":true,"type":"string"},"week_start":{"nullable":true,"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"Sunday (KST) that starts a GenRank week, YYYY-MM-DD"},"measured_at":{"nullable":true,"type":"string"},"generated_at":{"type":"string"}},"required":["api_version","language","scope","region_id","methodology_version","week_start","measured_at","generated_at"],"additionalProperties":false},"entity":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"slug":{"nullable":true,"type":"string"},"name":{"type":"string"}},"required":["id","slug","name"],"additionalProperties":false},"categories":{"type":"array","items":{"type":"object","properties":{"category":{"type":"object","properties":{"key":{"type":"string"},"name_ko":{"nullable":true,"type":"string"},"name_en":{"type":"string"},"level":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"geo_mode":{"nullable":true,"type":"string","enum":["city","metro","country"]}},"required":["key","name_ko","name_en","level","geo_mode"],"additionalProperties":false},"points":{"type":"array","items":{"type":"object","properties":{"week_start":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"Sunday (KST) that starts a GenRank week, YYYY-MM-DD"},"methodology_version":{"nullable":true,"type":"string"},"rank":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"total":{"nullable":true,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["week_start","methodology_version","rank","total"],"additionalProperties":false}}},"required":["category","points"],"additionalProperties":false},"description":"Best current rank first"}},"required":["meta","entity","categories"],"additionalProperties":false},"EntityGraphResponse":{"type":"object","properties":{"meta":{"type":"object","properties":{"api_version":{"type":"string","enum":["v2"]},"language":{"type":"string","enum":["ko","en"]},"scope":{"type":"string","enum":["national","regional"]},"region_id":{"nullable":true,"type":"string"},"methodology_version":{"nullable":true,"type":"string"},"week_start":{"nullable":true,"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"Sunday (KST) that starts a GenRank week, YYYY-MM-DD"},"measured_at":{"nullable":true,"type":"string"},"generated_at":{"type":"string"}},"required":["api_version","language","scope","region_id","methodology_version","week_start","measured_at","generated_at"],"additionalProperties":false},"entity":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"slug":{"nullable":true,"type":"string"},"name":{"type":"string"}},"required":["id","slug","name"],"additionalProperties":false},"scope":{"type":"string","enum":["national","regional"]},"window":{"type":"object","properties":{"to_week":{"nullable":true,"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"Sunday (KST) that starts a GenRank week, YYYY-MM-DD"},"weeks":{"type":"number","enum":[4]}},"required":["to_week","weeks"],"additionalProperties":false},"co_mentions":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"slug":{"nullable":true,"type":"string"},"name":{"type":"string"},"answers":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"questions":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"surfaces":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["id","slug","name","answers","questions","surfaces"],"additionalProperties":false},"description":"Entities named in the same answers, most often first"},"sources":{"type":"array","items":{"type":"object","properties":{"domain":{"type":"string"},"type":{"nullable":true,"type":"string"},"answers":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"questions":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"surfaces":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["domain","type","answers","questions","surfaces"],"additionalProperties":false},"description":"Domains cited by answers naming the entity"}},"required":["meta","entity","scope","window","co_mentions","sources"],"additionalProperties":false},"EntityOverviewResponse":{"type":"object","properties":{"meta":{"type":"object","properties":{"api_version":{"type":"string","enum":["v2"]},"language":{"type":"string","enum":["ko","en"]},"scope":{"type":"string","enum":["national","regional"]},"region_id":{"nullable":true,"type":"string"},"methodology_version":{"nullable":true,"type":"string"},"week_start":{"nullable":true,"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"Sunday (KST) that starts a GenRank week, YYYY-MM-DD"},"measured_at":{"nullable":true,"type":"string"},"generated_at":{"type":"string"}},"required":["api_version","language","scope","region_id","methodology_version","week_start","measured_at","generated_at"],"additionalProperties":false},"entity":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"slug":{"nullable":true,"type":"string"},"name":{"type":"string"},"type":{"nullable":true,"type":"string"},"aliases":{"type":"array","items":{"type":"string"}},"website":{"nullable":true,"type":"string"},"region_id":{"nullable":true,"type":"string"},"parent_entity_id":{"nullable":true,"type":"string"},"categories":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string"},"name_ko":{"nullable":true,"type":"string"},"name_en":{"type":"string"},"level":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"geo_mode":{"nullable":true,"type":"string","enum":["city","metro","country"]}},"required":["key","name_ko","name_en","level","geo_mode"],"additionalProperties":false}},"description":{"nullable":true,"type":"string"},"region":{"nullable":true,"description":"The region of a regional entity; NULL for the national index (widened from null in 2.1.0)","type":"object","properties":{"id":{"type":"string"},"slug":{"type":"string"},"level":{"type":"string","enum":["sido","sigungu","district"]},"parent_id":{"nullable":true,"type":"string"},"name_ko":{"type":"string"},"name_en":{"type":"string"}},"required":["id","slug","level","parent_id","name_ko","name_en"],"additionalProperties":false},"parent":{"nullable":true,"description":"The national entity a regional one belongs to, when known (widened from null in 2.1.0)","type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"slug":{"nullable":true,"type":"string"},"name":{"type":"string"}},"required":["id","slug","name"],"additionalProperties":false},"score_summary":{"type":"object","properties":{"inclusion_rate_4w":{"nullable":true,"type":"number","minimum":0,"maximum":1},"trials_4w":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"mentions_4w":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"questions":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["inclusion_rate_4w","trials_4w","mentions_4w","questions"],"additionalProperties":false}},"required":["id","slug","name","type","aliases","website","region_id","parent_entity_id","categories","description","region","parent","score_summary"],"additionalProperties":false},"categories":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string"},"name_ko":{"nullable":true,"type":"string"},"name_en":{"type":"string"},"level":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"geo_mode":{"nullable":true,"type":"string","enum":["city","metro","country"]},"rank":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"total":{"nullable":true,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"score":{"nullable":true,"type":"number"}},"required":["key","name_ko","name_en","level","geo_mode","rank","total","score"],"additionalProperties":false}},"questions":{"type":"array","items":{"type":"object","properties":{"slug":{"type":"string"},"text":{"type":"string"},"status":{"type":"string","enum":["active","retired"]},"from_week":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"Sunday (KST) that starts a GenRank week, YYYY-MM-DD"},"to_week":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"Sunday (KST) that starts a GenRank week, YYYY-MM-DD"},"inclusion_rate_4w":{"type":"number","minimum":0,"maximum":1},"mean_rank":{"nullable":true,"type":"number"},"models":{"type":"array","items":{"type":"object","properties":{"model_id":{"type":"string"},"trials":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"mentions":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"mean_rank":{"nullable":true,"type":"number"},"cited":{"nullable":true,"description":"Trials in which the entity's own site was cited. NULL until citations are linked to entities.","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["model_id","trials","mentions","mean_rank","cited"],"additionalProperties":false}}},"required":["slug","text","status","from_week","to_week","inclusion_rate_4w","mean_rank","models"],"additionalProperties":false},"description":"Top ten by 4-week inclusion"},"co_mentions":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"slug":{"nullable":true,"type":"string"},"name":{"type":"string"},"answers":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"questions":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"surfaces":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["id","slug","name","answers","questions","surfaces"],"additionalProperties":false}},"sources":{"type":"array","items":{"type":"object","properties":{"domain":{"type":"string"},"type":{"nullable":true,"type":"string"},"answers":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"questions":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"surfaces":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["domain","type","answers","questions","surfaces"],"additionalProperties":false}},"regions":{"type":"array","items":{"type":"object","properties":{"region_id":{"type":"string"},"region_slug":{"type":"string"},"category_key":{"nullable":true,"type":"string"},"question_id":{"type":"string"},"rank":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"score":{"nullable":true,"type":"number"},"week_start":{"nullable":true,"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"Sunday (KST) that starts a GenRank week, YYYY-MM-DD"}},"required":["region_id","region_slug","category_key","question_id","rank","score","week_start"],"additionalProperties":false}},"trend":{"type":"array","items":{"type":"object","properties":{"category":{"type":"object","properties":{"key":{"type":"string"},"name_ko":{"nullable":true,"type":"string"},"name_en":{"type":"string"},"level":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"geo_mode":{"nullable":true,"type":"string","enum":["city","metro","country"]}},"required":["key","name_ko","name_en","level","geo_mode"],"additionalProperties":false},"points":{"type":"array","items":{"type":"object","properties":{"week_start":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"Sunday (KST) that starts a GenRank week, YYYY-MM-DD"},"methodology_version":{"nullable":true,"type":"string"},"rank":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"total":{"nullable":true,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["week_start","methodology_version","rank","total"],"additionalProperties":false}}},"required":["category","points"],"additionalProperties":false},"description":"Last four kept weeks in up to three categories"},"runs":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"week_start":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"Sunday (KST) that starts a GenRank week, YYYY-MM-DD"},"scope":{"type":"string","enum":["national","regional"]},"language":{"nullable":true,"description":"NULL for runs that covered every language (all runs before v4.0)","type":"string","enum":["ko","en"]},"trigger_type":{"type":"string"},"status":{"type":"string","enum":["running","completed","failed"]},"questions_total":{"nullable":true,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"questions_completed":{"nullable":true,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"started_at":{"type":"string"},"completed_at":{"nullable":true,"type":"string"},"routes":{"type":"object","properties":{"batch":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"direct":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"openrouter":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["batch","direct","openrouter"],"additionalProperties":false}},"required":["id","week_start","scope","language","trigger_type","status","questions_total","questions_completed","started_at","completed_at","routes"],"additionalProperties":false}},"partial":{"type":"array","items":{"type":"string","enum":["categories","questions","co_mentions","sources","regions","trend","runs"]},"description":"Parts that could not be read this time; they are empty, not absent"}},"required":["meta","entity","categories","questions","co_mentions","sources","regions","trend","runs","partial"],"additionalProperties":false},"CategoriesResponse":{"type":"object","properties":{"meta":{"type":"object","properties":{"api_version":{"type":"string","enum":["v2"]},"language":{"type":"string","enum":["ko","en"]},"scope":{"type":"string","enum":["national","regional"]},"region_id":{"nullable":true,"type":"string"},"methodology_version":{"nullable":true,"type":"string"},"week_start":{"nullable":true,"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"Sunday (KST) that starts a GenRank week, YYYY-MM-DD"},"measured_at":{"nullable":true,"type":"string"},"generated_at":{"type":"string"}},"required":["api_version","language","scope","region_id","methodology_version","week_start","measured_at","generated_at"],"additionalProperties":false},"total":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"categories":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string"},"name_ko":{"nullable":true,"type":"string"},"name_en":{"type":"string"},"level":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"geo_mode":{"nullable":true,"type":"string","enum":["city","metro","country"]},"parent_key":{"nullable":true,"type":"string"},"questions":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Active national questions in the subtree"},"regional_questions":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"brands":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Entities ranked in this category"},"leaders":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"slug":{"nullable":true,"type":"string"},"name":{"type":"string"},"score":{"nullable":true,"type":"number"}},"required":["id","slug","name","score"],"additionalProperties":false},"description":"Top three of the current ranking"},"match":{"nullable":true,"type":"object","properties":{"kind":{"type":"string","enum":["exact","name","question"],"description":"What matched q: the key or a name exactly, a name partially, or question texts"},"score":{"type":"number","minimum":0,"maximum":1}},"required":["kind","score"],"additionalProperties":false}},"required":["key","name_ko","name_en","level","geo_mode","parent_key","questions","regional_questions","brands","leaders","match"],"additionalProperties":false}}},"required":["meta","total","categories"],"additionalProperties":false},"CategoryDetailResponse":{"type":"object","properties":{"meta":{"type":"object","properties":{"api_version":{"type":"string","enum":["v2"]},"language":{"type":"string","enum":["ko","en"]},"scope":{"type":"string","enum":["national","regional"]},"region_id":{"nullable":true,"type":"string"},"methodology_version":{"nullable":true,"type":"string"},"week_start":{"nullable":true,"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"Sunday (KST) that starts a GenRank week, YYYY-MM-DD"},"measured_at":{"nullable":true,"type":"string"},"generated_at":{"type":"string"}},"required":["api_version","language","scope","region_id","methodology_version","week_start","measured_at","generated_at"],"additionalProperties":false},"category":{"type":"object","properties":{"key":{"type":"string"},"name_ko":{"nullable":true,"type":"string"},"name_en":{"type":"string"},"level":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"geo_mode":{"nullable":true,"type":"string","enum":["city","metro","country"]},"parent_key":{"nullable":true,"type":"string"},"questions":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Active national questions in the subtree"},"regional_questions":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"brands":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Entities ranked in this category"},"leaders":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"slug":{"nullable":true,"type":"string"},"name":{"type":"string"},"score":{"nullable":true,"type":"number"}},"required":["id","slug","name","score"],"additionalProperties":false},"description":"Top three of the current ranking"},"match":{"nullable":true,"type":"object","properties":{"kind":{"type":"string","enum":["exact","name","question"],"description":"What matched q: the key or a name exactly, a name partially, or question texts"},"score":{"type":"number","minimum":0,"maximum":1}},"required":["kind","score"],"additionalProperties":false}},"required":["key","name_ko","name_en","level","geo_mode","parent_key","questions","regional_questions","brands","leaders","match"],"additionalProperties":false},"ancestors":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string"},"name_ko":{"nullable":true,"type":"string"},"name_en":{"type":"string"},"level":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"geo_mode":{"nullable":true,"type":"string","enum":["city","metro","country"]}},"required":["key","name_ko","name_en","level","geo_mode"],"additionalProperties":false},"description":"Root first"},"children":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string"},"name_ko":{"nullable":true,"type":"string"},"name_en":{"type":"string"},"level":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"geo_mode":{"nullable":true,"type":"string","enum":["city","metro","country"]},"parent_key":{"nullable":true,"type":"string"},"questions":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Active national questions in the subtree"},"regional_questions":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"brands":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Entities ranked in this category"},"leaders":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"slug":{"nullable":true,"type":"string"},"name":{"type":"string"},"score":{"nullable":true,"type":"number"}},"required":["id","slug","name","score"],"additionalProperties":false},"description":"Top three of the current ranking"},"match":{"nullable":true,"type":"object","properties":{"kind":{"type":"string","enum":["exact","name","question"],"description":"What matched q: the key or a name exactly, a name partially, or question texts"},"score":{"type":"number","minimum":0,"maximum":1}},"required":["kind","score"],"additionalProperties":false}},"required":["key","name_ko","name_en","level","geo_mode","parent_key","questions","regional_questions","brands","leaders","match"],"additionalProperties":false}},"rollup":{"type":"object","properties":{"weeks_measured":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"latest_week":{"nullable":true,"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"Sunday (KST) that starts a GenRank week, YYYY-MM-DD"},"methodology_version":{"nullable":true,"type":"string"}},"required":["weeks_measured","latest_week","methodology_version"],"additionalProperties":false}},"required":["meta","category","ancestors","children","rollup"],"additionalProperties":false},"CategoryRankingsResponse":{"type":"object","properties":{"meta":{"type":"object","properties":{"api_version":{"type":"string","enum":["v2"]},"language":{"type":"string","enum":["ko","en"]},"scope":{"type":"string","enum":["national","regional"]},"region_id":{"nullable":true,"type":"string"},"methodology_version":{"nullable":true,"type":"string"},"week_start":{"nullable":true,"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"Sunday (KST) that starts a GenRank week, YYYY-MM-DD"},"measured_at":{"nullable":true,"type":"string"},"generated_at":{"type":"string"}},"required":["api_version","language","scope","region_id","methodology_version","week_start","measured_at","generated_at"],"additionalProperties":false},"category":{"type":"object","properties":{"key":{"type":"string"},"name_ko":{"nullable":true,"type":"string"},"name_en":{"type":"string"},"level":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"geo_mode":{"nullable":true,"type":"string","enum":["city","metro","country"]}},"required":["key","name_ko","name_en","level","geo_mode"],"additionalProperties":false},"week_start":{"nullable":true,"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"Sunday (KST) that starts a GenRank week, YYYY-MM-DD"},"previous_week":{"nullable":true,"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"Sunday (KST) that starts a GenRank week, YYYY-MM-DD"},"methodology_version":{"nullable":true,"type":"string"},"total":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"offset":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"rankings":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"slug":{"nullable":true,"type":"string"},"name":{"type":"string"},"rank":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"score":{"nullable":true,"description":"GenRank score: the unbounded weighted sum behind the rank","type":"number"},"previous_rank":{"nullable":true,"description":"Rank in the previous kept week; NULL when new or not comparable","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["id","slug","name","rank","score","previous_rank"],"additionalProperties":false}}},"required":["meta","category","week_start","previous_week","methodology_version","total","offset","rankings"],"additionalProperties":false},"CategoryHistoryResponse":{"type":"object","properties":{"meta":{"type":"object","properties":{"api_version":{"type":"string","enum":["v2"]},"language":{"type":"string","enum":["ko","en"]},"scope":{"type":"string","enum":["national","regional"]},"region_id":{"nullable":true,"type":"string"},"methodology_version":{"nullable":true,"type":"string"},"week_start":{"nullable":true,"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"Sunday (KST) that starts a GenRank week, YYYY-MM-DD"},"measured_at":{"nullable":true,"type":"string"},"generated_at":{"type":"string"}},"required":["api_version","language","scope","region_id","methodology_version","week_start","measured_at","generated_at"],"additionalProperties":false},"category":{"type":"object","properties":{"key":{"type":"string"},"name_ko":{"nullable":true,"type":"string"},"name_en":{"type":"string"},"level":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"geo_mode":{"nullable":true,"type":"string","enum":["city","metro","country"]}},"required":["key","name_ko","name_en","level","geo_mode"],"additionalProperties":false},"weeks":{"type":"array","items":{"type":"object","properties":{"week_start":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"Sunday (KST) that starts a GenRank week, YYYY-MM-DD"},"methodology_version":{"nullable":true,"type":"string"}},"required":["week_start","methodology_version"],"additionalProperties":false},"description":"Kept weeks, oldest first; a change of major methodology version is a break"},"entities":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"slug":{"nullable":true,"type":"string"},"name":{"type":"string"},"current_rank":{"nullable":true,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["id","slug","name","current_rank"],"additionalProperties":false}},"points":{"type":"array","items":{"type":"object","properties":{"week_start":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"Sunday (KST) that starts a GenRank week, YYYY-MM-DD"},"entity_id":{"type":"string"},"rank":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"score":{"nullable":true,"type":"number"}},"required":["week_start","entity_id","rank","score"],"additionalProperties":false}}},"required":["meta","category","weeks","entities","points"],"additionalProperties":false},"CategoryGraphResponse":{"type":"object","properties":{"meta":{"type":"object","properties":{"api_version":{"type":"string","enum":["v2"]},"language":{"type":"string","enum":["ko","en"]},"scope":{"type":"string","enum":["national","regional"]},"region_id":{"nullable":true,"type":"string"},"methodology_version":{"nullable":true,"type":"string"},"week_start":{"nullable":true,"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"Sunday (KST) that starts a GenRank week, YYYY-MM-DD"},"measured_at":{"nullable":true,"type":"string"},"generated_at":{"type":"string"}},"required":["api_version","language","scope","region_id","methodology_version","week_start","measured_at","generated_at"],"additionalProperties":false},"category":{"type":"object","properties":{"key":{"type":"string"},"name_ko":{"nullable":true,"type":"string"},"name_en":{"type":"string"},"level":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"geo_mode":{"nullable":true,"type":"string","enum":["city","metro","country"]}},"required":["key","name_ko","name_en","level","geo_mode"],"additionalProperties":false},"window":{"type":"object","properties":{"from_week":{"nullable":true,"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"Sunday (KST) that starts a GenRank week, YYYY-MM-DD"},"to_week":{"nullable":true,"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"Sunday (KST) that starts a GenRank week, YYYY-MM-DD"},"weeks":{"type":"number","enum":[4]}},"required":["from_week","to_week","weeks"],"additionalProperties":false},"nodes":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"slug":{"nullable":true,"type":"string"},"name":{"type":"string"},"rank":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"answers":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Answers naming the entity in the window"}},"required":["id","slug","name","rank","answers"],"additionalProperties":false}},"edges":{"type":"array","items":{"type":"object","properties":{"a":{"type":"string"},"b":{"type":"string"},"answers":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Answers naming both"},"questions":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"surfaces":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["a","b","answers","questions","surfaces"],"additionalProperties":false}},"sources":{"type":"object","properties":{"domains":{"type":"array","items":{"type":"object","properties":{"domain":{"type":"string"},"type":{"nullable":true,"type":"string"},"answers":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["domain","type","answers"],"additionalProperties":false}},"entities":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"slug":{"nullable":true,"type":"string"},"name":{"type":"string"},"rank":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["id","slug","name","rank"],"additionalProperties":false}},"links":{"type":"array","items":{"type":"object","properties":{"domain":{"type":"string"},"entity_id":{"type":"string"},"answers":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["domain","entity_id","answers"],"additionalProperties":false}}},"required":["domains","entities","links"],"additionalProperties":false}},"required":["meta","category","window","nodes","edges","sources"],"additionalProperties":false},"CategoryMatrixResponse":{"type":"object","properties":{"meta":{"type":"object","properties":{"api_version":{"type":"string","enum":["v2"]},"language":{"type":"string","enum":["ko","en"]},"scope":{"type":"string","enum":["national","regional"]},"region_id":{"nullable":true,"type":"string"},"methodology_version":{"nullable":true,"type":"string"},"week_start":{"nullable":true,"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"Sunday (KST) that starts a GenRank week, YYYY-MM-DD"},"measured_at":{"nullable":true,"type":"string"},"generated_at":{"type":"string"}},"required":["api_version","language","scope","region_id","methodology_version","week_start","measured_at","generated_at"],"additionalProperties":false},"category":{"type":"object","properties":{"key":{"type":"string"},"name_ko":{"nullable":true,"type":"string"},"name_en":{"type":"string"},"level":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"geo_mode":{"nullable":true,"type":"string","enum":["city","metro","country"]}},"required":["key","name_ko","name_en","level","geo_mode"],"additionalProperties":false},"window":{"nullable":true,"type":"object","properties":{"from_week":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"Sunday (KST) that starts a GenRank week, YYYY-MM-DD"},"to_week":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"Sunday (KST) that starts a GenRank week, YYYY-MM-DD"}},"required":["from_week","to_week"],"additionalProperties":false},"surfaces":{"type":"array","items":{"type":"object","properties":{"model_id":{"type":"string"},"name":{"type":"string"},"role":{"type":"string","enum":["scored","observed"]},"weight":{"type":"number"}},"required":["model_id","name","role","weight"],"additionalProperties":false}},"rows":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"slug":{"nullable":true,"type":"string"},"name":{"type":"string"},"rank":{"nullable":true,"description":"Rank in the category; null for a pinned entity not ranked in it (2.6.0)","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"pinned":{"type":"boolean","description":"Asked for with pin= (2.6.0); a pinned entity ranked within limit is not repeated"},"cells":{"type":"array","items":{"type":"object","properties":{"model_id":{"type":"string"},"trials":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"mentions":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["model_id","trials","mentions"],"additionalProperties":false},"description":"One cell per surface, in `surfaces` order. trials is the category's answers measured on the surface, the same for every row"},"total":{"type":"object","properties":{"trials":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"mentions":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["trials","mentions"],"additionalProperties":false}},"required":["id","slug","name","rank","pinned","cells","total"],"additionalProperties":false}}},"required":["meta","category","window","surfaces","rows"],"additionalProperties":false},"CategoryQuestionsResponse":{"type":"object","properties":{"meta":{"type":"object","properties":{"api_version":{"type":"string","enum":["v2"]},"language":{"type":"string","enum":["ko","en"]},"scope":{"type":"string","enum":["national","regional"]},"region_id":{"nullable":true,"type":"string"},"methodology_version":{"nullable":true,"type":"string"},"week_start":{"nullable":true,"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"Sunday (KST) that starts a GenRank week, YYYY-MM-DD"},"measured_at":{"nullable":true,"type":"string"},"generated_at":{"type":"string"}},"required":["api_version","language","scope","region_id","methodology_version","week_start","measured_at","generated_at"],"additionalProperties":false},"category":{"type":"object","properties":{"key":{"type":"string"},"name_ko":{"nullable":true,"type":"string"},"name_en":{"type":"string"},"level":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"geo_mode":{"nullable":true,"type":"string","enum":["city","metro","country"]},"priority":{"nullable":true,"type":"string"},"t":{"nullable":true,"type":"string"}},"required":["key","name_ko","name_en","level","geo_mode","priority","t"],"additionalProperties":false},"questions":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"slug":{"type":"string"},"text":{"type":"string"},"intent":{"nullable":true,"type":"string","enum":["best","compare","choose","transactional"]},"topic":{"nullable":true,"type":"string"},"region_id":{"nullable":true,"type":"string"},"status":{"type":"string","enum":["active","retired"]},"retired_at":{"nullable":true,"type":"string"},"replaced_by":{"nullable":true,"description":"Slug of the follow-up question when retired","type":"string"},"rank":{"type":"object","properties":{"score":{"nullable":true,"type":"number"},"search_component":{"nullable":true,"type":"number"},"estimate_component":{"nullable":true,"type":"number"},"basis":{"type":"string","enum":["none","search_only","estimate_only","combined"]},"computed_at":{"nullable":true,"type":"string"}},"required":["score","search_component","estimate_component","basis","computed_at"],"additionalProperties":false},"signals":{"nullable":true,"type":"object","properties":{"naver_pc":{"nullable":true,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"naver_mobile":{"nullable":true,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"google":{"nullable":true,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"fetched_at":{"nullable":true,"type":"string"}},"required":["naver_pc","naver_mobile","google","fetched_at"],"additionalProperties":false},"estimates":{"type":"array","items":{"type":"object","properties":{"model_id":{"type":"string"},"rank":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["model_id","rank"],"additionalProperties":false}},"first_measured_week":{"nullable":true,"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"Sunday (KST) that starts a GenRank week, YYYY-MM-DD"},"weeks_measured":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"gate":{"nullable":true,"type":"object","properties":{"published":{"type":"boolean"},"entities":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"models_agreeing":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"weeks":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["published","entities","models_agreeing","weeks"],"additionalProperties":false}},"required":["id","slug","text","intent","topic","region_id","status","retired_at","replaced_by","rank","signals","estimates","first_measured_week","weeks_measured","gate"],"additionalProperties":false}},"total":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["meta","category","questions","total"],"additionalProperties":false},"CategoryCitationsResponse":{"type":"object","properties":{"meta":{"type":"object","properties":{"api_version":{"type":"string","enum":["v2"]},"language":{"type":"string","enum":["ko","en"]},"scope":{"type":"string","enum":["national","regional"]},"region_id":{"nullable":true,"type":"string"},"methodology_version":{"nullable":true,"type":"string"},"week_start":{"nullable":true,"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"Sunday (KST) that starts a GenRank week, YYYY-MM-DD"},"measured_at":{"nullable":true,"type":"string"},"generated_at":{"type":"string"}},"required":["api_version","language","scope","region_id","methodology_version","week_start","measured_at","generated_at"],"additionalProperties":false},"category":{"type":"object","properties":{"key":{"type":"string"},"name_ko":{"nullable":true,"type":"string"},"name_en":{"type":"string"},"level":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"geo_mode":{"nullable":true,"type":"string","enum":["city","metro","country"]}},"required":["key","name_ko","name_en","level","geo_mode"],"additionalProperties":false},"week_start":{"nullable":true,"description":"The week shown; NULL when the category has no citations yet","type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"weeks":{"type":"array","items":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"Sunday (KST) that starts a GenRank week, YYYY-MM-DD"},"description":"Weeks with citation data for this category, newest first"},"answers":{"type":"array","items":{"type":"object","properties":{"model_id":{"type":"string"},"asked":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Cells measured: every question asked on this surface, including those where the surface showed no AI answer or the call failed (the denominator of the public sources page)"},"answers":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Cells with an AI answer"},"cited_answers":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Answers citing at least one source"}},"required":["model_id","asked","answers","cited_answers"],"additionalProperties":false},"description":"Per surface of the panel, by weight as in /models, then any other surface measured that week (2.6.0). Empty for weeks kept before 18 October 2026"},"types":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["portal","social","community","directory","shopping","media","reference","public","other"]},"by_model":{"type":"array","items":{"type":"object","properties":{"model_id":{"type":"string"},"responses":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Distinct answers of this surface that cited it in the week"},"questions":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Questions those answers belong to"},"answers":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Answers this surface gave in the week (an AI answer was there): the denominator of the share"}},"required":["model_id","responses","questions","answers"],"additionalProperties":false},"description":"One entry per surface, zeros included. responses counts an answer once however many sites of the type it cites, so it can be less than the sum of the type's domains"}},"required":["type","by_model"],"additionalProperties":false},"description":"Every domain of the week folded by type, not cut by `limit`: all nine types, each with every surface (2.6.0)"},"domains":{"type":"array","items":{"type":"object","properties":{"domain":{"type":"string"},"type":{"nullable":true,"type":"string","enum":["portal","social","community","directory","shopping","media","reference","public","other"]},"responses":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Distinct answers that cited this domain"},"questions":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"models":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"by_model":{"type":"array","items":{"type":"object","properties":{"model_id":{"type":"string"},"responses":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Distinct answers of this surface that cited it in the week"},"questions":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Questions those answers belong to"},"answers":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Answers this surface gave in the week (an AI answer was there): the denominator of the share"}},"required":["model_id","responses","questions","answers"],"additionalProperties":false},"description":"One entry per surface, in `answers` order, zeros included (2.6.0)"},"urls":{"type":"array","items":{"type":"object","properties":{"url":{"type":"string"},"title":{"nullable":true,"type":"string"},"responses":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Distinct answers that cited this URL"}},"required":["url","title","responses"],"additionalProperties":false},"description":"The most cited pages of this domain"}},"required":["domain","type","responses","questions","models","by_model","urls"],"additionalProperties":false}}},"required":["meta","category","week_start","weeks","answers","types","domains"],"additionalProperties":false},"SourcesResponse":{"type":"object","properties":{"meta":{"type":"object","properties":{"api_version":{"type":"string","enum":["v2"]},"language":{"type":"string","enum":["ko","en"]},"scope":{"type":"string","enum":["national","regional"]},"region_id":{"nullable":true,"type":"string"},"methodology_version":{"nullable":true,"type":"string"},"week_start":{"nullable":true,"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"Sunday (KST) that starts a GenRank week, YYYY-MM-DD"},"measured_at":{"nullable":true,"type":"string"},"generated_at":{"type":"string"}},"required":["api_version","language","scope","region_id","methodology_version","week_start","measured_at","generated_at"],"additionalProperties":false},"scope":{"type":"string","enum":["national","regional","all"]},"week_start":{"nullable":true,"description":"The week shown; NULL before the first week with per-surface counts","type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"weeks":{"type":"array","items":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"Sunday (KST) that starts a GenRank week, YYYY-MM-DD"},"description":"Weeks available, newest first"},"surfaces":{"type":"array","items":{"type":"object","properties":{"model_id":{"type":"string"},"asked":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Cells measured: every question asked on this surface, including those where the surface showed no AI answer or the call failed (the denominator of the public sources page)"},"answers":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Cells with an AI answer"},"cited_answers":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Answers citing at least one source"}},"required":["model_id","asked","answers","cited_answers"],"additionalProperties":false},"description":"Per surface of the panel, by weight as in /models, then any other surface measured that week"},"types":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["portal","social","community","directory","shopping","media","reference","public","other"]},"by_model":{"type":"array","items":{"type":"object","properties":{"model_id":{"type":"string"},"responses":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Distinct answers of this surface that cited it in the week"},"questions":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Questions those answers belong to"},"answers":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Answers this surface gave in the week (an AI answer was there): the denominator of the share"}},"required":["model_id","responses","questions","answers"],"additionalProperties":false},"description":"One entry per surface, zeros included. responses counts an answer once however many sites of the type it cites, so it can be less than the sum of the type's domains"}},"required":["type","by_model"],"additionalProperties":false},"description":"Every domain of the week folded by type: all nine types, each with every surface"},"domains":{"type":"array","items":{"type":"object","properties":{"domain":{"type":"string"},"type":{"nullable":true,"type":"string","enum":["portal","social","community","directory","shopping","media","reference","public","other"]},"responses":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Distinct answers that cited this domain"},"questions":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"by_model":{"type":"array","items":{"type":"object","properties":{"model_id":{"type":"string"},"responses":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Distinct answers of this surface that cited it in the week"},"questions":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Questions those answers belong to"},"answers":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Answers this surface gave in the week (an AI answer was there): the denominator of the share"}},"required":["model_id","responses","questions","answers"],"additionalProperties":false},"description":"One entry per surface, in `surfaces` order, zeros included"}},"required":["domain","type","responses","questions","by_model"],"additionalProperties":false},"description":"Most cited first, `limit` of them"}},"required":["meta","scope","week_start","weeks","surfaces","types","domains"],"additionalProperties":false},"QuestionResultsResponse":{"type":"object","properties":{"question":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"slug":{"type":"string"},"text":{"type":"string"},"status":{"type":"string","enum":["active","retired"]},"replaced_by":{"nullable":true,"type":"string"},"region_id":{"nullable":true,"type":"string"},"intent":{"nullable":true,"type":"string"},"topic":{"nullable":true,"type":"string"},"categories":{"type":"array","items":{"type":"string"}}},"required":["id","slug","text","status","replaced_by","region_id","intent","topic","categories"],"additionalProperties":false},"week_start":{"nullable":true,"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"Sunday (KST) that starts a GenRank week, YYYY-MM-DD"},"methodology_version":{"nullable":true,"type":"string"},"models":{"type":"array","items":{"type":"object","properties":{"model_id":{"type":"string"},"name":{"type":"string"},"provider":{"type":"string"},"weight":{"nullable":true,"type":"number"},"web_search":{"type":"boolean"},"collection":{"type":"string","enum":["api","serp"]}},"required":["model_id","name","provider","weight","web_search","collection"],"additionalProperties":false}},"responses":{"type":"array","items":{"type":"object","properties":{"model_id":{"type":"string"},"measured_at":{"type":"string"},"week_start":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"Sunday (KST) that starts a GenRank week, YYYY-MM-DD"},"route":{"type":"string","enum":["direct","openrouter","batch"]},"search_location":{"type":"string","nullable":true,"enum":[null]},"response_text":{"type":"string"},"entities":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"slug":{"nullable":true,"type":"string"},"name":{"type":"string"},"rank":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"role":{"type":"string","enum":["answer"]}},"required":["id","slug","name","rank","role"],"additionalProperties":false}},"citations":{"type":"array","items":{"type":"object","properties":{"url":{"type":"string"},"domain":{"nullable":true,"type":"string"},"title":{"nullable":true,"type":"string"},"type":{"nullable":true,"description":"Source type. NULL until classification ships (REVAMP 6.3).","type":"string"}},"required":["url","domain","title","type"],"additionalProperties":false}},"status":{"type":"string","enum":["ok","empty","failed"]}},"required":["model_id","measured_at","week_start","route","search_location","response_text","entities","citations","status"],"additionalProperties":false}},"cells_4w":{"type":"object","properties":{"from_week":{"nullable":true,"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"Sunday (KST) that starts a GenRank week, YYYY-MM-DD"},"to_week":{"nullable":true,"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"Sunday (KST) that starts a GenRank week, YYYY-MM-DD"},"cells":{"type":"array","items":{"type":"object","properties":{"model_id":{"type":"string"},"trials":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"mentions":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"mean_rank":{"nullable":true,"type":"number"},"cited":{"nullable":true,"description":"Trials in which the entity's own site was cited. NULL until citations are linked to entities.","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"entity_id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["model_id","trials","mentions","mean_rank","cited","entity_id"],"additionalProperties":false}}},"required":["from_week","to_week","cells"],"additionalProperties":false},"entities":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"slug":{"nullable":true,"type":"string"},"name":{"type":"string"}},"required":["id","slug","name"],"additionalProperties":false}},"meta":{"type":"object","properties":{"api_version":{"type":"string","enum":["v2"]},"language":{"type":"string","enum":["ko","en"]},"scope":{"type":"string","enum":["national","regional"]},"region_id":{"nullable":true,"type":"string"},"methodology_version":{"nullable":true,"type":"string"},"week_start":{"nullable":true,"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"Sunday (KST) that starts a GenRank week, YYYY-MM-DD"},"measured_at":{"nullable":true,"type":"string"},"generated_at":{"type":"string"}},"required":["api_version","language","scope","region_id","methodology_version","week_start","measured_at","generated_at"],"additionalProperties":false}},"required":["question","week_start","methodology_version","models","responses","cells_4w","entities","meta"],"additionalProperties":false},"QuestionHistoryResponse":{"type":"object","properties":{"meta":{"type":"object","properties":{"api_version":{"type":"string","enum":["v2"]},"language":{"type":"string","enum":["ko","en"]},"scope":{"type":"string","enum":["national","regional"]},"region_id":{"nullable":true,"type":"string"},"methodology_version":{"nullable":true,"type":"string"},"week_start":{"nullable":true,"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"Sunday (KST) that starts a GenRank week, YYYY-MM-DD"},"measured_at":{"nullable":true,"type":"string"},"generated_at":{"type":"string"}},"required":["api_version","language","scope","region_id","methodology_version","week_start","measured_at","generated_at"],"additionalProperties":false},"question":{"type":"object","properties":{"slug":{"type":"string"},"status":{"type":"string","enum":["active","retired"]}},"required":["slug","status"],"additionalProperties":false},"entities":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"slug":{"nullable":true,"type":"string"},"name":{"type":"string"}},"required":["id","slug","name"],"additionalProperties":false}},"points":{"type":"array","items":{"type":"object","properties":{"week_start":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"Sunday (KST) that starts a GenRank week, YYYY-MM-DD"},"entity_id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"model_id":{"nullable":true,"description":"NULL when the point is the cross-model rank (runs before per-model cells were stored)","type":"string"},"mentioned":{"type":"boolean"},"rank":{"nullable":true,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["week_start","entity_id","model_id","mentioned","rank"],"additionalProperties":false}}},"required":["meta","question","entities","points"],"additionalProperties":false},"BulkResultsResponse":{"type":"object","properties":{"meta":{"type":"object","properties":{"api_version":{"type":"string","enum":["v2"]},"language":{"type":"string","enum":["ko","en"]},"scope":{"type":"string","enum":["national","regional"]},"region_id":{"nullable":true,"type":"string"},"methodology_version":{"nullable":true,"type":"string"},"week_start":{"nullable":true,"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"Sunday (KST) that starts a GenRank week, YYYY-MM-DD"},"measured_at":{"nullable":true,"type":"string"},"generated_at":{"type":"string"}},"required":["api_version","language","scope","region_id","methodology_version","week_start","measured_at","generated_at"],"additionalProperties":false},"results":{"type":"array","items":{"type":"object","properties":{"question":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"slug":{"type":"string"},"text":{"type":"string"},"status":{"type":"string","enum":["active","retired"]},"replaced_by":{"nullable":true,"type":"string"},"region_id":{"nullable":true,"type":"string"},"intent":{"nullable":true,"type":"string"},"topic":{"nullable":true,"type":"string"},"categories":{"type":"array","items":{"type":"string"}}},"required":["id","slug","text","status","replaced_by","region_id","intent","topic","categories"],"additionalProperties":false},"week_start":{"nullable":true,"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"Sunday (KST) that starts a GenRank week, YYYY-MM-DD"},"methodology_version":{"nullable":true,"type":"string"},"models":{"type":"array","items":{"type":"object","properties":{"model_id":{"type":"string"},"name":{"type":"string"},"provider":{"type":"string"},"weight":{"nullable":true,"type":"number"},"web_search":{"type":"boolean"},"collection":{"type":"string","enum":["api","serp"]}},"required":["model_id","name","provider","weight","web_search","collection"],"additionalProperties":false}},"responses":{"type":"array","items":{"type":"object","properties":{"model_id":{"type":"string"},"measured_at":{"type":"string"},"week_start":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"Sunday (KST) that starts a GenRank week, YYYY-MM-DD"},"route":{"type":"string","enum":["direct","openrouter","batch"]},"search_location":{"type":"string","nullable":true,"enum":[null]},"response_text":{"type":"string"},"entities":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"slug":{"nullable":true,"type":"string"},"name":{"type":"string"},"rank":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"role":{"type":"string","enum":["answer"]}},"required":["id","slug","name","rank","role"],"additionalProperties":false}},"citations":{"type":"array","items":{"type":"object","properties":{"url":{"type":"string"},"domain":{"nullable":true,"type":"string"},"title":{"nullable":true,"type":"string"},"type":{"nullable":true,"description":"Source type. NULL until classification ships (REVAMP 6.3).","type":"string"}},"required":["url","domain","title","type"],"additionalProperties":false}},"status":{"type":"string","enum":["ok","empty","failed"]}},"required":["model_id","measured_at","week_start","route","search_location","response_text","entities","citations","status"],"additionalProperties":false}},"cells_4w":{"type":"object","properties":{"from_week":{"nullable":true,"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"Sunday (KST) that starts a GenRank week, YYYY-MM-DD"},"to_week":{"nullable":true,"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"Sunday (KST) that starts a GenRank week, YYYY-MM-DD"},"cells":{"type":"array","items":{"type":"object","properties":{"model_id":{"type":"string"},"trials":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"mentions":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"mean_rank":{"nullable":true,"type":"number"},"cited":{"nullable":true,"description":"Trials in which the entity's own site was cited. NULL until citations are linked to entities.","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"entity_id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["model_id","trials","mentions","mean_rank","cited","entity_id"],"additionalProperties":false}}},"required":["from_week","to_week","cells"],"additionalProperties":false},"entities":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"slug":{"nullable":true,"type":"string"},"name":{"type":"string"}},"required":["id","slug","name"],"additionalProperties":false}}},"required":["question","week_start","methodology_version","models","responses","cells_4w","entities"],"additionalProperties":false}},"missing":{"type":"array","items":{"type":"string"}},"unchanged":{"type":"array","items":{"type":"string"},"description":"Slugs skipped because nothing was measured after updated_since"}},"required":["meta","results","missing","unchanged"],"additionalProperties":false},"ModelsResponse":{"type":"object","properties":{"meta":{"type":"object","properties":{"api_version":{"type":"string","enum":["v2"]},"language":{"type":"string","enum":["ko","en"]},"scope":{"type":"string","enum":["national","regional"]},"region_id":{"nullable":true,"type":"string"},"methodology_version":{"nullable":true,"type":"string"},"week_start":{"nullable":true,"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"Sunday (KST) that starts a GenRank week, YYYY-MM-DD"},"measured_at":{"nullable":true,"type":"string"},"generated_at":{"type":"string"}},"required":["api_version","language","scope","region_id","methodology_version","week_start","measured_at","generated_at"],"additionalProperties":false},"models":{"type":"array","items":{"type":"object","properties":{"model_id":{"type":"string"},"name":{"type":"string"},"provider":{"type":"string"},"weight":{"nullable":true,"type":"number"},"effective_from":{"nullable":true,"type":"string"},"web_search":{"type":"boolean"},"collection":{"type":"string","enum":["api","serp"]}},"required":["model_id","name","provider","weight","effective_from","web_search","collection"],"additionalProperties":false}},"retired":{"type":"array","items":{"type":"object","properties":{"model_id":{"type":"string"},"name":{"type":"string"},"provider":{"type":"string"},"retired_at":{"nullable":true,"type":"string"}},"required":["model_id","name","provider","retired_at"],"additionalProperties":false}}},"required":["meta","models","retired"],"additionalProperties":false},"MethodologyResponse":{"type":"object","properties":{"meta":{"type":"object","properties":{"api_version":{"type":"string","enum":["v2"]},"language":{"type":"string","enum":["ko","en"]},"scope":{"type":"string","enum":["national","regional"]},"region_id":{"nullable":true,"type":"string"},"methodology_version":{"nullable":true,"type":"string"},"week_start":{"nullable":true,"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"Sunday (KST) that starts a GenRank week, YYYY-MM-DD"},"measured_at":{"nullable":true,"type":"string"},"generated_at":{"type":"string"}},"required":["api_version","language","scope","region_id","methodology_version","week_start","measured_at","generated_at"],"additionalProperties":false},"current":{"type":"object","properties":{"version":{"type":"string"},"effective_from":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"}},"required":["version","effective_from"],"additionalProperties":false},"next":{"nullable":true,"type":"object","properties":{"version":{"type":"string"},"effective_from":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"announced":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"}},"required":["version","effective_from","announced"],"additionalProperties":false},"changelog":{"type":"array","items":{"type":"object","properties":{"version":{"type":"string"},"date":{"type":"string"},"summary":{"type":"string"}},"required":["version","date","summary"],"additionalProperties":false}},"question_rank_formula":{"nullable":true,"type":"string"},"publish_gate":{"nullable":true,"type":"string"},"url":{"type":"string"}},"required":["meta","current","next","changelog","question_rank_formula","publish_gate","url"],"additionalProperties":false},"RegionsResponse":{"type":"object","properties":{"meta":{"type":"object","properties":{"api_version":{"type":"string","enum":["v2"]},"language":{"type":"string","enum":["ko","en"]},"scope":{"type":"string","enum":["national","regional"]},"region_id":{"nullable":true,"type":"string"},"methodology_version":{"nullable":true,"type":"string"},"week_start":{"nullable":true,"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"Sunday (KST) that starts a GenRank week, YYYY-MM-DD"},"measured_at":{"nullable":true,"type":"string"},"generated_at":{"type":"string"}},"required":["api_version","language","scope","region_id","methodology_version","week_start","measured_at","generated_at"],"additionalProperties":false},"regions":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"slug":{"type":"string"},"level":{"type":"string","enum":["sido","sigungu","district"]},"parent_id":{"nullable":true,"type":"string"},"name_ko":{"type":"string"},"name_en":{"type":"string"},"aliases":{"type":"array","items":{"type":"string"}},"leaves":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string"},"published":{"type":"boolean"},"weeks_measured":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["key","published","weeks_measured"],"additionalProperties":false}}},"required":["id","slug","level","parent_id","name_ko","name_en","aliases","leaves"],"additionalProperties":false}}},"required":["meta","regions"],"additionalProperties":false},"RunsResponse":{"type":"object","properties":{"meta":{"type":"object","properties":{"api_version":{"type":"string","enum":["v2"]},"language":{"type":"string","enum":["ko","en"]},"scope":{"type":"string","enum":["national","regional"]},"region_id":{"nullable":true,"type":"string"},"methodology_version":{"nullable":true,"type":"string"},"week_start":{"nullable":true,"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"Sunday (KST) that starts a GenRank week, YYYY-MM-DD"},"measured_at":{"nullable":true,"type":"string"},"generated_at":{"type":"string"}},"required":["api_version","language","scope","region_id","methodology_version","week_start","measured_at","generated_at"],"additionalProperties":false},"runs":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"week_start":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"Sunday (KST) that starts a GenRank week, YYYY-MM-DD"},"scope":{"type":"string","enum":["national","regional"]},"language":{"nullable":true,"description":"NULL for runs that covered every language (all runs before v4.0)","type":"string","enum":["ko","en"]},"trigger_type":{"type":"string"},"status":{"type":"string","enum":["running","completed","failed"]},"questions_total":{"nullable":true,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"questions_completed":{"nullable":true,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"started_at":{"type":"string"},"completed_at":{"nullable":true,"type":"string"},"routes":{"type":"object","properties":{"batch":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"direct":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"openrouter":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["batch","direct","openrouter"],"additionalProperties":false}},"required":["id","week_start","scope","language","trigger_type","status","questions_total","questions_completed","started_at","completed_at","routes"],"additionalProperties":false}}},"required":["meta","runs"],"additionalProperties":false},"EntityResolveResponse":{"type":"object","properties":{"meta":{"type":"object","properties":{"api_version":{"type":"string","enum":["v2"]},"language":{"type":"string","enum":["ko","en"]},"scope":{"type":"string","enum":["national","regional"]},"region_id":{"nullable":true,"type":"string"},"methodology_version":{"nullable":true,"type":"string"},"week_start":{"nullable":true,"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"Sunday (KST) that starts a GenRank week, YYYY-MM-DD"},"measured_at":{"nullable":true,"type":"string"},"generated_at":{"type":"string"}},"required":["api_version","language","scope","region_id","methodology_version","week_start","measured_at","generated_at"],"additionalProperties":false},"site":{"type":"object","properties":{"host":{"type":"string"},"label":{"type":"string","description":"The registrable name, e.g. \"lemonbase\" for www.lemonbase.com"},"platform":{"nullable":true,"description":"Citation type when the host is a portal, store, map, social or media site; its citations say nothing about ownership","type":"string"},"account":{"nullable":true,"description":"Account or place id on a platform URL","type":"string"},"title":{"nullable":true,"description":"The page title as AI answers cited it; for a place, its own name (2.2.1)","type":"string"}},"required":["host","label","platform","account","title"],"additionalProperties":false},"match":{"type":"string","enum":["website","likely","candidates","none","platform"]},"candidates":{"type":"array","items":{"type":"object","properties":{"entity":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"slug":{"nullable":true,"type":"string"},"name":{"type":"string"},"type":{"nullable":true,"type":"string"},"region_id":{"nullable":true,"type":"string"}},"required":["id","slug","name","type","region_id"],"additionalProperties":false},"match":{"type":"string","enum":["website","cited","sound"],"description":"website: the stored website is this host; cited: answers that named the entity cited the site or page; sound: no answer cited it, but the name sounds like the site name (2.2.1), or one of the names sent is its name or alias (name_match true, name_similarity 1; 2.7.0)"},"cited_answers":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Answers in the latest measured week that named the entity and cited the site"},"name_similarity":{"type":"number","minimum":0,"maximum":1,"description":"How much the site name sounds like the entity name (Hangul and Latin compared by sound); 1 for a cited entity whose name or alias is one of the names sent (2.5.0), and for an entity found by one of them in the whole index (2.7.0)"},"confidence":{"type":"number","minimum":0,"maximum":1},"name_match":{"type":"boolean","description":"One of the names sent (name=) is the entity's name or alias, compared without case, spaces or punctuation; false when no name was sent (2.5.0)"}},"required":["entity","match","cited_answers","name_similarity","confidence","name_match"],"additionalProperties":false}}},"required":["meta","site","match","candidates"],"additionalProperties":false},"ClassifyRequest":{"type":"object","properties":{"language":{"default":"ko","type":"string","enum":["ko","en"]},"name":{"type":"string","minLength":1,"maxLength":120},"homepage":{"nullable":true,"type":"string","maxLength":500},"offering":{"description":"What the brand sells and to whom, one or two sentences","nullable":true,"type":"string","maxLength":1000},"site_text":{"description":"Text of the brand site; the first 1,500 characters are used","nullable":true,"type":"string","maxLength":20000},"limit":{"default":5,"type":"integer","minimum":1,"maximum":12}},"required":["language","name","limit"],"additionalProperties":false},"ClassifyResponse":{"type":"object","properties":{"meta":{"type":"object","properties":{"api_version":{"type":"string","enum":["v2"]},"language":{"type":"string","enum":["ko","en"]},"scope":{"type":"string","enum":["national","regional"]},"region_id":{"nullable":true,"type":"string"},"methodology_version":{"nullable":true,"type":"string"},"week_start":{"nullable":true,"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"Sunday (KST) that starts a GenRank week, YYYY-MM-DD"},"measured_at":{"nullable":true,"type":"string"},"generated_at":{"type":"string"}},"required":["api_version","language","scope","region_id","methodology_version","week_start","measured_at","generated_at"],"additionalProperties":false},"classifier_version":{"type":"string"},"judged_by":{"type":"string","enum":["model","vector"],"description":"vector when the judge model did not answer and the order is by similarity only"},"none_probability":{"nullable":true,"description":"Probability that no GenRank category fits; null when judged_by is vector","type":"number","minimum":0,"maximum":1},"categories":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string"},"name_ko":{"nullable":true,"type":"string"},"name_en":{"type":"string"},"level":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"geo_mode":{"nullable":true,"type":"string","enum":["city","metro","country"]},"path":{"type":"array","items":{"type":"string"}},"probability":{"type":"number","minimum":0,"maximum":1},"similarity":{"type":"number","description":"Cosine similarity of the brand and category vectors"},"source":{"type":"string","enum":["vector","name"],"description":"How the category reached the judge: among the nearest by meaning, or because its name holds a word of offering or site_text"}},"required":["key","name_ko","name_en","level","geo_mode","path","probability","similarity","source"],"additionalProperties":false}}},"required":["meta","classifier_version","judged_by","none_probability","categories"],"additionalProperties":false},"CompetitorsRequest":{"type":"object","properties":{"language":{"default":"ko","type":"string","enum":["ko","en"]},"entity_id":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"default":"","type":"string","maxLength":120},"homepage":{"nullable":true,"type":"string","maxLength":500},"offering":{"description":"What the brand sells and to whom, one or two sentences","nullable":true,"type":"string","maxLength":1000},"limit":{"default":12,"type":"integer","minimum":1,"maximum":20}},"required":["language","name","limit"],"additionalProperties":false},"CompetitorsResponse":{"type":"object","properties":{"meta":{"type":"object","properties":{"api_version":{"type":"string","enum":["v2"]},"language":{"type":"string","enum":["ko","en"]},"scope":{"type":"string","enum":["national","regional"]},"region_id":{"nullable":true,"type":"string"},"methodology_version":{"nullable":true,"type":"string"},"week_start":{"nullable":true,"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"Sunday (KST) that starts a GenRank week, YYYY-MM-DD"},"measured_at":{"nullable":true,"type":"string"},"generated_at":{"type":"string"}},"required":["api_version","language","scope","region_id","methodology_version","week_start","measured_at","generated_at"],"additionalProperties":false},"relevance_version":{"type":"string"},"judged_by":{"type":"string","enum":["model","vector"]},"window":{"nullable":true,"description":"The 4-week window of mentions and trials","type":"object","properties":{"from_week":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"Sunday (KST) that starts a GenRank week, YYYY-MM-DD"},"to_week":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"Sunday (KST) that starts a GenRank week, YYYY-MM-DD"}},"required":["from_week","to_week"],"additionalProperties":false},"competitors":{"type":"array","items":{"type":"object","properties":{"entity":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"slug":{"nullable":true,"type":"string"},"name":{"type":"string"}},"required":["id","slug","name"],"additionalProperties":false},"rank":{"nullable":true,"description":"Current rank in the category","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"relevance":{"type":"number","minimum":0,"maximum":1,"description":"Probability that this brand's customers compare the two"},"similarity":{"type":"number"},"co_mentions":{"nullable":true,"description":"Answers in `window` that named both this brand and the entity_id brand, over the category's own questions (2.6.0: the same four weeks as mentions and trials). null without entity_id (no brand to count with) and in a category above the leaves (co-mentions are kept per leaf): show no number then","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"mentions":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Answers in this category that named it, over the window, on the current panel: the `total.mentions` of its /categories/{key}/matrix row"},"trials":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Answers measured for this category over the same window and panel: the `total.trials` of its matrix row"}},"required":["entity","rank","relevance","similarity","co_mentions","mentions","trials"],"additionalProperties":false}}},"required":["meta","relevance_version","judged_by","window","competitors"],"additionalProperties":false},"ExtractRequest":{"anyOf":[{"type":"object","properties":{"language":{"default":"ko","type":"string","enum":["ko","en"]},"items":{"minItems":1,"maxItems":20,"type":"array","items":{"type":"object","properties":{"question":{"type":"string","minLength":1,"maxLength":1000},"answer":{"type":"string","minLength":1,"maxLength":40000},"citations":{"nullable":true,"maxItems":100,"type":"array","items":{"type":"object","properties":{"url":{"type":"string","maxLength":2000},"title":{"nullable":true,"type":"string","maxLength":500}},"required":["url"],"additionalProperties":false}},"tracked":{"minItems":1,"maxItems":30,"type":"array","items":{"type":"object","properties":{"entity_id":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string","minLength":1,"maxLength":120},"aliases":{"default":[],"maxItems":10,"type":"array","items":{"type":"string","minLength":1,"maxLength":120}},"homepage":{"description":"The brand's site or platform page; cited pages on it count as the brand's own","nullable":true,"type":"string","maxLength":500}},"required":["name","aliases"],"additionalProperties":false}}},"required":["question","answer","tracked"],"additionalProperties":false}}},"required":["language","items"],"additionalProperties":false},{"type":"object","properties":{"question":{"type":"string","minLength":1,"maxLength":1000},"answer":{"type":"string","minLength":1,"maxLength":40000},"citations":{"nullable":true,"maxItems":100,"type":"array","items":{"type":"object","properties":{"url":{"type":"string","maxLength":2000},"title":{"nullable":true,"type":"string","maxLength":500}},"required":["url"],"additionalProperties":false}},"tracked":{"minItems":1,"maxItems":30,"type":"array","items":{"type":"object","properties":{"entity_id":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string","minLength":1,"maxLength":120},"aliases":{"default":[],"maxItems":10,"type":"array","items":{"type":"string","minLength":1,"maxLength":120}},"homepage":{"description":"The brand's site or platform page; cited pages on it count as the brand's own","nullable":true,"type":"string","maxLength":500}},"required":["name","aliases"],"additionalProperties":false}},"language":{"default":"ko","type":"string","enum":["ko","en"]}},"required":["question","answer","tracked","language"],"additionalProperties":false}]},"ExtractBatch":{"type":"object","properties":{"language":{"default":"ko","type":"string","enum":["ko","en"]},"items":{"minItems":1,"maxItems":20,"type":"array","items":{"type":"object","properties":{"question":{"type":"string","minLength":1,"maxLength":1000},"answer":{"type":"string","minLength":1,"maxLength":40000},"citations":{"nullable":true,"maxItems":100,"type":"array","items":{"type":"object","properties":{"url":{"type":"string","maxLength":2000},"title":{"nullable":true,"type":"string","maxLength":500}},"required":["url"],"additionalProperties":false}},"tracked":{"minItems":1,"maxItems":30,"type":"array","items":{"type":"object","properties":{"entity_id":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string","minLength":1,"maxLength":120},"aliases":{"default":[],"maxItems":10,"type":"array","items":{"type":"string","minLength":1,"maxLength":120}},"homepage":{"description":"The brand's site or platform page; cited pages on it count as the brand's own","nullable":true,"type":"string","maxLength":500}},"required":["name","aliases"],"additionalProperties":false}}},"required":["question","answer","tracked"],"additionalProperties":false}}},"required":["language","items"],"additionalProperties":false},"ExtractSingle":{"type":"object","properties":{"question":{"type":"string","minLength":1,"maxLength":1000},"answer":{"type":"string","minLength":1,"maxLength":40000},"citations":{"nullable":true,"maxItems":100,"type":"array","items":{"type":"object","properties":{"url":{"type":"string","maxLength":2000},"title":{"nullable":true,"type":"string","maxLength":500}},"required":["url"],"additionalProperties":false}},"tracked":{"minItems":1,"maxItems":30,"type":"array","items":{"type":"object","properties":{"entity_id":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string","minLength":1,"maxLength":120},"aliases":{"default":[],"maxItems":10,"type":"array","items":{"type":"string","minLength":1,"maxLength":120}},"homepage":{"description":"The brand's site or platform page; cited pages on it count as the brand's own","nullable":true,"type":"string","maxLength":500}},"required":["name","aliases"],"additionalProperties":false}},"language":{"default":"ko","type":"string","enum":["ko","en"]}},"required":["question","answer","tracked","language"],"additionalProperties":false},"ExtractResponse":{"type":"object","properties":{"meta":{"type":"object","properties":{"api_version":{"type":"string","enum":["v2"]},"language":{"type":"string","enum":["ko","en"]},"scope":{"type":"string","enum":["national","regional"]},"region_id":{"nullable":true,"type":"string"},"methodology_version":{"nullable":true,"type":"string"},"week_start":{"nullable":true,"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"Sunday (KST) that starts a GenRank week, YYYY-MM-DD"},"measured_at":{"nullable":true,"type":"string"},"generated_at":{"type":"string"}},"required":["api_version","language","scope","region_id","methodology_version","week_start","measured_at","generated_at"],"additionalProperties":false},"extractor_version":{"type":"string"},"results":{"type":"array","items":{"type":"object","properties":{"index":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"entities":{"type":"array","items":{"type":"object","properties":{"entity_id":{"nullable":true,"type":"string"},"name":{"type":"string"},"rank":{"type":"number"},"tracked_index":{"nullable":true,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["entity_id","name","rank","tracked_index"],"additionalProperties":false},"description":"What the answer recommends, in its order; sources and generic terms are left out"},"tracked":{"type":"array","items":{"type":"object","properties":{"index":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"mentioned":{"type":"boolean"},"rank":{"nullable":true,"type":"number"}},"required":["index","mentioned","rank"],"additionalProperties":false}},"citations":{"type":"array","items":{"type":"object","properties":{"index":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Position in the citations you sent"},"domain":{"nullable":true,"description":"Host of the page cited, without www. Google's redirects (google.com/goto, Gemini grounding links) are opened and translated pages (translate.google.com, translate.goog) count as the page; Google Maps and Shopping pages on google.com count as maps.google.com and shopping.google.com. NULL when the URL is not one, or a Google redirect could not be opened","type":"string"},"type":{"type":"string","enum":["portal","social","community","directory","shopping","media","reference","public","other"]},"tracked_index":{"nullable":true,"description":"The tracked brand whose own site or platform page this is","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["index","domain","type","tracked_index"],"additionalProperties":false},"description":"One per citation sent, in order"}},"required":["index","entities","tracked","citations"],"additionalProperties":false}}},"required":["meta","extractor_version","results"],"additionalProperties":false},"SuggestRequest":{"type":"object","properties":{"language":{"default":"ko","type":"string","enum":["ko","en"]},"name":{"type":"string","minLength":1,"maxLength":120},"homepage":{"nullable":true,"type":"string","maxLength":500},"offering":{"description":"What the brand sells and to whom, one or two sentences","nullable":true,"type":"string","maxLength":1000},"category_key":{"nullable":true,"type":"string","maxLength":120},"source":{"nullable":true,"type":"string","maxLength":120}},"required":["language","name"],"additionalProperties":false},"SuggestResponse":{"type":"object","properties":{"status":{"type":"string","enum":["recorded","exists"]},"suggestion_id":{"nullable":true,"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"times":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"How many times this site or name has been suggested"},"entity":{"nullable":true,"description":"The entity this site already belongs to, when status is exists","type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"slug":{"nullable":true,"type":"string"},"name":{"type":"string"}},"required":["id","slug","name"],"additionalProperties":false}},"required":["status","suggestion_id","times","entity"],"additionalProperties":false}}},"paths":{"/entities/search":{"get":{"summary":"Find entities by name or alias (q) or website domain; with region_id, that region's entities join the national ones","parameters":[{"name":"q","in":"query","description":"Name or alias, 2 to 100 characters. q or domain is required.","schema":{"type":"string"}},{"name":"domain","in":"query","description":"Website host, e.g. example.com","schema":{"type":"string"}},{"name":"language","in":"query","required":true,"description":"ko or en. Entities and questions are separate per language.","schema":{"type":"string","enum":["ko","en"]}},{"name":"region_id","in":"query","description":"A regions.id from /regions. Scopes the call to that region of the regional index; omit for the national index. An unknown id answers 400 UNKNOWN_REGION.","schema":{"type":"string"}},{"name":"limit","in":"query","description":"1 to 20, default 10","schema":{"type":"integer"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntitySearchResponse"}}}},"304":{"description":"Not modified (If-None-Match matched the ETag)"},"400":{"description":"Invalid parameter (VALIDATION_ERROR, UNKNOWN_REGION)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing, unknown, revoked or expired API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Key without the read scope, or used from an address outside its allowlist","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Per-key limit or daily quota exceeded (RATE_LIMITED, QUOTA_EXCEEDED); see X-RateLimit-*, X-Quota-* and Retry-After","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"The index did not answer in time; retry after Retry-After seconds","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{"bearer":[]}]}},"/entities/resolve":{"get":{"summary":"Which entity a website belongs to: a stored website, else entities named in answers that cited the site, ranked with how much the site name sounds like theirs","parameters":[{"name":"url","in":"query","required":true,"description":"A website address or host, e.g. https://www.example.com/about","schema":{"type":"string"}},{"name":"name","in":"query","description":"A name the site gives itself (its title, the brand it names), up to 100 characters; repeat for other names, up to 5, the main one first. When exactly one entity named in answers that cited the site has one of them as its name or alias, match is likely and that entity comes first; when several do, match is candidates. A national entity wins over regional entities of the same name. On a platform's own address (naver.com) the candidates stay the entities named like the platform, and name only picks among them (2.5.0). When no cited entity has one of the names and the site alone gives no likely owner, brands and businesses with one of them as name or alias are looked up in the whole index (not products, people, works, places or branches) and join the candidates with match sound and name_similarity 1. One of them is likely when the address is written in its names (starbucks.co.kr and the alias Starbucks), or else when GenRank's judge model reads the site as its official site; two businesses can share a name, so the others stay candidates (2.7.0)","schema":{"type":"array","items":{"type":"string"},"maxItems":5}},{"name":"language","in":"query","required":true,"description":"ko or en. Entities and questions are separate per language.","schema":{"type":"string","enum":["ko","en"]}},{"name":"limit","in":"query","description":"1 to 20, default 5","schema":{"type":"integer"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntityResolveResponse"}}}},"304":{"description":"Not modified (If-None-Match matched the ETag)"},"400":{"description":"Invalid parameter (VALIDATION_ERROR, UNKNOWN_REGION)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing, unknown, revoked or expired API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Key without the read scope, or used from an address outside its allowlist","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Per-key limit or daily quota exceeded (RATE_LIMITED, QUOTA_EXCEEDED); see X-RateLimit-*, X-Quota-* and Retry-After","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"The index did not answer in time; retry after Retry-After seconds","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{"bearer":[]}]}},"/entities/suggest":{"post":{"summary":"Record a brand GenRank does not have. It never adds the brand to a ranking: GenRank asks questions, and an entity appears only when AI answers name it","parameters":[],"responses":{"200":{"description":"Suggested before (`status: recorded`, `times` counts up), or the site already belongs to a GenRank entity (`status: exists` with `entity`)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuggestResponse"}}}},"202":{"description":"First suggestion of this site or name: `status: recorded`, `times: 1`","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuggestResponse"}}}},"400":{"description":"Invalid parameter (VALIDATION_ERROR, UNKNOWN_REGION)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing, unknown, revoked or expired API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Key without the read scope, or used from an address outside its allowlist","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Body over 256 KB (PAYLOAD_TOO_LARGE)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Per-key limit or daily quota exceeded (RATE_LIMITED, QUOTA_EXCEEDED); see X-RateLimit-*, X-Quota-* and Retry-After","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"The index did not answer in time; retry after Retry-After seconds","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{"bearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuggestRequest"}}}}}},"/entities/{id}":{"get":{"summary":"Entity detail: categories, per-question and per-model 4-week numbers, peers, region and parent when regional","parameters":[{"name":"id","in":"path","required":true,"description":"Entity id or slug","schema":{"type":"string"}},{"name":"language","in":"query","required":true,"description":"ko or en. Entities and questions are separate per language.","schema":{"type":"string","enum":["ko","en"]}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntityDetailResponse"}}}},"301":{"description":"Moved permanently","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Redirect"}}}},"304":{"description":"Not modified (If-None-Match matched the ETag)"},"400":{"description":"Invalid parameter (VALIDATION_ERROR, UNKNOWN_REGION)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing, unknown, revoked or expired API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Key without the read scope, or used from an address outside its allowlist","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"410":{"description":"Gone","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Per-key limit or daily quota exceeded (RATE_LIMITED, QUOTA_EXCEEDED); see X-RateLimit-*, X-Quota-* and Retry-After","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"The index did not answer in time; retry after Retry-After seconds","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{"bearer":[]}]}},"/entities/{id}/history":{"get":{"summary":"Category rank per kept week, best current rank first","parameters":[{"name":"id","in":"path","required":true,"description":"Entity id or slug","schema":{"type":"string"}},{"name":"language","in":"query","required":true,"description":"ko or en. Entities and questions are separate per language.","schema":{"type":"string","enum":["ko","en"]}},{"name":"weeks","in":"query","description":"1 to 104, default 26","schema":{"type":"integer"}},{"name":"categories","in":"query","description":"1 to 30, default 8","schema":{"type":"integer"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntityHistoryResponse"}}}},"304":{"description":"Not modified (If-None-Match matched the ETag)"},"400":{"description":"Invalid parameter (VALIDATION_ERROR, UNKNOWN_REGION)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing, unknown, revoked or expired API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Key without the read scope, or used from an address outside its allowlist","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Per-key limit or daily quota exceeded (RATE_LIMITED, QUOTA_EXCEEDED); see X-RateLimit-*, X-Quota-* and Retry-After","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"The index did not answer in time; retry after Retry-After seconds","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{"bearer":[]}]}},"/entities/{id}/graph":{"get":{"summary":"Entities named alongside this one and the sources those answers cite, over the last four weeks","parameters":[{"name":"id","in":"path","required":true,"description":"Entity id or slug","schema":{"type":"string"}},{"name":"language","in":"query","required":true,"description":"ko or en. Entities and questions are separate per language.","schema":{"type":"string","enum":["ko","en"]}},{"name":"scope","in":"query","description":"national (default) or regional","schema":{"type":"string","enum":["national","regional"]}},{"name":"limit","in":"query","description":"1 to 100, default 30","schema":{"type":"integer"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntityGraphResponse"}}}},"304":{"description":"Not modified (If-None-Match matched the ETag)"},"400":{"description":"Invalid parameter (VALIDATION_ERROR, UNKNOWN_REGION)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing, unknown, revoked or expired API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Key without the read scope, or used from an address outside its allowlist","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Per-key limit or daily quota exceeded (RATE_LIMITED, QUOTA_EXCEEDED); see X-RateLimit-*, X-Quota-* and Retry-After","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"The index did not answer in time; retry after Retry-After seconds","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{"bearer":[]}]}},"/entities/{id}/overview":{"get":{"summary":"One call for an onboarding screen: detail, category ranks, top questions, co-mentions, sources, regions, 4-week trend, run status. Parts that fail are named in `partial`.","parameters":[{"name":"id","in":"path","required":true,"description":"Entity id or slug","schema":{"type":"string"}},{"name":"language","in":"query","required":true,"description":"ko or en. Entities and questions are separate per language.","schema":{"type":"string","enum":["ko","en"]}},{"name":"region_id","in":"query","description":"A regions.id from /regions. Scopes the call to that region of the regional index; omit for the national index. An unknown id answers 400 UNKNOWN_REGION.","schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntityOverviewResponse"}}}},"301":{"description":"Moved permanently","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Redirect"}}}},"304":{"description":"Not modified (If-None-Match matched the ETag)"},"400":{"description":"Invalid parameter (VALIDATION_ERROR, UNKNOWN_REGION)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing, unknown, revoked or expired API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Key without the read scope, or used from an address outside its allowlist","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"410":{"description":"Gone","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Per-key limit or daily quota exceeded (RATE_LIMITED, QUOTA_EXCEEDED); see X-RateLimit-*, X-Quota-* and Retry-After","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"The index did not answer in time; retry after Retry-After seconds","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{"bearer":[]}]}},"/categories":{"get":{"summary":"The category tree as a flat list with question and brand counts and the top three of each; with q, the categories matching a name, key or question texts","parameters":[{"name":"language","in":"query","required":true,"description":"ko or en. Entities and questions are separate per language.","schema":{"type":"string","enum":["ko","en"]}},{"name":"q","in":"query","description":"2 to 100 characters: a key, a name, or words that appear in question texts","schema":{"type":"string"}},{"name":"limit","in":"query","description":"1 to 1000, default 1000","schema":{"type":"integer"}},{"name":"offset","in":"query","description":"Default 0","schema":{"type":"integer"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CategoriesResponse"}}}},"304":{"description":"Not modified (If-None-Match matched the ETag)"},"400":{"description":"Invalid parameter (VALIDATION_ERROR, UNKNOWN_REGION)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing, unknown, revoked or expired API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Key without the read scope, or used from an address outside its allowlist","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Per-key limit or daily quota exceeded (RATE_LIMITED, QUOTA_EXCEEDED); see X-RateLimit-*, X-Quota-* and Retry-After","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"The index did not answer in time; retry after Retry-After seconds","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{"bearer":[]}]}},"/categories/{key}/competitors":{"post":{"summary":"The category's ranked entities by relevance to one brand: nearest by meaning first, then a judge model's probability that the brand's customers compare the two","parameters":[{"name":"key","in":"path","required":true,"description":"Category key (slug)","schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompetitorsResponse"}}}},"400":{"description":"Invalid parameter (VALIDATION_ERROR, UNKNOWN_REGION)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing, unknown, revoked or expired API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Key without the read scope, or used from an address outside its allowlist","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Body over 256 KB (PAYLOAD_TOO_LARGE)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Per-key limit or daily quota exceeded (RATE_LIMITED, QUOTA_EXCEEDED); see X-RateLimit-*, X-Quota-* and Retry-After","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"The index did not answer in time; retry after Retry-After seconds","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{"bearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompetitorsRequest"}}}}}},"/classify":{"post":{"summary":"Which GenRank categories a brand competes in: nearest categories by meaning and categories named by its words, then a judge model chooses among them, with the probability that none fits","parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClassifyResponse"}}}},"400":{"description":"Invalid parameter (VALIDATION_ERROR, UNKNOWN_REGION)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing, unknown, revoked or expired API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Key without the read scope, or used from an address outside its allowlist","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Body over 256 KB (PAYLOAD_TOO_LARGE)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Per-key limit or daily quota exceeded (RATE_LIMITED, QUOTA_EXCEEDED); see X-RateLimit-*, X-Quota-* and Retry-After","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"The index did not answer in time; retry after Retry-After seconds","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{"bearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClassifyRequest"}}}}}},"/extract":{"post":{"summary":"Check AI answers for mentions of your brands with GenRank's own extractor, and type each citation, in the request. 503 when any answer could not be read: nothing is judged then, retry after Retry-After","parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExtractResponse"}}}},"400":{"description":"Invalid parameter (VALIDATION_ERROR, UNKNOWN_REGION)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing, unknown, revoked or expired API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Key without the read scope, or used from an address outside its allowlist","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Body over 256 KB (PAYLOAD_TOO_LARGE)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Per-key limit or daily quota exceeded (RATE_LIMITED, QUOTA_EXCEEDED); see X-RateLimit-*, X-Quota-* and Retry-After","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"The index did not answer in time; retry after Retry-After seconds","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{"bearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExtractRequest"}}}}}},"/categories/{key}":{"get":{"summary":"One category: node, ancestors, children, and how many weekly editions it has","parameters":[{"name":"key","in":"path","required":true,"description":"Category key (slug)","schema":{"type":"string"}},{"name":"language","in":"query","required":true,"description":"ko or en. Entities and questions are separate per language.","schema":{"type":"string","enum":["ko","en"]}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CategoryDetailResponse"}}}},"304":{"description":"Not modified (If-None-Match matched the ETag)"},"400":{"description":"Invalid parameter (VALIDATION_ERROR, UNKNOWN_REGION)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing, unknown, revoked or expired API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Key without the read scope, or used from an address outside its allowlist","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Per-key limit or daily quota exceeded (RATE_LIMITED, QUOTA_EXCEEDED); see X-RateLimit-*, X-Quota-* and Retry-After","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"The index did not answer in time; retry after Retry-After seconds","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{"bearer":[]}]}},"/categories/{key}/rankings":{"get":{"summary":"The ranking of a category in one kept week (default: the latest), with each entity's previous rank. National only.","parameters":[{"name":"key","in":"path","required":true,"description":"Category key (slug)","schema":{"type":"string"}},{"name":"language","in":"query","required":true,"description":"ko or en. Entities and questions are separate per language.","schema":{"type":"string","enum":["ko","en"]}},{"name":"week","in":"query","description":"Week start (Sunday, YYYY-MM-DD). Default: the latest kept week.","schema":{"type":"string"}},{"name":"limit","in":"query","description":"1 to 100, default 50","schema":{"type":"integer"}},{"name":"offset","in":"query","description":"0 to 10000, default 0","schema":{"type":"integer"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CategoryRankingsResponse"}}}},"304":{"description":"Not modified (If-None-Match matched the ETag)"},"400":{"description":"Invalid parameter (VALIDATION_ERROR, UNKNOWN_REGION)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing, unknown, revoked or expired API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Key without the read scope, or used from an address outside its allowlist","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Per-key limit or daily quota exceeded (RATE_LIMITED, QUOTA_EXCEEDED); see X-RateLimit-*, X-Quota-* and Retry-After","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"The index did not answer in time; retry after Retry-After seconds","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{"bearer":[]}]}},"/categories/{key}/history":{"get":{"summary":"Top N of a category per kept week with the methodology version of each week; one entity's rows added with `entity`. National only.","parameters":[{"name":"key","in":"path","required":true,"description":"Category key (slug)","schema":{"type":"string"}},{"name":"language","in":"query","required":true,"description":"ko or en. Entities and questions are separate per language.","schema":{"type":"string","enum":["ko","en"]}},{"name":"weeks","in":"query","description":"1 to 104, default 26","schema":{"type":"integer"}},{"name":"top","in":"query","description":"1 to 50, default 10","schema":{"type":"integer"}},{"name":"entity","in":"query","description":"Entity id or slug to include regardless of rank","schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CategoryHistoryResponse"}}}},"304":{"description":"Not modified (If-None-Match matched the ETag)"},"400":{"description":"Invalid parameter (VALIDATION_ERROR, UNKNOWN_REGION)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing, unknown, revoked or expired API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Key without the read scope, or used from an address outside its allowlist","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Per-key limit or daily quota exceeded (RATE_LIMITED, QUOTA_EXCEEDED); see X-RateLimit-*, X-Quota-* and Retry-After","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"The index did not answer in time; retry after Retry-After seconds","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{"bearer":[]}]}},"/categories/{key}/graph":{"get":{"summary":"Co-mention graph of the top entities and the domain-to-entity source flow over the last four weeks. National only.","parameters":[{"name":"key","in":"path","required":true,"description":"Category key (slug)","schema":{"type":"string"}},{"name":"language","in":"query","required":true,"description":"ko or en. Entities and questions are separate per language.","schema":{"type":"string","enum":["ko","en"]}},{"name":"nodes","in":"query","description":"5 to 100, default 50","schema":{"type":"integer"}},{"name":"min_answers","in":"query","description":"Edges below this many shared answers are dropped; 1 to 50, default 2","schema":{"type":"integer"}},{"name":"domains","in":"query","description":"1 to 30, default 10","schema":{"type":"integer"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CategoryGraphResponse"}}}},"304":{"description":"Not modified (If-None-Match matched the ETag)"},"400":{"description":"Invalid parameter (VALIDATION_ERROR, UNKNOWN_REGION)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing, unknown, revoked or expired API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Key without the read scope, or used from an address outside its allowlist","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Per-key limit or daily quota exceeded (RATE_LIMITED, QUOTA_EXCEEDED); see X-RateLimit-*, X-Quota-* and Retry-After","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"The index did not answer in time; retry after Retry-After seconds","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{"bearer":[]}]}},"/categories/{key}/matrix":{"get":{"summary":"Mentions and trials per surface for the top entities of a category over the 4-week window; counts only. National only.","parameters":[{"name":"key","in":"path","required":true,"description":"Category key (slug)","schema":{"type":"string"}},{"name":"language","in":"query","required":true,"description":"ko or en. Entities and questions are separate per language.","schema":{"type":"string","enum":["ko","en"]}},{"name":"limit","in":"query","description":"Entities, 1 to 50, default 15","schema":{"type":"integer"}},{"name":"pin","in":"query","description":"An entity id or slug to keep as a row whatever its rank, marked pinned; repeat for more, up to 5. A merged entity's old id leads to the entity that holds it now; an unknown one is ignored. A pinned entity within limit is not repeated; one not ranked in the category comes last with rank null, its cells the category's trials and its mentions there (2.6.0)","schema":{"type":"array","items":{"type":"string"},"maxItems":5}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CategoryMatrixResponse"}}}},"304":{"description":"Not modified (If-None-Match matched the ETag)"},"400":{"description":"Invalid parameter (VALIDATION_ERROR, UNKNOWN_REGION)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing, unknown, revoked or expired API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Key without the read scope, or used from an address outside its allowlist","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Per-key limit or daily quota exceeded (RATE_LIMITED, QUOTA_EXCEEDED); see X-RateLimit-*, X-Quota-* and Retry-After","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"The index did not answer in time; retry after Retry-After seconds","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{"bearer":[]}]}},"/categories/{key}/questions":{"get":{"summary":"Questions of a category and its descendants; with region_id, that region's questions and their publish gates","parameters":[{"name":"key","in":"path","required":true,"description":"Category key (slug)","schema":{"type":"string"}},{"name":"language","in":"query","required":true,"description":"ko or en. Entities and questions are separate per language.","schema":{"type":"string","enum":["ko","en"]}},{"name":"region_id","in":"query","description":"A regions.id from /regions. Scopes the call to that region of the regional index; omit for the national index. An unknown id answers 400 UNKNOWN_REGION.","schema":{"type":"string"}},{"name":"limit","in":"query","description":"1 to 200, default 100","schema":{"type":"integer"}},{"name":"offset","in":"query","description":"Default 0","schema":{"type":"integer"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CategoryQuestionsResponse"}}}},"304":{"description":"Not modified (If-None-Match matched the ETag)"},"400":{"description":"Invalid parameter (VALIDATION_ERROR, UNKNOWN_REGION)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing, unknown, revoked or expired API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Key without the read scope, or used from an address outside its allowlist","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Per-key limit or daily quota exceeded (RATE_LIMITED, QUOTA_EXCEEDED); see X-RateLimit-*, X-Quota-* and Retry-After","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"The index did not answer in time; retry after Retry-After seconds","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{"bearer":[]}]}},"/categories/{key}/citations":{"get":{"summary":"Sources the answers of a category (and its descendants) cited in one week: domains with distinct answer, question and model counts, and each domain's most cited pages","parameters":[{"name":"key","in":"path","required":true,"description":"Category key (slug)","schema":{"type":"string"}},{"name":"language","in":"query","required":true,"description":"ko or en. Entities and questions are separate per language.","schema":{"type":"string","enum":["ko","en"]}},{"name":"week","in":"query","description":"Week start (Sunday, YYYY-MM-DD). Default: the latest week with citations for this category.","schema":{"type":"string"}},{"name":"limit","in":"query","description":"Domains, 1 to 50, default 20","schema":{"type":"integer"}},{"name":"urls","in":"query","description":"Pages per domain, 0 to 10, default 3","schema":{"type":"integer"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CategoryCitationsResponse"}}}},"304":{"description":"Not modified (If-None-Match matched the ETag)"},"400":{"description":"Invalid parameter (VALIDATION_ERROR, UNKNOWN_REGION)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing, unknown, revoked or expired API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Key without the read scope, or used from an address outside its allowlist","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Per-key limit or daily quota exceeded (RATE_LIMITED, QUOTA_EXCEEDED); see X-RateLimit-*, X-Quota-* and Retry-After","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"The index did not answer in time; retry after Retry-After seconds","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{"bearer":[]}]}},"/sources":{"get":{"summary":"Sources across the whole index in one week, the figures of the public sources page: per surface the cells asked, answers and citing answers, every source type with the answers citing it per surface, and the most cited domains per surface (2.6.0)","parameters":[{"name":"language","in":"query","required":true,"description":"ko or en. Entities and questions are separate per language.","schema":{"type":"string","enum":["ko","en"]}},{"name":"week","in":"query","description":"Week start (Sunday, YYYY-MM-DD). Default: the latest week with per-surface counts; a week without them falls back to it.","schema":{"type":"string"}},{"name":"scope","in":"query","description":"all (default, national and regional questions added up, as the public page shows them), national or regional","schema":{"type":"string","enum":["all","national","regional"]}},{"name":"limit","in":"query","description":"Domains, 1 to 100, default 50","schema":{"type":"integer"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SourcesResponse"}}}},"304":{"description":"Not modified (If-None-Match matched the ETag)"},"400":{"description":"Invalid parameter (VALIDATION_ERROR, UNKNOWN_REGION)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing, unknown, revoked or expired API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Key without the read scope, or used from an address outside its allowlist","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Per-key limit or daily quota exceeded (RATE_LIMITED, QUOTA_EXCEEDED); see X-RateLimit-*, X-Quota-* and Retry-After","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"The index did not answer in time; retry after Retry-After seconds","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{"bearer":[]}]}},"/questions/{slug}/results":{"get":{"summary":"One question: raw answers per model, entities, citations, 4-week cells. A regional slug carries its region; region_id, when given, must match.","parameters":[{"name":"slug","in":"path","required":true,"description":"Question slug","schema":{"type":"string"}},{"name":"language","in":"query","required":true,"description":"ko or en. Entities and questions are separate per language.","schema":{"type":"string","enum":["ko","en"]}},{"name":"region_id","in":"query","description":"A regions.id from /regions. Scopes the call to that region of the regional index; omit for the national index. An unknown id answers 400 UNKNOWN_REGION.","schema":{"type":"string"}},{"name":"week","in":"query","description":"Week start (Sunday, YYYY-MM-DD). Default: latest completed week.","schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QuestionResultsResponse"}}}},"304":{"description":"Not modified (If-None-Match matched the ETag)"},"400":{"description":"Invalid parameter (VALIDATION_ERROR, UNKNOWN_REGION)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing, unknown, revoked or expired API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Key without the read scope, or used from an address outside its allowlist","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Per-key limit or daily quota exceeded (RATE_LIMITED, QUOTA_EXCEEDED); see X-RateLimit-*, X-Quota-* and Retry-After","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"The index did not answer in time; retry after Retry-After seconds","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{"bearer":[]}]}},"/questions/{slug}/history":{"get":{"summary":"Weekly history of a question for one entity or its top 10","parameters":[{"name":"slug","in":"path","required":true,"description":"Question slug","schema":{"type":"string"}},{"name":"language","in":"query","required":true,"description":"ko or en. Entities and questions are separate per language.","schema":{"type":"string","enum":["ko","en"]}},{"name":"region_id","in":"query","description":"A regions.id from /regions. Scopes the call to that region of the regional index; omit for the national index. An unknown id answers 400 UNKNOWN_REGION.","schema":{"type":"string"}},{"name":"entity","in":"query","description":"Entity id or slug","schema":{"type":"string"}},{"name":"weeks","in":"query","description":"1 to 104, default 26","schema":{"type":"integer"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QuestionHistoryResponse"}}}},"304":{"description":"Not modified (If-None-Match matched the ETag)"},"400":{"description":"Invalid parameter (VALIDATION_ERROR, UNKNOWN_REGION)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing, unknown, revoked or expired API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Key without the read scope, or used from an address outside its allowlist","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Per-key limit or daily quota exceeded (RATE_LIMITED, QUOTA_EXCEEDED); see X-RateLimit-*, X-Quota-* and Retry-After","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"The index did not answer in time; retry after Retry-After seconds","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{"bearer":[]}]}},"/questions/results":{"get":{"summary":"Latest results for up to 50 questions","parameters":[{"name":"slugs","in":"query","required":true,"description":"Comma-separated question slugs, at most 50","schema":{"type":"string"}},{"name":"language","in":"query","required":true,"description":"ko or en. Entities and questions are separate per language.","schema":{"type":"string","enum":["ko","en"]}},{"name":"region_id","in":"query","description":"A regions.id from /regions. Scopes the call to that region of the regional index; omit for the national index. An unknown id answers 400 UNKNOWN_REGION.","schema":{"type":"string"}},{"name":"updated_since","in":"query","description":"ISO 8601 time. Questions not measured after it are listed in `unchanged`.","schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkResultsResponse"}}}},"304":{"description":"Not modified (If-None-Match matched the ETag)"},"400":{"description":"Invalid parameter (VALIDATION_ERROR, UNKNOWN_REGION)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing, unknown, revoked or expired API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Key without the read scope, or used from an address outside its allowlist","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Per-key limit or daily quota exceeded (RATE_LIMITED, QUOTA_EXCEEDED); see X-RateLimit-*, X-Quota-* and Retry-After","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"The index did not answer in time; retry after Retry-After seconds","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{"bearer":[]}]}},"/models":{"get":{"summary":"The panel in effect for an index: each surface's weight (0 to 1) and since when it has held it, then the surfaces that left","parameters":[{"name":"language","in":"query","required":true,"description":"ko or en. Entities and questions are separate per language.","schema":{"type":"string","enum":["ko","en"]}},{"name":"scope","in":"query","description":"national (default) or regional (Korean only)","schema":{"type":"string","enum":["national","regional"]}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ModelsResponse"}}}},"304":{"description":"Not modified (If-None-Match matched the ETag)"},"400":{"description":"Invalid parameter (VALIDATION_ERROR, UNKNOWN_REGION)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing, unknown, revoked or expired API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Key without the read scope, or used from an address outside its allowlist","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Per-key limit or daily quota exceeded (RATE_LIMITED, QUOTA_EXCEEDED); see X-RateLimit-*, X-Quota-* and Retry-After","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"The index did not answer in time; retry after Retry-After seconds","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{"bearer":[]}]}},"/methodology":{"get":{"summary":"Current and next methodology version","parameters":[{"name":"language","in":"query","required":false,"description":"Default ko","schema":{"type":"string","enum":["ko","en"]}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MethodologyResponse"}}}},"304":{"description":"Not modified (If-None-Match matched the ETag)"},"400":{"description":"Invalid parameter (VALIDATION_ERROR, UNKNOWN_REGION)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing, unknown, revoked or expired API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Key without the read scope, or used from an address outside its allowlist","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Per-key limit or daily quota exceeded (RATE_LIMITED, QUOTA_EXCEEDED); see X-RateLimit-*, X-Quota-* and Retry-After","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"The index did not answer in time; retry after Retry-After seconds","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{"bearer":[]}]}},"/regions":{"get":{"summary":"Regions and the (leaf, region) pairs measured in each, with the publish gate of each pair","parameters":[{"name":"language","in":"query","required":true,"description":"ko or en. Entities and questions are separate per language.","schema":{"type":"string","enum":["ko","en"]}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegionsResponse"}}}},"304":{"description":"Not modified (If-None-Match matched the ETag)"},"400":{"description":"Invalid parameter (VALIDATION_ERROR, UNKNOWN_REGION)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing, unknown, revoked or expired API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Key without the read scope, or used from an address outside its allowlist","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Per-key limit or daily quota exceeded (RATE_LIMITED, QUOTA_EXCEEDED); see X-RateLimit-*, X-Quota-* and Retry-After","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"The index did not answer in time; retry after Retry-After seconds","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{"bearer":[]}]}},"/runs":{"get":{"summary":"Run status per week","parameters":[{"name":"language","in":"query","required":true,"description":"ko or en. Entities and questions are separate per language.","schema":{"type":"string","enum":["ko","en"]}},{"name":"scope","in":"query","description":"national (default) or regional","schema":{"type":"string","enum":["national","regional"]}},{"name":"weeks","in":"query","description":"1 to 26, default 4","schema":{"type":"integer"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RunsResponse"}}}},"304":{"description":"Not modified (If-None-Match matched the ETag)"},"400":{"description":"Invalid parameter (VALIDATION_ERROR, UNKNOWN_REGION)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing, unknown, revoked or expired API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Key without the read scope, or used from an address outside its allowlist","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Per-key limit or daily quota exceeded (RATE_LIMITED, QUOTA_EXCEEDED); see X-RateLimit-*, X-Quota-* and Retry-After","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"The index did not answer in time; retry after Retry-After seconds","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{"bearer":[]}]}}}}