Skip to Content
DocsAPIMeeting Attendance

Meeting Attendance

Retrieve a paginated list of meeting attendance rows for your organization. This endpoint replaces the legacy CSV export and honours the same column-selection semantics.

Endpoint

  • GET: /api/v2/organizations/:id/meeting_attendance

Authentication

  • Authorization: Bearer <token> header
  • Token must resolve to the target organization via AuthorizeApiRequest

Required Query Parameters

NameTypeDescription
column[]Array<String>One or more column identifiers to include in the response. Only whitelisted attributes are returned; unsupported keys are ignored.

Supported Column Keys

  • mu_* meeting-user attributes (e.g. mu_registered, mu_joined_at, mu_waitlisted, mu_display_name)
  • pref_* preference attributes (e.g. pref_phone)
  • Meeting metadata keys: meeting_id, meeting_name, meeting_type, meeting_start_time, group_leader, member_id, standby_accepted, standby_offered
  • User attributes (whitelist only): id, email, first_name, last_name, user_id, idp_id
  • referral_company

All other fields are omitted even if requested. idp_id is only returned when the SSO is enabled for the organization.

Optional Query Parameters

NameTypeDefaultDescription
reporting_daysStringallDate presets: today, current_month, last_week, last_month, custom, all_past, all_upcoming, all.
start_timeStringRequired with reporting_days=custom. Format: MM/DD/YYYY HH:MM AM/PM.
end_timeStringRequired with reporting_days=custom. Same format as start_time.
pageInteger1Page number (1-indexed).
per_pageInteger25Items per page (clamped to Pagy max).

If both start_time and end_time are supplied (regardless of reporting_days), the service applies that explicit range filter.

Example Request

GET /api/v2/organizations/5/meeting_attendance?column[]=mu_registered&column[]=mu_joined_at&column[]=email&column[]=first_name&reporting_days=custom&start_time=11/01/2025%2008:00%20AM&end_time=11/30/2025%2005:00%20PM&page=1&per_page=25 Authorization: Bearer <token> Accept: application/json

Success Response

200 OK

{ "success": true, "metadata": { "page": 1, "per_page": 25, "total_pages": 3, "total_count": 72 }, "meeting_attendance": [ { "registered": true, "registered_at": "Monday, November 10, 2025, 09:00 AM UTC", "joined": true, "joined_at": "Monday, November 10, 2025, 08:58 AM UTC", "left_at": "Monday, November 10, 2025, 10:03 AM UTC", "email": "member@example.com", "first_name": "Taylor" } ] }

Error Responses

  • 422 Unprocessable Entity
    • { "error": "Parameter column must be a JSON array" }
    • { "error": "Parameter column must be present" }
  • 400 Bad Request
    • { "error": "<message>" } (also reported to Bugsnag with info severity)
  • 401 Unauthorized
    • Returned by Api::V2::ApplicationController when the token does not resolve to an organization

Notes

  • Pagination metadata is provided via Pagy; request successive pages to iterate through results.
  • Meeting attendance excludes group leaders by design and, for reporting_days=eap_meetings, enforces the existing EAP membership filters.
  • Explicit start_time/end_time filters use the same timezone-aware parsing as the reporting presets; invalid dates fall back to the unfiltered scope.
Last updated on