LibraryOfCongress / api.congress.gov

congress.gov API
642 stars 39 forks source link

(committee-meeting details API): conferee meetings #190

Open ryparker opened 8 months ago

ryparker commented 8 months ago

I had expected that every response from the committee-meeting API would have a committee associated with it, however I've found a conferee meeting that does not have a committee.

It might be worth mentioning this in the API docs.

Long term, it might be worth creating another endpoint for conferee meetings as well as an id for each conferee.

Here's an example curl 'https://api.congress.gov/v3/committee-meeting/118/senate/335180?format=json&api_key=<REPLACE_ME>'

Response:

{
    "committeeMeeting": {
        "chamber": "Senate",
        "congress": 118,
        "date": "2023-11-29 14:30:00+00:00",
        "eventId": "335180",
        "location": {
            "building": "Dirksen Senate Office Building",
            "room": "G50"
        },
        "meetingDocuments": [
            {
                "description": "A bill to authorize appropriations for fiscal year 2024 for military activities of the Department of Defense and for military construction, and for defense activities of the Department of Energy, to prescribe military personnel strengths for such fiscal year, and for other purposes.",
                "documentType": "Bills and Resolutions"
            }
        ],
        "meetingStatus": "Scheduled",
        "relatedItems": {
            "bills": [
                {
                    "congress": 118,
                    "number": "2670",
                    "type": "HR",
                    "url": "https://api.congress.gov/v3/bill/118/hr/2670?format=json"
                }
            ]
        },
        "title": "Meeting of conferees on H.R.2670, to authorize appropriations for fiscal year 2024 for military activities of the Department of Defense and for military construction, and for defense activities of the Department of Energy, to prescribe military personnel strengths for such fiscal year.",
        "type": "Meeting",
        "updateDate": "2023-11-28 03:08:38+00:00"
    },
    "request": {
        "chamber": "senate",
        "congress": "118",
        "contentType": "application/json",
        "eventId": "335180",
        "format": "json"
    }
}

Notice there's no committees prop in this committee-meeting response. There's also no clear identifier of which conferee group this is. Say if I wanted to store this in my DB so that I may find all meetings that this conferee attended, there isn't a clear way to satisfy that query.

One solution i've considered is to find the first and only relatedItems.bills which in this case is HR2670. I'd then associate this meeting with the conferee associated with HR2670.

This solution assumes a few things:

Are my assumptions correct? Is there any guidance on how we might organize this meeting under a conferee entity?