{"$id":"https://cumulativewebinc.github.io/cwi-learn/one-stop/one-stop-schema.json","$schema":"https://json-schema.org/draft/2020-12/schema","description":"Validation contract for every ONE-STOP sync-license grant (format cwi-grant/v1). A grant is issuable only when the fee tier is live: creator (live) passes; indie/commercial drafts must carry draft_mode:true and are NOT issuable until Black approves exact terms.","properties":{"countersignature":{"description":"Licensee countersignature block","properties":{"date":{"type":["string","null"]},"signature":{"type":["string","null"]},"status":{"enum":["awaiting-licensee","countersigned"]}},"required":["status"],"type":"object"},"draft_mode":{"description":"true when the grant sits on a draft tier or is otherwise not issuable","type":"boolean"},"fee":{"description":"Fee as string. Creator tier: '0'. Indie/commercial: 'terms pending approval'","type":"string"},"fee_tier":{"description":"Tier of the grant. indie/commercial are DRAFT — PENDING BLACK'S EXACT-TERMS APPROVAL, not issuable","enum":["creator","indie","commercial"]},"grant_format":{"const":"cwi-grant/v1","description":"Grant format identifier"},"grant_id":{"description":"Unique grant id","pattern":"^cwi-grant-[a-z0-9-]+$","type":"string"},"issued":{"description":"Grant issue date YYYY-MM-DD","pattern":"^\\d{4}-\\d{2}-\\d{2}$","type":"string"},"issuer":{"const":"Cumulative Web Inc","description":"Issuer of record"},"licensee":{"properties":{"contact":{"type":"string"},"name":{"type":"string"}},"required":["name"],"type":"object"},"media":{"description":"Distribution media","enum":["twitch","youtube","tiktok","instagram","x","podcast-feed","broadcast","film"]},"pre_clearance":{"description":"Issuer ownership attestation","properties":{"attested":{"type":"string"},"ownership":{"type":"string"},"statement":{"type":"string"}},"required":["attested","ownership","statement"],"type":"object"},"rights_line":{"const":"℗ Cumulative Web Inc — 100% master & publishing, pre-cleared","description":"Fixed rights line"},"term_months":{"description":"Grant duration in months","type":"integer"},"territory":{"anyOf":[{"const":"worldwide"},{"items":{"type":"string"},"type":"array"}],"description":"'worldwide' or list of ISO-3166 codes"},"track":{"properties":{"catalog_id":{"description":"Catalog id, pattern ^tbhh-\\d{3}$","pattern":"^tbhh-\\d{3}$","type":"string"},"title":{"type":"string"}},"required":["catalog_id","title"],"type":"object"},"use":{"description":"Sync use","enum":["stream-overlay","vod","short-form","live-intro","podcast","game-mod"]}},"required":["grant_format","grant_id","issuer","licensee","track","use","media","territory","term_months","fee_tier","fee","rights_line","pre_clearance","countersignature","draft_mode","issued"],"title":"ONE-STOP Grant Schema","type":"object"}