@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api Lords Votes API
@version v1
@endpoints 5
@toc data(5)

@endpoint GET /data/Divisions/{divisionId}
@required {divisionId: int(int32)}
@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]?}
@errors {400, 404, 503}

@endpoint GET /data/Divisions/searchTotalResults
@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)}
@returns(200)
@errors {400}

@endpoint GET /data/Divisions/search
@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, take: int(int32)=25}
@returns(200)
@errors {400, 503}

@endpoint GET /data/Divisions/membervoting
@required {MemberId: int(int32)}
@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, take: int(int32)=25}
@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]?}}
@errors {400, 503}

@endpoint GET /data/Divisions/groupedbyparty
@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)}
@returns(200) {divisionId: int(int32), number: int(int32), title: str?, date: str(date-time), contentCount: int(int32), notContentCount: int(int32), content: [map]?, notContent: [map]?}
@errors {400}

@end
