Agenda Items
Purpose
Agenda items allow for detailed descriptions of specific meeting agenda items, including links to video and audio. Agenda items will normally be used to provide links to specific video segments where the agenda item is discussed, allowing end users to skip unrelated portions of meeting videos.
List Agenda Items
API Path - Public: api/v1/public/meeting-agenda-item/list.json
API Path - Authenticated: api/v1/authenticated/meeting-agenda-item/list.json
Request Type: GET
Description:
List Agenda Items
Field | Type | Description |
---|---|---|
Parameters | ||
agendaitemid | 12345 | The agenda item ID. |
meetingid | 12345 | The meeting ID associated with the agenda item. |
unpublished | include | For the authenticated path, unpublished=include may be used to include unpublished meetings in the results. Unpublished meetings will not be included by default. |
Sample Type | Data |
---|---|
Request | $url = 'https://sandbox1.teamaha.com/' . 'api/v1/authenticated/meeting-agenda-item/list.json'; $options['headers'] = array( 'Content-Type:application/json', 'Authorization: Basic '. base64_encode("username:password"), ); $options['query'] = array('unpublished' => 'include'); $query = ''; if (!empty($options['query'])) { $query = '?' . http_build_query($options['query']); } $curl = curl_init(); $curlopts = array( CURLOPT_URL => $url . $query, CURLOPT_RETURNTRANSFER => 1, CURLOPT_USERAGENT => 'APITEST', CURLOPT_HTTPHEADER => $options['headers'], ); curl_setopt_array($curl,$curlopts); $result = curl_exec($curl); curl_close($curl); print $result; |
Response | { "AgendaItems": [ { "AgendaItemID": "18251", "RevisionID": "30601", "Title": "Test Agenda Item 1", "Created": "2017-10-05 14:15:32", "Changed": "2017-10-05 14:15:32", "Visibility": "published", "Body": " |
Agenda Item Details
API Path - Public: api/v1/public/meeting-agenda-item/1234/details.json
API Path - Authenticated: api/v1/authenticated/meeting-agenda-item/1234/details.json
Request Type: GET
Description:
Agenda Item Details
Field | Type | Description |
---|---|---|
Parameters | ||
agendaitemid | 12345 | The agenda item ID. This should be provided in the URL path. |
meetingid | 12345 | The meeting ID associated with the agenda item (limited usefulness for this endpoint). |
unpublished | include | For the authenticated path, unpublished=include may be used to include unpublished meetings in the results. Unpublished meetings will not be included by default. |
Sample Type | Data |
---|---|
Request | $url = 'https://sandbox1.teamaha.com/' . 'api/v1/authenticated/meeting-agenda-item/18261,18271/details.json'; $options['headers'] = array( 'Content-Type:application/json', 'Authorization: Basic '. base64_encode("username:password"), ); $options['query'] = array('unpublished' => 'include'); $query = ''; if (!empty($options['query'])) { $query = '?' . http_build_query($options['query']); } $curl = curl_init(); $curlopts = array( CURLOPT_URL => $url . $query, CURLOPT_RETURNTRANSFER => 1, CURLOPT_USERAGENT => 'APITEST', CURLOPT_HTTPHEADER => $options['headers'], ); curl_setopt_array($curl,$curlopts); $result = curl_exec($curl); curl_close($curl); print $result; |
Response | { "AgendaItems": [ { "AgendaItemID": "18261", "RevisionID": "30611", "Title": "Test Agenda Item 2", "Created": "2017-10-05 14:19:56", "Changed": "2017-10-05 14:19:56", "Visibility": "published", "Body": " |
Create Agenda Item
API Path - Authenticated: api/v1/authenticated/meeting-agenda-item/create.json
Request Type: POST
Description:
Create Agenda Item
Field | Type | Description |
---|---|---|
Parameters | ||
data | JSON | The meeting agenda items to be created. |
Sample Type | Data |
---|---|
Code - Authenticated Request | $url = 'https://sandbox1.teamaha.com/' . 'api/v1/authenticated/meeting-agenda-item/create.json'; $options['headers'] = array( 'Content-Type:application/json', 'Authorization: Basic '. base64_encode("username:password"), ); //$options['query'] = array('unpublished' => 'include'); $query = ''; if (!empty($options['query'])) { $query = '?' . http_build_query($options['query']); } $data = <<<JSONDATA { "AgendaItems": [ { "Title": "Test unpublished agenda item 59e535c51afa3", "Visibility": "unpublished", "Body": "Test 59e535c51afa3", "BodySummary": "Summary 59e535c51afa3", "VideoLinks": [ { "Delta": 0, "VideoLinksURL": "https:\/\/www.google.com", "VideoLinksTitle": "Test Title 59e535c51b483" }, { "Delta": 1, "VideoLinksURL": "https:\/\/example.teamaha.com\/dashboard", "VideoLinksTitle": "Test Title 59e535c51b335" } ], "AudioLinks": [ { "Delta": 0, "AudioLinksURL": "https:\/\/www.google.com", "AudioLinksTitle": "Test Title 59e535c51b483" }, { "Delta": 1, "AudioLinksURL": "https:\/\/example.teamaha.com", "AudioLinksTitle": "Test Title 59e535c51b2ea" } ], "MeetingID": [ { "Delta": 0, "MeetingID": 18211 } ] } ] } JSONDATA; $options['headers'][] = 'Content-Length:' . strlen($data); $curl = curl_init(); $curlopts = array( CURLOPT_URL => $url . $query, CURLOPT_RETURNTRANSFER => 1, CURLOPT_USERAGENT => 'APITEST', CURLOPT_HTTPHEADER => $options['headers'], CURLOPT_POSTFIELDS => $data, CURLOPT_CUSTOMREQUEST => 'POST', ); curl_setopt_array($curl,$curlopts); $result = curl_exec($curl); curl_close($curl); print $result; |
Response | { "errors": [], "saved": { "AgendaItemID": [ "18501" ] } } |
Error Response | { "errors": [ { "id": "0002", "message": "Incorrect request type", "source": "" } ] } |
Update Agenda Item
API Path - Authenticated: api/v1/authenticated/meeting-agenda-item/update.json
Request Type: PATCH
Description:
Update Agenda Item
Field | Type | Description |
---|---|---|
Parameters | ||
data | JSON | The meeting agenda items to be updated. |
Sample Type | Data |
---|---|
Code - Authenticated Request | $url = 'https://sandbox1.teamaha.com/' . 'api/v1/authenticated/meeting-agenda-item/update.json'; $options['headers'] = array( 'Content-Type:application/json', 'Authorization: Basic '. base64_encode("username:password"), ); //$options['query'] = array('unpublished' => 'include'); $query = ''; if (!empty($options['query'])) { $query = '?' . http_build_query($options['query']); } $data = <<<JSONDATA { "AgendaItems": [ { "AgendaItemID": "18271", "Title": "Test unpublished agenda item 59e535c51afa3", "Visibility": "unpublished", "Body": "Test 59e535c51afa3", "BodySummary": "Summary 59e535c51afa3", "VideoLinks": [ { "Delta": 0, "VideoLinksURL": "https:\/\/www.google.com", "VideoLinksTitle": "Test Title 59e535c51b483" }, { "Delta": 1, "VideoLinksURL": "https:\/\/example.teamaha.com\/dashboard", "VideoLinksTitle": "Test Title 59e535c51b335" } ], "AudioLinks": [ { "Delta": 0, "AudioLinksURL": "https:\/\/www.google.com", "AudioLinksTitle": "Test Title 59e535c51b483" }, { "Delta": 1, "AudioLinksURL": "https:\/\/example.teamaha.com", "AudioLinksTitle": "Test Title 59e535c51b2ea" } ], "MeetingID": [ { "Delta": 0, "MeetingID": 18211 } ] } ] } JSONDATA; $options['headers'][] = 'Content-Length:' . strlen($data); $curl = curl_init(); $curlopts = array( CURLOPT_URL => $url . $query, CURLOPT_RETURNTRANSFER => 1, CURLOPT_USERAGENT => 'APITEST', CURLOPT_HTTPHEADER => $options['headers'], CURLOPT_POSTFIELDS => $data, CURLOPT_CUSTOMREQUEST => 'PATCH', ); curl_setopt_array($curl,$curlopts); $result = curl_exec($curl); curl_close($curl); print $result; |
Response | { "errors": [], "saved": { "AgendaItemID": [ "18271" ] } } |
Error Response | { "errors": [ { "id": "0002", "message": "Incorrect request type", "source": "" }, { "id": "0404", "message": "Not Found", "source": "AgendaItemID" } ] } |
Field Definitions
Field | Mandatory | Description |
---|---|---|
AgendaItemID | On Update | Unique numeric ID |
Title | Title of the agenda item. | |
Visibility | Published status, indicating whether the agenda item is visible to the public or only to staff. Allowed values: published, unpublished. | |
Body | Full body text to be displayed when the agenda item is viewed. | |
BodySummary | Summary text to be displayed instead of the full body when the agenda item is viewed in lists of content. | |
Delta (subfield) | On Update, usually | All multivalue fields use this subfield as an index. When creating new content, this field may be omitted. When updating, it may be omitted to add a value, but must be included to modify a pre-existing value. If Delta is used for one value in a multi-value field, it must be used for all values in the same field. |
MeetingID | Multivalue field (array) containing meeting ids this agenda item is associated with. Currently, an agenda item may only be associated with a single meeting. Sub-fields: Delta, MeetingID (contains the actual numeric MeetingID). | |
VideoLinks | Multivalue field containing links to videos (or video segments) related to the agenda item. Subfields: Delta, VideoLinksURL, VideoLinksTitle | |
VideoLinksURL (subfield) | If VideoLinks field exists | URL to the video (or video segment). Where possible, this should be entered either without protocol (//:) or as https (https://). |
VideoLinksTitle (subfield) | Title for the video (or video segment). | |
AudioLinks | Multivalue field containing links to audio recordings related to the agenda item. Subfields: Delta, AudioLinksURL, AudioLinksTitle | |
AudioLinksURL (subfield) | If AudioLinks field exists | URL to the audio recording. Where possible, this should be entered either without protocol (//:) or as https (https://). |
AudioLinksTitle (subfield) | Title for the audio recording. | |
AgendaItemOrigin | On Create | Unique descriptive identifier for the API client creating agenda items. |
OriginAgendaItemID | On Create | Unique agenda item ID from the third party system to allow agenda items to be cross-referenced. |