This is Version 1 of the API for votes.parliament.ge. Last updated on 2013-08-13.

All methods return JSON formatted data.

Only Parliament Members and laws passed during the 2012-2016 Parliament will be returned in this version of the API.

Notes:

  • The names are sorted in alphabetical order.
  • The Parliament voting system only records text in Georgian, therefore, even if you are using the English portion of the votes.parliament.ge API, all content will be in Georgian.

Members

URL: /api/v1/members

This method will get a list of all members in the system. This method is helpful to get the ID of a Parliament Member that is needed for input into the other methods provided in this API.

The return format will be like the following:

[
  {id: 1, name: "John Doe", start_date: null, end_date: null},
  {id: 2, name: "Jane Doe", start_date: null, end_date: "2013-11-27"},
  .
  .
  .
]

Notes:

  • start_date will be null if the Parliament Member started service when this session of Parliament began. Otherwise, a date in the format of 'yyyy-mm-dd' will be provided which indicates the date the Parliament Member started their service.
  • end_date will be null if the Parliament Member ended service when this session of Parliament finished. Otherwise, a date in the format of 'yyyy-mm-dd' will be provided which indicates the date the Parliament Member ended their service early.

Member Votes

URL: /api/v1/member_votes?member_id=1

This method will get a list of all laws a Parliament Member has voted on.

The query parameters for this method are the following:

  • member_id (required) - ID of Parliament Member to get vote records for.
  • with_laws (optional) - If 'true', all laws the Parliament Member has voted on will be returned. If 'false' or not provided, only a summary of the Parliament Member's vote history will be returned.
  • with_law_vote_summary (optional) - If 'true', a summary of each Session's vote will be provided. This summary includes the number of: yes votes, no votes, abstain votes, and the number of Member's absent.
  • passed_after (optional) - A date to get laws that were passed on or after this date. Date format is 'yyyy-mm-dd'. If the date is not in the correct format, the parameter will be ignored.
  • passed_before (optional) - A date to get laws that were passed on or before this date. Date format is 'yyyy-mm-dd'. If the date is not in the correct format, the parameter will be ignored.
  • made_public_after (optional) - A date to get laws that were made avialable to the public on votes.parliament.ge on or after this date. Date format is 'yyyy-mm-dd'. If the date is not in the correct format, the parameter will be ignored.
  • made_public_before (optional) - A date to get laws that were made avialable to the public on votes.parliament.ge on or before this date. Date format is 'yyyy-mm-dd'. If the date is not in the correct format, the parameter will be ignored.

The return format will be like the following:

{
  member:
  {
    internal_id,
    name,
    start_date, 
    end_date,
    vote_summary:
    {
      total_votes,
      yes_votes,
      no_votes,
      abstain_votes,
      absent,
    },
    laws: 
    [
      {
        law_id,
        internal_id,
        title,
        released_to_public_at
        sessions: 
        {
          session_1: 
          {
            date,
            present,
            vote,
            vote_summary: 
            {
              total_yes,
              total_no,
              total_abstain,
              total_absent
            }
          },
          session_2: 
          {
            date,
            present,
            vote,
            vote_summary: 
            {
              total_yes,
              total_no,
              total_abstain,
              total_absent
            }
          },
          session_3: 
          {
            date,
            present,
            vote,
            vote_summary: 
            {
              total_yes,
              total_no,
              total_abstain,
              total_absent
            }
          }
        }
      },
      .
      .
      .
    ]
  }
}

Notes:

  • The laws are sorted in descending order by the date in the session_3 hash.
  • If the querystring parameter with_laws is 'true', the laws array will be provided.
  • If the querystring parameter with_law_vote_summary is 'true', the vote_summary hash in the session_x hashes will be provided.
  • The querystring parameters passed_after and passed_before refer to the date value in the session_3 hash.
  • The querystring parameters made_public_after and made_public_before refer to the released_to_public_at value in the laws array.
  • The start_date in the member hash will be null if the Parliament Member started service when this session of Parliament began. Otherwise, a date in the format of 'yyyy-mm-dd' will be provided which indicates the date the Parliament Member started their service.
  • The end_date in the member hash will be null if the Parliament Member ended service when this session of Parliament finished. Otherwise, a date in the format of 'yyyy-mm-dd' will be provided which indicates the date the Parliament Member ended their service early.
  • The possible values for present in the session_x hashes are the following:
    • Yes
    • No
  • The possible values for vote in the session_x hashes are the following:
    • Yes
    • No
    • Abstain
    • Not Present
  • It is possible for a law to be passed after only 1 session of voting. When this occurs, only session_1 will be returned in the sessions hash.
  • The Parliament voting system does not allow a Parliament Member to vote 'Abstain', therefore, it is not possible to distinguish between 'Abstain' and 'Not Present'.