{"files":{"SKILL.md":"---\nname: lords-votes-api\ndescription: \"Lords Votes API skill. Use when working with Lords Votes for data. Covers 5 endpoints.\"\nversion: 1.0.0\ngenerator: lapsh\n---\n\n# Lords Votes API\nAPI version: v1\n\n## Auth\nNo authentication required.\n\n## Base URL\nNot specified.\n\n## Setup\n1. No auth setup needed\n2. GET /data/Divisions/searchTotalResults -- return total results count\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/Divisions/{divisionId} | Return a Division |\n| GET | /data/Divisions/searchTotalResults | Return total results count |\n| GET | /data/Divisions/search | Return a list of Divisions |\n| GET | /data/Divisions/membervoting | Return voting records for a Member |\n| GET | /data/Divisions/groupedbyparty | Return Divisions results grouped by party |\n\n## Common Questions\nMatch user requests to endpoints in references/api-spec.lap. Key patterns:\n- \"Get Division details?\" -> GET /data/Divisions/{divisionId}\n- \"List all searchTotalResults?\" -> GET /data/Divisions/searchTotalResults\n- \"List all search?\" -> GET /data/Divisions/search\n- \"List all membervoting?\" -> GET /data/Divisions/membervoting\n- \"List all groupedbyparty?\" -> GET /data/Divisions/groupedbyparty\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 Lords Votes API\n@version v1\n@endpoints 5\n@toc data(5)\n\n@endpoint GET /data/Divisions/{divisionId}\n@desc Return a Division\n@required {divisionId: int(int32) # Division with ID specified}\n@returns(200) {divisionId: int(int32), date: str(date-time), number: int(int32), notes: str?, title: str?, isWhipped: bool, isGovernmentContent: bool, authoritativeContentCount: int(int32), authoritativeNotContentCount: int(int32), divisionHadTellers: bool, tellerContentCount: int(int32), tellerNotContentCount: int(int32), memberContentCount: int(int32), memberNotContentCount: int(int32), sponsoringMemberId: int(int32)?, isHouse: bool?, isInquorate: bool, amendmentMotionNotes: str?, isGovernmentWin: bool?, remoteVotingStart: str(date-time)?, remoteVotingEnd: str(date-time)?, divisionWasExclusivelyRemote: bool, contentTellers: [map]?, notContentTellers: [map]?, contents: [map]?, notContents: [map]?} # Division with id matching given divisionId\n@errors {400: divisionId was not valid, 404: Division with given divisionId was not found, 503: Temporary error occured when trying to get division}\n\n@endpoint GET /data/Divisions/searchTotalResults\n@desc Return total results count\n@optional {SearchTerm: str, MemberId: int(int32), IncludeWhenMemberWasTeller: bool, StartDate: str(date-time), EndDate: str(date-time), DivisionNumber: int(int32), TotalVotesCast.Comparator: str, TotalVotesCast.ValueToCompare: int(int32), Majority.Comparator: str, Majority.ValueToCompare: int(int32)}\n@returns(200) Division with id matching given divisionId\n@errors {400: divisionId was not valid}\n\n@endpoint GET /data/Divisions/search\n@desc Return a list of Divisions\n@optional {SearchTerm: str, MemberId: int(int32), IncludeWhenMemberWasTeller: bool, StartDate: str(date-time), EndDate: str(date-time), DivisionNumber: int(int32), TotalVotesCast.Comparator: str, TotalVotesCast.ValueToCompare: int(int32), Majority.Comparator: str, Majority.ValueToCompare: int(int32), skip: int(int32)=0 # The number of records to skip. Must be a positive integer. Default is 0, take: int(int32)=25 # The number of records to return per page. Must be more than 0. Default is 25}\n@returns(200) List of divisions matching specified parameters\n@errors {400: A parameter was not valid, 503: Temporary error occured when trying to get division}\n\n@endpoint GET /data/Divisions/membervoting\n@desc Return voting records for a Member\n@required {MemberId: int(int32)}\n@optional {SearchTerm: str, IncludeWhenMemberWasTeller: bool, StartDate: str(date-time), EndDate: str(date-time), DivisionNumber: int(int32), TotalVotesCast.Comparator: str, TotalVotesCast.ValueToCompare: int(int32), Majority.Comparator: str, Majority.ValueToCompare: int(int32), skip: int(int32)=0 # The number of records to skip. Must be a positive integer. Default is 0, take: int(int32)=25 # The number of records to return per page. Must be more than 0. Default is 25}\n@returns(200) {memberId: int(int32), memberWasContent: bool, memberWasTeller: bool, publishedDivision: map{divisionId: int(int32), date: str(date-time), number: int(int32), notes: str?, title: str?, isWhipped: bool, isGovernmentContent: bool, authoritativeContentCount: int(int32), authoritativeNotContentCount: int(int32), divisionHadTellers: bool, tellerContentCount: int(int32), tellerNotContentCount: int(int32), memberContentCount: int(int32), memberNotContentCount: int(int32), sponsoringMemberId: int(int32)?, isHouse: bool?, isInquorate: bool, amendmentMotionNotes: str?, isGovernmentWin: bool?, remoteVotingStart: str(date-time)?, remoteVotingEnd: str(date-time)?, divisionWasExclusivelyRemote: bool, contentTellers: [map]?, notContentTellers: [map]?, contents: [map]?, notContents: [map]?}} # List of voting records for a member\n@errors {400: A parameter was not valid, 503: Temporary error occured when trying to get division}\n\n@endpoint GET /data/Divisions/groupedbyparty\n@desc Return Divisions results grouped by party\n@optional {SearchTerm: str, MemberId: int(int32), IncludeWhenMemberWasTeller: bool, StartDate: str(date-time), EndDate: str(date-time), DivisionNumber: int(int32), TotalVotesCast.Comparator: str, TotalVotesCast.ValueToCompare: int(int32), Majority.Comparator: str, Majority.ValueToCompare: int(int32)}\n@returns(200) {divisionId: int(int32), number: int(int32), title: str?, date: str(date-time), contentCount: int(int32), notContentCount: int(int32), content: [map]?, notContent: [map]?} # List of divisions with votes grouped by party\n@errors {400: A parameter was not valid}\n\n@end\n"}}