{"files":{"SKILL.md":"---\nname: commons-votes-api\ndescription: \"Commons Votes API skill. Use when working with Commons Votes for data. Covers 5 endpoints.\"\nversion: 1.0.0\ngenerator: lapsh\n---\n\n# Commons Votes API\nAPI version: v1\n\n## Auth\nNo authentication required.\n\n## Base URL\nhttp://commonsvotes-api.parliament.uk\n\n## Setup\n1. No auth setup needed\n2. GET /data/division/{divisionId}.{format} -- return a division\n3. Explore available endpoints below\n\n## Endpoints\n5 endpoints across 1 group. See references/api-spec.lap for full details.\n\n### Data\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /data/division/{divisionId}.{format} | Return a Division |\n| GET | /data/divisions.{format}/groupedbyparty | Return Divisions results grouped by party |\n| GET | /data/divisions.{format}/membervoting | Return voting records for a Member |\n| GET | /data/divisions.{format}/search | Return a list of Divisions |\n| GET | /data/divisions.{format}/searchTotalResults | Return total results count |\n\n## Common Questions\nMatch user requests to endpoints in references/api-spec.lap. Key patterns:\n- \"Get division details?\" -> GET /data/division/{divisionId}.{format}\n- \"List all groupedbyparty?\" -> GET /data/divisions.{format}/groupedbyparty\n- \"List all membervoting?\" -> GET /data/divisions.{format}/membervoting\n- \"List all search?\" -> GET /data/divisions.{format}/search\n- \"List all searchTotalResults?\" -> GET /data/divisions.{format}/searchTotalResults\n\n## Response Tips\n- Check response schemas in references/api-spec.lap for field details\n- Error responses include status codes and descriptions in the spec\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 Commons Votes API\n@base http://commonsvotes-api.parliament.uk\n@version v1\n@endpoints 5\n@toc data(5)\n\n@endpoint GET /data/division/{divisionId}.{format}\n@desc Return a Division\n@required {divisionId: any # Id number of a Division whose records are to be returned, format: any # xml or json}\n@returns(200) OK\n@errors {400: BadRequest, 404: NotFound}\n\n@endpoint GET /data/divisions.{format}/groupedbyparty\n@desc Return Divisions results grouped by party\n@required {format: any # xml or json}\n@optional {queryParameters.searchTerm: any # Divisions containing search term within title or number, queryParameters.memberId: any # Divisions returning Member with Member ID voting records, queryParameters.includeWhenMemberWasTeller: any # Divisions where member was a teller as well as if they actually voted, queryParameters.startDate: any # Divisions where division date in one or after date provided. Date format is yyyy-MM-dd, queryParameters.endDate: any # Divisions where division date in one or before date provided. Date format is yyyy-MM-dd, queryParameters.divisionNumber: any # Division Number - as specified by the House, unique within a session. This is different to the division id which uniquely identifies a division in this system and is passed to the GET division endpoint}\n@returns(200) OK\n@errors {400: BadRequest}\n\n@endpoint GET /data/divisions.{format}/membervoting\n@desc Return voting records for a Member\n@required {format: any # xml or json, queryParameters.memberId: any # Id number of a Member whose voting records are to be returned}\n@optional {queryParameters.skip: any # The number of records to skip. Default is 0, queryParameters.take: any # The number of records to return per page. Default is 25, queryParameters.searchTerm: any # Divisions containing search term within title or number, queryParameters.includeWhenMemberWasTeller: any # Divisions where member was a teller as well as if they actually voted, queryParameters.startDate: any # Divisions where division date in one or after date provided. Date format is yyyy-MM-dd, queryParameters.endDate: any # Divisions where division date in one or before date provided. Date format is yyyy-MM-dd, queryParameters.divisionNumber: any # Division Number - as specified by the House, unique within a session. This is different to the division id which uniquely identifies a division in this system and is passed to the GET division endpoint}\n@returns(200) OK\n@errors {400: BadRequest}\n\n@endpoint GET /data/divisions.{format}/search\n@desc Return a list of Divisions\n@required {format: any # json or xml}\n@optional {queryParameters.skip: any # The number of records to skip. Default is 0, queryParameters.take: any # The number of records to return per page. Default is 25, queryParameters.searchTerm: any # Divisions containing search term within title or number, queryParameters.memberId: any # Divisions returning Member with Member ID voting records, queryParameters.includeWhenMemberWasTeller: any # Divisions where member was a teller as well as if they actually voted, queryParameters.startDate: any # Divisions where division date in one or after date provided. Date format is yyyy-MM-dd, queryParameters.endDate: any # Divisions where division date in one or before date provided. Date format is yyyy-MM-dd, queryParameters.divisionNumber: any # Division Number - as specified by the House, unique within a session. This is different to the division id which uniquely identifies a division in this system and is passed to the GET division endpoint}\n@returns(200) OK\n@errors {400: BadRequest}\n\n@endpoint GET /data/divisions.{format}/searchTotalResults\n@desc Return total results count\n@required {format: any # json or xml}\n@optional {queryParameters.searchTerm: any # Divisions containing search term within title or number, queryParameters.memberId: any # Divisions returning Member with Member ID voting records, queryParameters.includeWhenMemberWasTeller: any # Divisions where member was a teller as well as if they actually voted, queryParameters.startDate: any # Divisions where division date in one or after date provided. Date format is yyyy-MM-dd, queryParameters.endDate: any # Divisions where division date in one or before date provided. Date format is yyyy-MM-dd, queryParameters.divisionNumber: any # Division Number - as specified by the House, unique within a session. This is different to the division id which uniquely identifies a division in this system and is passed to the GET division endpoint}\n@returns(200) OK\n@errors {400: BadRequest}\n\n@end\n"}}