# 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 |
|---|---|---|
| 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 |
| 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 |
| string | The voter email |
# Request
{
"email": "chalmers@springfieldelementary.com",
"name": "Super Nintendo Chalmers",
"isPanelist": true
}
| Property | Type | Description |
|---|---|---|
| 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 |
| 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 |
| string | The voter email |
# Request
No request payload required
# Response
200 Success