{"files":{"SKILL.md":"---\nname: canada-holidays-api\ndescription: \"Canada Holidays API skill. Use when working with Canada Holidays for api. Covers 6 endpoints.\"\nversion: 1.0.0\ngenerator: lapsh\n---\n\n# Canada Holidays API\nAPI version: 1.8.0\n\n## Auth\nNo authentication required.\n\n## Base URL\nhttps://canada-holidays.ca\n\n## Setup\n1. No auth setup needed\n2. GET /api/v1 -- verify access\n\n## Endpoints\n\n6 endpoints across 1 groups. See references/api-spec.lap for full details.\n\n### api\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /api/v1 | root |\n| GET | /api/v1/holidays | Get all holidays |\n| GET | /api/v1/provinces | Get all provinces |\n| GET | /api/v1/provinces/{provinceId} | Get a province or territory by abbreviation |\n| GET | /api/v1/holidays/{holidayId} | Get a holiday by id |\n| GET | /api/v1/spec | Get JSON schema |\n\n## Common Questions\n\nMatch user requests to endpoints in references/api-spec.lap. Key patterns:\n- \"List all api?\" -> GET /api/v1\n- \"List all holidays?\" -> GET /api/v1/holidays\n- \"List all provinces?\" -> GET /api/v1/provinces\n- \"Get province details?\" -> GET /api/v1/provinces/{provinceId}\n- \"Get holiday details?\" -> GET /api/v1/holidays/{holidayId}\n- \"List all spec?\" -> GET /api/v1/spec\n\n## Response Tips\n- Check response schemas in references/api-spec.lap for field details\n\n## CLI\n\n```bash\n# Update this spec to the latest version\nnpx @lap-platform/lapsh get canada-holidays-api -o references/api-spec.lap\n\n# Search for related APIs\nnpx @lap-platform/lapsh search canada-holidays-api\n```\n\n## References\n- Full spec: See references/api-spec.lap for complete endpoint details, parameter tables, and response schemas\n\n> Generated from the official API spec by [LAP](https://lap.sh)\n","references/api-spec.lap":"@lap v0.3\n# Machine-readable API spec. Each @endpoint block is one API call.\n@api Canada Holidays API\n@base https://canada-holidays.ca\n@version 1.8.0\n@endpoints 6\n@toc api(6)\n\n@endpoint GET /api/v1\n@desc root\n@returns(200) {message: str, _links: map{self: map{href: str}, holidays: map{href: str}, provinces: map{href: str}, spec: map{href: str}}} # OK\n\n@endpoint GET /api/v1/holidays\n@desc Get all holidays\n@optional {year: int=2023 # A calendar year, federal: str(1/0/true/false) # A boolean parameter. If true or 1, will return only federal holidays. If false or 0, will return no federal holidays., optional: str(1/0/true/false)=false # A boolean parameter. If false or 0 (default), will return only legislated holidays. If true or 1, will return optional holidays from Alberta and BC.}\n@returns(200) {holidays: [map]} # OK\n\n@endpoint GET /api/v1/provinces\n@desc Get all provinces\n@optional {year: int=2023 # A calendar year, optional: str(1/0/true/false)=false # A boolean parameter. If false or 0 (default), will return only legislated holidays. If true or 1, will return optional holidays from Alberta and BC.}\n@returns(200) {provinces: [map]} # OK\n\n@endpoint GET /api/v1/provinces/{provinceId}\n@desc Get a province or territory by abbreviation\n@optional {year: int=2023 # A calendar year, optional: str(1/0/true/false)=false # A boolean parameter (AB and BC only). If false or 0 (default), will return only legislated holidays. If true or 1, will return optional holidays from Alberta and BC.}\n@returns(200) {province: map{id: str, nextHoliday: map{id: int, date: str(date), nameEn: str, nameFr: str, federal: int(binary), observedDate: str(date), provinces: [map], optional: int(binary)}, provinces: [map], nameFr: str, nameEn: str, sourceLink: str(uri), sourceEn: str, optional: int(binary)}} # OK\n@errors {400: Bad Request}\n\n@endpoint GET /api/v1/holidays/{holidayId}\n@desc Get a holiday by id\n@optional {year: int=2023 # A calendar year, optional: str(1/0/true/false)=false # A boolean parameter. If false or 0 (default), will return provinces for which this is a legislated holiday. If true or 1, will return provinces which optionally celebrate this holiday.}\n@returns(200) {holiday: map{id: int, date: str(date), nameEn: str, nameFr: str, federal: int(binary), observedDate: str(date), provinces: [map], optional: int(binary)}} # OK\n@errors {400: Bad Request}\n\n@endpoint GET /api/v1/spec\n@desc Get JSON schema\n@returns(200) OK\n\n@end\n"}}