{"openapi":"3.1.0","info":{"title":"Clarion Public API","version":"1.0.0","description":"Read-only access to the public Canadian government-relations record Clarion tracks: bills, jurisdictions, the who-to-lobby officials roster, and the unified GR calendar. Public reference data; anonymous requests need no authentication. Firm-plan workspaces may additionally authenticate with a bearer API key (Authorization: Bearer clr_live_…) for uncapped list depths and live (non-CDN-cached) responses, metered at 10000 requests/day/key (over-quota returns RFC 6585 429 with Retry-After). The same record is also served as an MCP server at POST /api/mcp (stateless streamable HTTP; tools: upcoming_calendar, search_bills, get_passage_outlook; same optional bearer keys). Verify against each record's official sourceUrl. The in-product intelligence layer (matching, the AI assistant, momentum/access-shift forecasting, compliance) is not exposed here."},"servers":[{"url":"/api/v1","description":"Relative to the host serving this descriptor"}],"security":[{},{"bearerApiKey":[]}],"paths":{"/calendar":{"get":{"summary":"Upcoming GR calendar","description":"Committee meetings + regulatory comment deadlines + tender/funding closes + chamber sitting days, soonest-first. JSON twin of /api/calendar.ics.","responses":{"200":{"description":"Upcoming events","content":{"application/json":{"schema":{"type":"object","properties":{"asOf":{"type":["string","null"],"description":"Server reference date (YYYY-MM-DD)"},"counts":{"type":"object","additionalProperties":{"type":"integer"}},"events":{"type":"array","items":{"$ref":"#/components/schemas/CalendarEvent"}}}}}}}}}},"/bills":{"get":{"summary":"List every tracked bill","description":"Federal + provincial/territorial, most-recently-active first. Optional server-side filters (applied identically for anonymous and keyed callers): jurisdiction, status, q.","parameters":[{"name":"jurisdiction","in":"query","required":false,"schema":{"type":"string","maxLength":200},"description":"Exact jurisdiction code, case-insensitive (e.g. ca, ca-on, ca-qc)."},{"name":"status","in":"query","required":false,"schema":{"type":"string","maxLength":200},"description":"Case-insensitive substring match on the bill status label."},{"name":"q","in":"query","required":false,"schema":{"type":"string","maxLength":200},"description":"Case-insensitive substring match across bill number + EN/FR titles."}],"responses":{"200":{"description":"Bills","content":{"application/json":{"schema":{"type":"object","properties":{"count":{"type":"integer"},"bills":{"type":"array","items":{"$ref":"#/components/schemas/BillListItem"}}}}}}}}}},"/bills/{slug}":{"get":{"summary":"One bill by slug","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string"},"example":"ca-bill-c-27"}],"responses":{"200":{"description":"Bill detail with stage timeline + transparent passage outlook","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BillDetail"}}}},"404":{"description":"Unknown slug"}}}},"/jurisdictions":{"get":{"summary":"List jurisdictions with tracked bills","responses":{"200":{"description":"Jurisdictions","content":{"application/json":{"schema":{"type":"object","properties":{"count":{"type":"integer"},"jurisdictions":{"type":"array","items":{"$ref":"#/components/schemas/Jurisdiction"}}}}}}}}}},"/jurisdictions/{code}":{"get":{"summary":"One jurisdiction + its recent bills","parameters":[{"name":"code","in":"path","required":true,"schema":{"type":"string"},"example":"ca-on"}],"responses":{"200":{"description":"Jurisdiction detail","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JurisdictionDetail"}}}},"404":{"description":"Unknown code or no bills"}}}},"/people":{"get":{"summary":"List tracked officials (who to lobby)","responses":{"200":{"description":"Officials","content":{"application/json":{"schema":{"type":"object","properties":{"count":{"type":"integer"},"people":{"type":"array","items":{"$ref":"#/components/schemas/OfficialListItem"}}}}}}}}}},"/people/{id}":{"get":{"summary":"One official + recent public activity","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Official detail (record + sponsored bills + statements + meetings)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OfficialDetail"}}}},"404":{"description":"Unknown id"}}}}},"components":{"securitySchemes":{"bearerApiKey":{"type":"http","scheme":"bearer","description":"Optional Firm-tier API key (clr_live_…), issued in Settings → API Keys. Anonymous requests serve the public tier unchanged; a valid key lifts the documented list caps, switches responses to Cache-Control: private, no-store, and meters usage at 10000 requests/day/key (X-RateLimit-Remaining on each keyed response; 429 + Retry-After when exhausted, window resets at UTC midnight)."}},"schemas":{"CalendarEvent":{"type":"object","properties":{"type":{"type":"string","enum":["committee","consultation","tender","funding","sitting"]},"id":{"type":"string"},"titleEn":{"type":["string","null"]},"titleFr":{"type":["string","null"]},"date":{"type":"string","description":"YYYY-MM-DD"},"jurisdictionCode":{"type":["string","null"]},"jurisdictionNameEn":{"type":["string","null"]},"jurisdictionNameFr":{"type":["string","null"]},"href":{"type":["string","null"],"description":"Authoritative external source"}}},"BillListItem":{"type":"object","properties":{"slug":{"type":"string","description":"Stable slug, e.g. ca-bill-c-27"},"number":{"type":"string"},"titleEn":{"type":["string","null"]},"titleFr":{"type":["string","null"]},"jurisdictionCode":{"type":"string"},"jurisdictionNameEn":{"type":"string"},"jurisdictionNameFr":{"type":["string","null"]},"level":{"type":"string","description":"federal | provincial | territorial | municipal"},"status":{"type":["string","null"]},"lastEventAt":{"type":["string","null"],"description":"YYYY-MM-DD of the last stage event"}}},"BillDetail":{"type":"object","description":"Bill record + stage events + transparent rule-based passage outlook (+ federal calibration range).","additionalProperties":true,"properties":{"slug":{"type":"string"},"number":{"type":"string"},"session":{"type":["string","null"]},"titleEn":{"type":["string","null"]},"titleFr":{"type":["string","null"]},"status":{"type":["string","null"]},"sponsorName":{"type":["string","null"]},"introducedAt":{"type":["string","null"]},"lastEventAt":{"type":["string","null"]},"summaryEn":{"type":["string","null"]},"summaryFr":{"type":["string","null"]},"sourceUrl":{"type":["string","null"]},"fullTextUrl":{"type":["string","null"]},"jurisdictionCode":{"type":"string"},"level":{"type":"string"},"events":{"type":"array","items":{"type":"object","additionalProperties":true}},"outlook":{"type":"object","properties":{"band":{"type":"string"},"reasons":{"type":"array","items":{"type":"string"}}}},"calibration":{"description":"Federal-only historical passage range; null otherwise.","oneOf":[{"type":"object","additionalProperties":true},{"type":"null"}]}}},"Jurisdiction":{"type":"object","properties":{"code":{"type":"string"},"nameEn":{"type":"string"},"nameFr":{"type":["string","null"]},"level":{"type":"string"},"billCount":{"type":"integer"}}},"JurisdictionDetail":{"type":"object","additionalProperties":true,"properties":{"code":{"type":"string"},"nameEn":{"type":"string"},"nameFr":{"type":["string","null"]},"level":{"type":"string"},"billCount":{"type":"integer"},"recentBills":{"type":"array","items":{"$ref":"#/components/schemas/BillListItem"}}}},"OfficialListItem":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"fullName":{"type":"string"},"role":{"type":["string","null"]},"jurisdictionCode":{"type":"string"},"level":{"type":"string"}}},"OfficialDetail":{"type":"object","additionalProperties":true,"properties":{"id":{"type":"string","format":"uuid"},"fullName":{"type":"string"},"role":{"type":["string","null"]},"party":{"type":["string","null"]},"riding":{"type":["string","null"]},"jurisdictionCode":{"type":"string"},"jurisdictionNameEn":{"type":"string"},"jurisdictionNameFr":{"type":["string","null"]},"level":{"type":"string"},"email":{"type":["string","null"]},"sponsoredBills":{"type":"array","items":{"type":"object","additionalProperties":true}},"statements":{"type":"array","items":{"type":"object","additionalProperties":true}},"meetings":{"type":"array","items":{"type":"object","additionalProperties":true}}}}}}}