# Memberships API

The Meeting Memberships APIs is used to manage the members, voters, participants and guests of a meeting.

# Member Endpoints

Think of a member as the official voting entity. In some Condos and HOAs, an individual suite or unit would be considered a member. An entity may have multiple contacts (or voters as we like to say) associated with it. For example, a member may have a work and personal email address that they'd like emails sent to. In a condo unit or HOA suite, the voters may be co-owners.

# Create a member

Create a member.

POST /Meetings/{shortCode}/members

# Path Params

Property Type Description
shortCode string The meeting's unique short code

# Request

{
  "unit": "Suite 100",
  "mailAddress1": "432 Shelbyville Street",
  "mailAddress2": "Unit 33",
  "mailCity": "Shelbyville",
  "mailProv": "MO",
  "mailPostal": "35353",
  "mailCountry": "USA",
  "customData": "{}",
  "hasLiveVotes": true,
  "controlNumber": "24c6e105a8757a642866",
  "eligible": true,
  "shares": 1
}
Property Type Description
unit string Unit identifier (required, unique)
mailAddress1 string Optional address 1
mailAddress2 string Optional address 2
mailCity string Optional city
mailProv string Optional state / province
mailPostal string Optional postal code
mailCountry string Optional country
customData object (WIP)
hasLiveVotes boolean (WIP)
controlNumber string Unique number used to self-register contacts
eligible boolean If true, this member is eligible to vote
shares number Vote weight or number of shares (fractional numbers supported)

# Response

{
  "key": "b8eba1a0-8939-4a4b-a6ab-e518a0d4a0a6",
  "unit": "Suite 100",
  "mailAddress1": "432 Shelbyville Street",
  "mailAddress2": "Unit 33",
  "mailCity": "Shelbyville",
  "mailProv": "MO",
  "mailPostal": "35353",
  "mailCountry": "USA",
  "customData": "{}",
  "hasLiveVotes": true,
  "controlNumber": "24c6e105a8757a642866",
  "eligible": true,
  "shares": 1,
  "voters": [
    {
      "name": "Super Nintendo Chalmers",
      "email": "chalmers@springfieldelementary.com",
      "attending": true,
      "inAttendance": true,
      "communicationPreferences": {
        "disableAllEmails": true,
        "disableConsentReminders": true
      },
      "lastInviteDate": "2022-07-13T20:14:48.488Z",
      "isPanelist": true
    }
  ],
  "createdAt": "2018-02-22T19:05:04.931Z",
  "updatedAt": "2018-02-22T19:05:04.931Z"
}

# List meeting members

List the members for a meeting

GET /Meetings/{shortCode}/members

# Query Params

Property Type Description
searchText string Filter by meeting names that contain the specified search text
filters string Comma-delimited string of properties to filter on
page number Starting page number
size number Size of the page. Default 25. Min 1. Max 100.
sortBy string Property to sort on
sortOrder string Sort asc or desc

# Response

[
  {
    "key": "b8eba1a0-8939-4a4b-a6ab-e518a0d4a0a6",
    "unit": "Suite 100",
    "mailAddress1": "432 Shelbyville Street",
    "mailAddress2": "Unit 33",
    "mailCity": "Shelbyville",
    "mailProv": "MO",
    "mailPostal": "35353",
    "mailCountry": "USA",
    "customData": "{}",
    "hasLiveVotes": true,
    "controlNumber": "24c6e105a8757a642866",
    "eligible": true,
    "shares": 1,
    "voters": [
      {
        "voterKey": "58a0ff38-5eea-41c9-a7c3-af54968c2476",
        "name": "Super Nintendo Chalmers",
        "email": "chalmers@springfieldelementary.com",
        "attending": true,
        "inAttendance": true,
        "communicationPreferences": {
          "disableAllEmails": true,
          "disableConsentReminders": true
        },
        "lastInviteDate": "2022-07-13T20:14:48.488Z",
        "isPanelist": true
      }
    ],
    "createdAt": "2018-02-22T19:05:04.931Z",
    "updatedAt": "2018-02-22T19:05:04.931Z"
  }
]

# Find a meeting member

Find a meeting member

GET /Meetings/{shortCode}/members/{memberKey}

# Path Params

Property Type Description
shortCode string The meeting's unique short code
memberKey string The member ID

# Response

{
  "key": "b8eba1a0-8939-4a4b-a6ab-e518a0d4a0a6",
  "unit": "Suite 100",
  "mailAddress1": "432 Shelbyville Street",
  "mailAddress2": "Unit 33",
  "mailCity": "Shelbyville",
  "mailProv": "MO",
  "mailPostal": "35353",
  "mailCountry": "USA",
  "customData": "{}",
  "hasLiveVotes": true,
  "controlNumber": "24c6e105a8757a642866",
  "eligible": true,
  "shares": 1,
  "voters": [
    {
      "name": "Super Nintendo Chalmers",
      "email": "chalmers@springfieldelementary.com",
      "attending": true,
      "inAttendance": true,
      "communicationPreferences": {
        "disableAllEmails": true,
        "disableConsentReminders": true
      },
      "lastInviteDate": "2022-07-13T20:14:48.488Z",
      "isPanelist": true
    }
  ],
  "createdAt": "2018-02-22T19:05:04.931Z",
  "updatedAt": "2018-02-22T19:05:04.931Z"
}

# Update member

Update member info

PATCH /Meetings/{shortCode}/members/{memberKey}

# Path Params

Property Type Description
shortCode string The meeting's unique short code
memberKey string The member ID

# Request

{
  "unit": "Suite 100",
  "mailAddress1": "432 Shelbyville Street",
  "mailAddress2": "Unit 33",
  "mailCity": "Shelbyville",
  "mailProv": "MO",
  "mailPostal": "35353",
  "mailCountry": "USA",
  "customData": "{}",
  "hasLiveVotes": true,
  "controlNumber": "24c6e105a8757a642866",
  "eligible": true,
  "shares": 1
}
Property Type Description
unit string Unit identifier (required, unique)
mailAddress1 string Optional address 1
mailAddress2 string Optional address 2
mailCity string Optional city
mailProv string Optional state / province
mailPostal string Optional postal code
mailCountry string Optional country
customData object (WIP)
hasLiveVotes boolean (WIP)
controlNumber string Unique number used to self-register contacts
eligible boolean If true, this member is eligible to vote
shares number Vote weight or number of shares (fractional numbers supported)

# Response

{
  "key": "b8eba1a0-8939-4a4b-a6ab-e518a0d4a0a6",
  "unit": "Suite 100",
  "mailAddress1": "432 Shelbyville Street",
  "mailAddress2": "Unit 33",
  "mailCity": "Shelbyville",
  "mailProv": "MO",
  "mailPostal": "35353",
  "mailCountry": "USA",
  "customData": "{}",
  "hasLiveVotes": true,
  "controlNumber": "24c6e105a8757a642866",
  "eligible": true,
  "shares": 1,
  "voters": [
    {
      "voterKey": "58a0ff38-5eea-41c9-a7c3-af54968c2476",
      "name": "Super Nintendo Chalmers",
      "email": "chalmers@springfieldelementary.com",
      "attending": true,
      "inAttendance": true,
      "communicationPreferences": {
        "disableAllEmails": true,
        "disableConsentReminders": true
      },
      "lastInviteDate": "2022-07-13T20:14:48.488Z",
      "isPanelist": true
    }
  ],
  "createdAt": "2018-02-22T19:05:04.931Z",
  "updatedAt": "2018-02-22T19:05:04.931Z"
}

# Delete member

Delete a member

DELETE /Meetings/{shortCode}/members/{memberKey}

# Path Params

Property Type Description
shortCode string The meeting's unique short code
memberKey string The member ID

# Response

204 No Content

# Voter Endpoints

Think of a voter as the contact information of a member . In some Condos and HOAs, an individual suite or unit would be considered the member. An entity may have multiple contacts (or voters as we like to say) associated with it. For example, a member may have a work and personal email address that they'd like emails sent to. In a condo unit or HOA suite, the voters may be co-owners.

# Create a member voter contact

Create a member voter contact.

POST /Meetings/{shortCode}/members/{memberKey}/voters

# Path Params

Property Type Description
shortCode string The meeting's unique short code
memberKey string The member ID

# Request

{
  "email": "chalmers@springfieldelementary.com",
  "name": "Super Nintendo Chalmers",
  "isPanelist": true
}
Property Type Description
email string Email of the voter (required)
name string Unit identifier (required)
isPanelist boolean If true, this contact will be elevated to the Panelist usertype in the Zoom Webinar

# Response

{
  "voterKey": "58a0ff38-5eea-41c9-a7c3-af54968c2476",
  "name": "Super Nintendo Chalmers",
  "email": "chalmers@springfieldelementary.com",
  "attending": true,
  "inAttendance": true,
  "communicationPreferences": {
    "disableAllEmails": true,
    "disableConsentReminders": true
  },
  "lastInviteDate": "2022-07-13T20:14:48.488Z",
  "isPanelist": true,
  "createdAt": "2018-02-22T19:05:04.931Z",
  "updatedAt": "2018-02-22T19:05:04.931Z"
}

# Find member voter contact

Find a member voter contact.

GET /Meetings/{shortCode}/members/{memberKey}/voters/{email}

# Path Params

Property Type Description
shortCode string The meeting's unique short code
memberKey string The member ID
email string The voter email

# Response

{
  "voterKey": "58a0ff38-5eea-41c9-a7c3-af54968c2476",
  "name": "Super Nintendo Chalmers",
  "email": "chalmers@springfieldelementary.com",
  "attending": true,
  "inAttendance": true,
  "communicationPreferences": {
    "disableAllEmails": true,
    "disableConsentReminders": true
  },
  "lastInviteDate": "2022-07-13T20:14:48.488Z",
  "isPanelist": true,
  "createdAt": "2018-02-22T19:05:04.931Z",
  "updatedAt": "2018-02-22T19:05:04.931Z"
}

# Update member voter contact

Update a member voter contact.

PATCH /Meetings/{shortCode}/members/{memberKey}/voters/{email}

# Path Params

Property Type Description
shortCode string The meeting's unique short code
memberKey string The member ID
email string The voter email

# Request

{
  "email": "chalmers@springfieldelementary.com",
  "name": "Super Nintendo Chalmers",
  "isPanelist": true
}
Property Type Description
email string Email of the voter (required)
name string Unit identifier (required)
isPanelist boolean If true, this contact will be elevated to the Panelist usertype in the Zoom Webinar

# Response

{
  "voterKey": "58a0ff38-5eea-41c9-a7c3-af54968c2476",
  "name": "Super Nintendo Chalmers",
  "email": "chalmers@springfieldelementary.com",
  "attending": true,
  "inAttendance": true,
  "communicationPreferences": {
    "disableAllEmails": true,
    "disableConsentReminders": true
  },
  "lastInviteDate": "2022-07-13T20:14:48.488Z",
  "isPanelist": true,
  "createdAt": "2018-02-22T19:05:04.931Z",
  "updatedAt": "2018-02-22T19:05:04.931Z"
}

# Delete a member voter contact

Delete a member voter contact

DELETE /Meetings/{shortCode}/members/{memberKey}/voters/{email}

# Path Params

Property Type Description
shortCode string The meeting's unique short code
memberKey string The member ID
email string The voter email

# Response

204 No Content

# Send meeting invite

Send a member voter an email invite to the meeting. The email itself will contain the details of the meeting, an iCal attachment and a link to the voter's meeting portal. From the meeting portal, the voter will be able to join the virtual meeting and/or cast their vote online.

POST /Meetings/{shortCode}/members/{memberKey}/voters/{email}/invite

# Path Params

Property Type Description
shortCode string The meeting's unique short code
memberKey string The member ID
email string The voter email

# Request

No request payload required

# Response

200 Success