Introduction
Hello, world. Please find code examples below.
Please find below the full documentation for the MetaMeetings API, version 1.0. The purpose of the API is to allow uers the ability to view, update, create, and delete database information related to events, allowing for quicker operations than using metameetings.net.
We have language binding in Shell. You can view code examples in the dark area to the right.
Please direct questions to support[at]mapdigital.com.
Authentication
curl https://username:password@client.metameetings.net/api/v1/request.json
The following need to be substituted specific to your request: username, password, client, and request.
The MetaMeetings API is accessed through HTTP Basic Authentication. All features are only available to Administrators and Event Managers. To perform operations, you will need to include your username (email) and password in the http request.
Pagination
#format your get requests as follows
curl https://client.metameetings.net/api/v1/request.json?page=2&per_page=10
#here is an example
curl https://john.smith%40acme.com:abc123@acme.metameetings.net/api/v1/companies.json?page=2&per_page=10
The above command returns JSON structured like this:
{
"companies": [
{
"id": 1,
"name": "Foo",
"urls": {
"json": "https://acme.metameetings.net/api/v1/companies/1.json"
}
},
{ },
{ },
],
"paging": {
"last": "https://acme.metameetings.net/api/v1/companies.json?page=3&per_page=10",
"next": "https://acme.metameetings.net/api/v1/companies.json?page=3&per_page=10",
"previous": "https://acme.metameetings.net/api/v1/companies.json?page=1&per_page=10",
"per_page": 10,
"current": 2,
"total": 3
}
}
Requests that return multiple items will be paginated to 30 items by default. You can specify further pages with the page parameter and a custom page size with the per_page parameter.
Paging section is at the end of results and contains following attributes -
| Attribute | Description |
|---|---|
| last | The link for the last page of results. |
| next | The link for the next page of results. |
| previous | The link for the previous page of results. |
| per_page | The page size of results. |
| current | The current page number of results. |
| total | The total pages of results. |
Note that page numbering is 1-based and that omitting the page parameter will return the first page.
Ping
curl https://client.metameetings.net/api/v1/ping.json
The request should return the following JSON object. And, if not, a detailed error message explaining what needs to be fixed:
{
"hello": "world"
}
To check that you are able to access the MetaMeetings API and that your credentials are correct, it is recommended to start with a ‘ping’. Submit this simple GET request to ensure that all set up is corrent.
If everything is in order, the response will be a JSON object with the key ‘hello’ and the value ‘world’. It will have a status code of 200. If anything is incorrect, you will receive an error message with details of what went wrong–which should help you debug for another attempt.
Events
Read All Events [Index]
#format your get requests as follows
curl https://client.metameetings.net/api/v1/events.json
#here is an example
curl https://john.smith%40acme.com:abc123@acme.metameetings.net/api/v1/events.json
You can also pass an optional param called whence to return only past, current, or upcoming events
curl https://john.smith%40acme.com:abc123@acme.metameetings.net/api/v1/events.json?whence=upcoming
The above command returns JSON structured like this:
[
{
"events":[
{
"id":80,
"title":"Annual General Meeting",
"starts_on":"2016-01-01",
"ends_on":"2016-01-07",
"slug":"annual-general-meeting",
"location":"Convention Center",
"address":"123 Main St",
"time_zone":"America/New_York",
"state":"published",
"client_event_id": 12345,
"urls":{
"html":"https://acme.metameetings.net/events/annual-general-meeting",
"json":"https://acme.metameetings.net/api/v1/events/annual-general-meeting.json"
}
},
{ },
{ },
{ }
],
"paging":{
"last": "https://acme.metameetings.net/api/v1/events.json?page=8",
"next": "https://acme.metameetings.net/api/v1/events.json?page=2",
"previous": null,
"per_page": 30,
"current": 1,
"total": 8
}
}
]
This endpoint will allow you to see all events. A summary of information for each event will be provided. For more detailed infomation on each event, use the show method (detailed below) or use the json link to the specific event provided with this call.
The results of the index page are paginated with up to 30 events on each page, for consideration of performance and memory usage. For ease of use, the JSON object that is returned provides the location of the next, previous, and last page of results.
Read An Event [Show]
#format your get requests as follows
curl https://client.metameetings.net/api/v1/events/slug.json
#here is an example
curl https://acme.metameetings.net/api/v1/events/annual-general-meeting.json
For jpmorgan you can also use their event ids:
curl https://jpmorgan.metameetings.net/api/v1/events/nil.json?client_event_id=12443
The above command returns JSON structured like this:
{
"id":80,
"title":"Annual General Meeting",
"starts_on":"2016-01-01",
"ends_on":"2016-01-07",
"created_at":"2014-01-01T00:00:00.000Z",
"updated_at":"2014-02-01T00:00:00.000Z",
"client_id":1,
"client_event_id": "12443",
"slug":"annual-general-meeting",
"location":"Convention Center",
"address":"123 Main St",
"setup_starts_at":2015-12-28T00:00:00.000Z,
"setup_ends_at":2015-12-31T00:00:00.000Z,
"connectivity_clause":null,
"time_zone":"America/New_York",
"anticipated_number_of_rooms":4,
"anticipated_number_of_speakers":20,
"anticipated_number_of_attendees":250,
"anticipated_number_of_sessions":6,
"state":"published",
"style":null,
"logged_in_teaser":"You have logged in.",
"logged_out_teaser":"You have logged out.",
"display_map":true,
"elevated_logged_out_teaser":null,
"ga_tracking_id":null,
"nav_layout":"top",
"client_event_id": 12345,
"event_pages":[
{
"event_page":{
"id":150,
"title":"Reports",
"body":"Please find the reports below",
"urls":{
"html":"https://acme.metameetings.net/events/annual-general-meeting/event_pages/150"
}
}
},
{ }
],
"rooms":[
{
"room":{
"id":400,
"name":"Ballroom",
"show_on_agenda":true,
"urls":{
"html":"https://acme.metameetings.net/events/annual-general-meeting/rooms/400-ballroom",
"json":"https://acme.metameetings.net/api/v1/events/annual-general-meeting/rooms/400-ballroom.json"
}
}
},
{ },
{ },
{ }
],
"schedulables":[
{
"schedulable":{
"id":2000,
"title": "Keynote",
"starts_at":"2016-01-02T08:00:00.000Z",
"duration":40,
"room_id":400,
"type": 'CompanyPresentation',
"client_session_id": 1234567,
"tags": ['Public', 'Locked']
"urls":{
"html":"https://acme.metameetings.net/events/annual-general-meeting/sessions/2000-test-session",
"json":"https://acme.metameetings.net/api/v1/events/annual-general-meeting/sessions/2000-test-session"
}
}
},
{ },
{ },
{ },
{ },
{ }
],
"transcription_template":null,
"session_setting":{
"id":32,
"duration":60,
"allow_webcast":true,
"allow_transcribe_media":true,
"allow_presentation_media":true,
"allow_ask_a_question":true,
"show_uploads_tab":true,
"webcast_format":"audio",
"webcasting_price_in_cents":100000
},
"floorplan": {
"id": 3200,
"urls": {
"html": "https://acme.metameetings.net/system/floorplan/assets/000/001/802/original/floorplan1.jpg"
}
},
"default_slide": {
"id": 140,
"urls": {
"html": "https://acme.metameetings.net/system/default_slides/assets/001/002/406/original/slide1.jpg"
}
}
}
This endpoint will return detailed informating about one event, and provide links to the html and json references of its children elements. This data is available to admins and event managers of the event.
Make A New Event [Create]
#format your get requests as follows
curl -X POST -d event[attribute]=value -d event[attribute]=value https://client.metameetings.net/api/v1/events.json
#here is an example
curl -X POST -d event[title]="Annual General Meeting" -d event[starts_on]="2016-01-01" -d event[ends_on]="2016-01-07" -d event[slug]="annual-general-meeting" -d event[time_zone]="America/New_York" https://john.smith%40acme.com:abc123@acme.metameetings.net/api/v1/events.json
The above command will return a status of 201 if correctly executed and the new event object.
This endpoint will create a new event. Please note that certain attributes are mandatory to create a new event.
Mandatory Parameters
| Parameter | Description |
|---|---|
| title | The name of the event. |
| starts_on | The day the event starts on. Must be in the format YYYY-MM-DD. |
| ends_on | The day the event ends on. Must be in the format YYYY-MM-DD. |
| slug | A unique identifier of the event that will appear in the url for the event. Must be one word composed of only alphanumeric characters and dashes. |
| time_zone | The time zone the event is taking place in. |
You are welcome to set as many additional attributes as desired.
Modify An Event [Update]
#format your get requests as follows
curl -X PUT -d event[attribute]=value https://client.metameetings.net/api/v1/events/slug.json
#here is an example
curl -X PUT -d event[title]="Semi-Annual General Meeting" https://john.smith%40acme.com:abc123@acme.metameetings.net/api/v1/events/annual-general-meeting.json
For jpmorgan you can also use their event ids:
curl -X PUT -d event[title]="Semi-Annual General Meeting" https://john.smith%40acme.com:abc123@jpmorgan.metameetings.net/api/v1/events/nil.json?client_event_id=12443
The above command will return a status of 200 if correctly executed and the updated event object.
This endpoint allows the modification of exisiting events. Just pass the attributes you want to update as key, value pairs in the parameters. This action is allowed for admins and event managers for the event being updated.
Delete An Event [Destroy]
#format your get requests as follows
curl -X DELETE https://client.metameetings.net/api/v1/events/slug.json
#here is an example
curl -X DELETE https://john.smith%40acme.com:abc123@acme.metameetings.net/api/v1/events/annual-general-meeting.json
For jpmorgan you can also use their event ids:
curl -X DELETE https://john.smith%40acme.com:abc123@jpmorgan.metameetings.net/api/v1/events/nil.json?client_event_id=12443
The above command will return a status of 200 if correctly executed and the deleted event object.
This endpoint allows the deletion of an exisiting event. This action is allowed for admins and event managers for the event being deleted.
Sessions
Read All Sessions [Index (JSON)]
#format your get requests as follows
curl https://client.metameetings.net/api/v1/events/slug/sessions.json
#here is an example
curl https://john.smith%40acme.com:abc123@acme.metameetings.net/api/v1/events/annual-general-meeting/sessions.json?title_contains=Motors&ondemand=yes&type=CompanyPresentation
The above command returns JSON structured like this:
[
{
"sessions":[
{
"id": 1,
"type": "CompanyPresentation",
"starts_at": "2016-01-01 16:00:00",
"ends_at": "2016-01-01 16:30:00",
"day": null,
"title": "MAP Session",
"description": null,
"disabled": false,
"room": "Grand Hall",
"check_in": 2,
"icons": {
"presentation_media_order": {
"url": "https://acme.metameetings.net/events/annual-general-meeting/sessions/1-keynote/media_options/1000/edit",
"class": "positive"
},
"webcast": {
"url": "https://acme.metameetings.net/events/annual-general-meeting/sessions/1-keynote/webcast_payment_forms/edit",
"class": "positive"
},
"laptop_and_media_test": {
"url": "https://acme.metameetings.net/events/annual-general-meeting/sessions/1-keynote",
"class": "neutral"
},
"presentation_media_uploaded": {
"url": "https://acme.metameetings.net/events/annual-general-meeting/sessions/1-keynote/presentation_elements",
"class": "negative"
},
"presentation_media_processed": {
"url": "https://acme.metameetings.net/events/annual-general-meeting/sessions/1-keynote/presentation_elements",
"class": "negative"
},
"images": {
"url": "https://acme.metameetings.net/events/annual-general-meeting/sessions/1-keynote/images",
"class": "neutral"
},
"push_to_room": {
"url": "https://acme.metameetings.net/events/annual-general-meeting/sessions/1-keynote/presentation_elements",
"class": "na"
},
"notes": {
"outstanding": 4,
"unreviewed": 3,
"url": "https://acme.metameetings.net/events/annual-general-meeting/sessions/1-keynote",
"class": "has_notes"
}
},
"has_elements": true,
"has_participations": true,
"urls": {
"html": "https://acme.metameetings.net/events/annual-general-meeting/sessions/1-keynote",
"json": "https://acme.metameetings.net/api/v1/events/annual-general-meeting/sessions/1-keynote.json"
}
},
{ },
{ },
{ }
],
"paging":{
"last": "https://acme.metameetings.net/api/v1/events/annual-general-meeting/sessions.json?page=4",
"next": "https://acme.metameetings.net/api/v1/events/annual-general-meeting/sessions.json?page=2",
"previous_page":null,
"per_page": 30,
"current": 1,
"total": 4
}
}
]
This endpoint will allow you to see all schedulables with the supplied filters applied. A summary of information for each schedulable will be provided. For more detailed infomation on each schedulable, use the show method (detailed below) or use the json link to the specific session provided with this call.
The results of the index page are paginated with up to 30 sessions on each page, for consideration of performance and memory usage. For ease of use, the JSON object that is returned provides the location of the next, previous, and last page of results.
You may also append a combination of the below filters to your request
Accepts a string
title_starts_with: Returns schedulables whose title starts with the specified string. If ‘other’ is used it will return all schedulables who begin with a non-alphabetic character
title_contains: Returns schedulables whose title contains the specified string
Accepts a string that corresponds to a Schedulable type
type: Returns schedulables that are of the specified type, eg. CompanyPresentation or LaptopAndMediaTest
Accepts one of the following strings: id, title, day, start_time, room
sort: Returns schedulables that are sorted by the specified value. The default sort value is by title
Accepts ‘desc’ or ‘asc’
direction: This is the direction in which schedulables are sorted by when coupled with a sort value. The default sort direction is ‘asc’
Accepts a room_id
room: Returns schedulables in the specified room
Accepts a date in yyyy-mm-dd format
on_day: Returns schedulables occuring on the specified date
Accepts a string in hh:mm format (Military time can be used, or you can append AM/PM eg. “01:00 PM”)
starts_after: Returns schedulables whose starts_at time is greater than the specified time
starts_before: Returns schedulables whose starts_at time is less than the specified time
Accepts a value of ‘yes’
ondemand: Returns all sessions whose webcast’s ondemand attribute is set to true
has_outstanding_notes: Returns all sessions who have 1 or more notes that are not yet marked as done
has_special_requests: Returns all sessions whose webcast’s special requests attribute is not null
has_sound: Returns all sessions whose media option’s has_sound and has_linked_sound attributes are true
with_fonts: Returns all sessions whose media option’s media_has_special_font attribute is true
with_separate_video: Returns all sessions whose media option’s media_has_seperate_video attribute is true
Accepts a value of ‘yes’ or ‘no’
disabled: Returns all disabled sessions when ‘yes’ is passed, and non-disabled sessions when ‘no’ is passed.
show_slides_during_webcast: Returns all sessions whose media option’s show_slides_during_webcast attribute is true when ‘yes’ is passed, and false or nil when ‘no’ is passed
has_presentation_media:
has_laptop_and_media_test: Returns all sessions whose media option’s has_presentation_media attribute is true when ‘yes’ is passed, and false or nil when ‘no’ is passed
is_webcasting: Returns all sessions who have a webcast when ‘yes’ is passed, and all sessions without a webcast when ‘no’ is passed.
has_video: Returns all sessions who’s media option’s has_video attribute is true when ‘yes’ is passed, and false or nil when ‘no’ is passed
with_slides: Returns all schedulables whose media option’s media_has_slides attribute is true when ‘yes’ is passed, and false or nil when ‘no’ is passed
jpegs_newer_than_latest_presentation_file: Returns all sessions whose most recent image is newer than it’s most recently approved element when ‘yes’, and the inverse when ‘no’
slides_downloadable: Returns all sessions whose media option’s slides_downloadable attribute is true when ‘yes’ is passed, and false or nil when ‘no’ is passed
has_images: Returns all sessions who have images when ‘yes’, and who have no images when ‘no’
has_latest_approved_presentation_file: Returns all sessions whose most recent element has been approved when ‘yes’, and who’s most recent element has not been approved when ‘no’
has_ask_a_question: Returns all sessions whose allow_ask_a_question attribute is true when ‘yes’, and false when ‘no’
qa_for_webcasting: Returns all sessions whose webcast has media files whose state attribute equals ‘published’ when ‘yes’, and whose state attribute does not equal ‘published’ or is nil when ‘no’
ordered_transcription: Returns all sessions whose webcast’s transcribe_media attribute is true when ‘yes’, and false or nil when ‘no’
using_own_windows_laptop: Returns all sessions whose media_option’s laptop_option attribute equals 1 when ‘yes’, and does not equal 1 or is nil when ‘no’
using_own_apple_laptop: Returns all sessions whose media_option’s laptop_option attribute equals 2 when ‘yes’, and does not equal 2 or is nil when ‘no’
using_podium_laptop: Returns all sessions whose media_option’s laptop_option attribute equals 0 when ‘yes’, and does not equal 0 or is nil when ‘no’
has_presentation_agreement: Returns all sessions who have a presentation agreement when ‘yes’, and who do not have a presentation agreement when ‘no’
Read All Sessions [Index (XLSX)]
#format your get requests as follows
curl https://client.metameetings.net/api/v1/events/slug/sessions.xlsx
#here is an example
curl https://john.smith%40acme.com:abc123@acme.metameetings.net/api/v1/events/annual-general-meeting/sessions.xlsx?title_contains=Motors&ondemand=yes&type=CompanyPresentation
The above command returns Excel File (.xlsx).
This endpoint will return an Excel File (.xlsx) containing all schedulables with the supplied filters applied.
You may also append a combination of the filters mentioned above in JSON Index to your request
The Excel File contains following columns related to a session:
| Id |
| Title |
| Day (YYYY-MM-DD) |
| Starts_at (HH:MM ‘AM/PM’) |
| Room |
Read A Session [Show]
#format your get requests as follows
curl https://client.metameetings.net/api/v1/events/slug/sessions/1.json
#here is an example
curl https://acme.metameetings.net/api/v1/events/annual-general-meeting/sessions/1.json
For jpmorgan you can also use their session ids:
curl https://jpmorgan.metameetings.net/api/v1/events/annual-general-meeting/sessions/nil.json?client_session_id=12443
The above command returns JSON structured like this:
{
"id": 1,
"event_id": 80,
"type": "CompanyPresentation",
"starts_at": "2016-01-01 16:00:00",
"duration": 40,
"day": null,
"title": "MAP Session",
"abbreviated_title": "MAP Sesh",
"description": "",
"disabled": false,
"room_count": null,
"room_note": null,
"hash_code": "42f35540b4f2cc38eccd9dd13b23a3a6",
"allow_webcast": true,
"client_session_id": "12443",
"parent_session_id": null,
"webcast_format": "audio",
"webcast_starts_at": "2016-01-01 16:00:00",
"webcast_duration": 40,
"imported": false,
"row_span": null,
"col_span": null,
"row_span_start": null,
"col_span_start": null,
"highlight_signage": true,
"allow_presentation_media": true,
"allow_ask_a_question": false,
"allow_transcribe_media": true,
"agenda_note": "(delayed by 15 min.)",
"show_on_signage": true,
"show_on_agenda": true,
"show_uploads_tab": true,
"room": {
"id": 1,
"name": "Town Ballroom",
"show_on_agenda": true,
"urls": {
"html": "https://acme.metameetings.net/events/annual-general-meeting/rooms/1-town-ballroom",
"json": "https://acme.metameetings.net/api/v1/events/annual-general-meeting/rooms/1-town-ballroom.json"
}
},
"check_in": {
"id": 4,
"created_at": "2016-07-22T11:55:27.000-04:00",
"checker": {
"id": 87,
"display_name": "John Doe"
}
},
"webcast": {
"id": 472,
"webcasting": true,
"ondemand_duration": "2016-10-16",
"urls": {
"html": "https://acme.metameetings.net/events/annual-general-meeting/sessions/7493-webcasting-test-session/webcast"
}
},
"media_option": {
"id": 323,
"will_have_presentation_media": true,
"show_slides_during_webcast": false
},
"presented_company": {
"id": 1,
"name": "Map Digital Inc.",
"urls": {
"json": "https://acme.metameetings.net/api/v1/companies/1.json"
}
},
"participants": [
{
"id": 1,
"name": "john.smith@example.com",
"role": ["Speaker", "Analyst"]
},
{ },
{ }
],
"icons": [{
"presentation_media_order": {
"url": "https://acme.metameetings.net/events/annual-general-meeting/sessions/1-map-session/media_options/1000/edit",
"class": "positive"
},
"webcast": {
"url": "https://acme.metameetings.net/events/annual-general-meeting/sessions/1-map-session/webcast_payment_forms/edit",
"class": "positive"
},
"laptop_and_media_test": {
"url": "https://acme.metameetings.net/events/annual-general-meeting/sessions/1-map-session",
"class": "neutral"
},
"presentation_media_uploaded": {
"url": "https://acme.metameetings.net/events/annual-general-meeting/sessions/1-map-session/presentation_elements",
"class": "negative"
},
"presentation_media_processed": {
"url": "https://acme.metameetings.net/events/annual-general-meeting/sessions/1-map-session/presentation_elements",
"class": "negative"
},
"images": {
"url": "https://acme.metameetings.net/events/annual-general-meeting/sessions/1-map-session/images",
"class": "neutral"
},
"push_to_room": {
"url": "https://acme.metameetings.net/events/annual-general-meeting/sessions/1-map-session/presentation_elements",
"class": "na"
},
"notes": {
"outstanding": 4,
"unreviewed": 3,
"url": "https://acme.metameetings.net/events/annual-general-meeting/sessions/1-map-session",
"class": "has_notes"
}
}],
"tags": ['Public', 'Locked'],
"has_elements": true,
"has_participations": true
}
This endpoint will return detailed informating about one session, and provide links to the html and json references of its children elements. This data is available to admins and event managers of the event.
Make A New Session [Create]
#format your get requests as follows
curl -X POST -d session[attribute]=value -d session[attribute]=value https://client.metameetings.net/api/v1/events/slug/sessions.json
#here is an example
curl -X POST -d session[title]="MAP Session" -d session[type]="CompanyPresentation" -d session[starts_at]="2016-01-01 16:00:00" -d session[duration]=40 -d session[room_id]=1 -d session[presented_company_id]=1 https://john.smith%40acme.com:abc123@acme.metameetings.net/api/v1/events/annual-general-meeting/sessions.json
The above command will return a status of 201 if correctly executed and the new session object.
This endpoint will create a new session. Please note that certain attributes are mandatory to create a new session.
Mandatory Parameters
| Parameter | Description |
|---|---|
| title | The name of the session. |
| starts_at | The datetime the session starts at. Must be in the format YYYY-MM-DD HH:mm:ss. |
| duration | The duration in minutes that the session will last for. |
You are welcome to set as many additional attributes as desired.
Modify A Session [Update]
#format your get requests as follows
curl -X PUT -d session[attribute]=value https://client.metameetings.net/api/v1/events/slug/sessions/1.
#here is an example
curl -X PUT -d session[description]="This is a company presentation" https://john.smith%40acme.com:abc123@acme.metameetings.net/api/v1/events/annual-general-meeting/sessions/1.json
For jpmorgan you can also use their session ids:
curl -X PUT -d session[description]="This is a company presentation" https://john.smith%40acme.com:abc123@jpmorgan.metameetings.net/api/v1/events/annual-general-meeting/sessions/nil.json?client_session_id=12443
The above command will return a status of 200 if correctly executed and the updated session object.
This endpoint allows the modification of exisiting session. Just pass the attributes you want to update as key, value pairs in the parameters. This action is allowed for admins and event managers for the event being updated.
Modify A Collection of Sessions [Bulk Update]
#format your get requests as follows
curl -X POST -d session_ids[]=1234 -d session_ids[]=1235 -d session[attribute]=value https://client.metameetings.net/api/v1/events/slug/sessions/bulk_update.
#here is an example
curl -X PUT -d session_ids[]=1234 -d session_ids[]=1235 -d session[allow_webcast]=false https://john.smith%40acme.com:abc123@acme.metameetings.net/api/v1/events/annual-general-meeting/sessions/bulk_update.json
The above command will return a status of 200 if correctly executed.
This endpoint allows the modification of a collection of sessions. Just pass the attributes you want to update as key, value pairs in the parameters, as well as an array of ids for the sessions you wish to update. This action is allowed for admins and event managers for the event being updated.
Accepted Parameters
| Parameter |
|---|
| allow_webcast |
| webcast_format |
| allow_presentation_media |
| allow_transcribe_media |
| webcasting_price |
| ondemand_duration |
| show_uploads_tab |
Delete A Session [Destroy]
#format your get requests as follows
curl -X DELETE https://client.metameetings.net/api/v1/events/slug/sessions/1.json
#here is an example
curl -X DELETE https://john.smith%40acme.com:abc123@acme.metameetings.net/api/v1/events/annual-general-meeting/sessions/1.json
For jpmorgan you can also use their session ids:
curl -X DELETE https://john.smith%40acme.com:abc123@jpmorgan.metameetings.net/api/v1/events/annual-general-meeting/sessions/nil.json?client_session_id=12443
The above command will return a status of 200 if correctly executed and the deleted session object.
This endpoint allows the deletion of an exisiting session. This action is allowed for admins and event managers for the event being deleted.
Read All Session Filters[Index]
#format your get requests as follows
curl https://client.metameetings.net/api/v1/events/slug/sessions/filters.json
#here is an example
curl https://john.smith%40acme.com:abc123@acme.metameetings.net/api/v1/events/annual-general-meeting/sessions/filters.json
The above command returns JSON structured like this:
[
{
"Session": {
"Room": {
"type": "dropdown",
"attribute": "room",
"options": [
[
"Auditorium",
75
],
[
"270 Park, Room 202/203",
474
],
[],
[]
]
},
" " : { },
" " : { },
" " : { }
},
"Presentation / AV": {
" " : { },
" " : { },
" " : { }
},
"Webcast": {
" " : { },
" " : { },
" " : { }
},
"OnDemand": {
" " : { },
" " : { },
" " : { }
}
}
]
This endpoint will allow you to see all session filters.
Session filters are categorized in four groups
- Session
- Presentation / AV
- Webcast
- OnDemand
Each filter has two properties
| Property | Description |
|---|---|
| type | The Input type of the Filter |
| attribute | The attribute of the Filter |
Schedulables
Make A New Schedulable [Create]
#format your get requests as follows
curl -X POST -d schedulable[attribute]=value -d schedulable[attribute]=value https://client.metameetings.net/api/v1/events/slug/schedulables.json
#here is an example
curl -X POST -d schedulable[title]="MAP schedulable" -d schedulable[type]="LaptopAndMediaTest" -d schedulable[starts_at]="2016-01-01 16:00:00" -d schedulable[duration]=40 -d schedulable[room_id]=1 -d schedulable[parent_session_id]=1 https://john.smith%40acme.com:abc123@acme.metameetings.net/api/v1/events/annual-general-meeting/schedulables.json
The above command will return a status of 201 if correctly executed and the new schedulable object.
This endpoint will create a new schedulable, and is intended to be used for scheduables who’s type does not descend from the Session class (ie. Breaks, Laptop and Media Tests). Please note that certain attributes are mandatory to create a new schedulable.
Mandatory Parameters
| Parameter | Description |
|---|---|
| title | The name of the schedulable. |
| starts_at | The datetime the schedulable starts at. Must be in the format YYYY-MM-DD HH:mm:ss. |
| duration | The duration in minutes that the schedulable will last for. |
You are welcome to set as many additional attributes as desired.
Modify A Schedulable [Update]
#format your get requests as follows
curl -X PUT -d schedulable[attribute]=value https://client.metameetings.net/api/v1/events/slug/schedulables/1.
#here is an example
curl -X PUT -d schedulable[room_id]=150 https://john.smith%40acme.com:abc123@acme.metameetings.net/api/v1/events/annual-general-meeting/schedulables/1.json
The above command will return a status of 200 if correctly executed and the updated schedulable object.
This endpoint allows the modification of exisiting schedulables, and is intended to be used for scheduables who’s type does not descend from the Session class (ie. Breaks, Laptop and Media Tests). Just pass the attributes you want to update as key, value pairs in the parameters. This action is allowed for admins and event managers for the event being updated.
Delete A Schedulable [Destroy]
#format your get requests as follows
curl -X DELETE https://client.metameetings.net/api/v1/events/slug/schedulables/1.json
#here is an example
curl -X DELETE https://john.smith%40acme.com:abc123@acme.metameetings.net/api/v1/events/annual-general-meeting/schedulables/1.json
The above command will return a status of 200 if correctly executed and the deleted schedulable object.
This endpoint allows the deletion of an exisiting schedulable, and is intended to be used for scheduables who’s type does not descend from the Session class (ie. Breaks, Laptop and Media Tests). This action is allowed for admins and event managers for the event being deleted.
Tracks
Read All Tracks [Index]
#format your get requests as follows
curl https://client.metameetings.net/api/v1/events/slug/tracks.json
#here is an example
curl https://john.smith%40acme.com:abc123@acme.metameetings.net/api/v1/events/annual-general-meeting/tracks.json
The above command returns JSON structured like this:
[
{
"tracks":[
{
"id": 1,
"name": "Westworld",
"urls": {
"html": "https://acme.mm2.me/events/annual-general-meeting/tracks"
}
},
{ },
{ },
{ }
],
"paging":{
"last": "https://acme.metameetings.net/api/v1/events/annual-general-meeting/tracks.json?page=4",
"next": "https://acme.metameetings.net/api/v1/events/annual-general-meeting/tracks.json?page=2",
"previous_page":null,
"per_page": 30,
"current": 1,
"total": 4
}
}
]
This endpoint will allow you to see all tracks for an event. A summary of information for each track will be provided.
The results of the index page are paginated with up to 30 tracks on each page, for consideration of performance and memory usage. For ease of use, the JSON object that is returned provides the location of the next, previous, and last page of results.
Rooms
Read All Rooms [Index]
#format your get requests as follows
curl https://client.metameetings.net/api/v1/events/slug/rooms.json
#here is an example
curl https://john.smith%40acme.com:abc123@acme.metameetings.net/api/v1/events/annual-general-meeting/rooms.json
The above command returns JSON structured like this:
[
{
"rooms":[
{
"id": 1,
"name": "Town Ballroom",
"alias": null,
"capacity": 300,
"urls": {
"html": "https://acme.metameetings.net/events/annual-general-meeting/rooms/1-town-ballroom",
"json": "https://acme.metameetings.net/api/v1/events/annual-general-meeting/rooms/1-town-ballroom.json"
}
},
{ },
{ },
{ }
],
"paging":{
"last": "https://acme.metameetings.net/api/v1/events/annual-general-meeting/rooms.json?page=4",
"next": "https://acme.metameetings.net/api/v1/events/annual-general-meeting/rooms.json?page=2",
"previous_page":null,
"per_page": 30,
"current": 1,
"total": 4
}
}
]
This endpoint will allow you to see all rooms. A summary of information for each room will be provided. For more detailed infomation on each room, use the show method (detailed below) or use the json link to the specific room provided with this call.
The results of the index page are paginated with up to 30 rooms on each page, for consideration of performance and memory usage. For ease of use, the JSON object that is returned provides the location of the next, previous, and last page of results.
Read A Room [Show]
#format your get requests as follows
curl https://client.metameetings.net/api/v1/events/slug/rooms/id.json
#here is an example
curl https://acme.metameetings.net/api/v1/events/annual-general-meeting/rooms/1.json
The above command returns JSON structured like this:
{
"id": 1,
"capacity": 300,
"show_on_agenda": true,
"name": "Town Ballroom",
"order": 1,
"alias": null,
"event": {
"id": 80,
"title": "Annual General Meeting",
"client_id": 6,
"urls": {
"html": "https://jpmorgan.mm2.me/events/annual-general-meeting",
"json": "https://jpmorgan.mm2.me/api/v1/events/annual-general-meeting.json"
}
},
"endpoint": {
"id": 61,
"name": "Live Endpoint 6"
},
"schedulables": [
{
"id": 1234,
"title": "Tesla",
"client_session_id": 12321,
"disabled": false,
"urls": {
"html":"https://acme.metameetings.net/events/annual-general-meeting/sessions/1234-test-session",
"json":"https://acme.metameetings.net/api/v1/events/annual-general-meeting/sessions/1234-test-session"
}
},
{...},
{...}
]
}
This endpoint will return detailed informating about one room, and provide links to the html and json references of its children elements. This data is available to admins and event managers of the event.
Make A New Room [Create]
#format your get requests as follows
curl -X POST -d room[attribute]=value -d room[attribute]=value https://client.metameetings.net/api/v1/events/slug/rooms.json
#here is an example
curl -X POST -d room[name]="Town Ballroom" https://john.smith%40acme.com:abc123@acme.metameetings.net/api/v1/events/annual-general-meeting/rooms.json
The above command will return a status of 201 if correctly executed and the new room object.
This endpoint will create a new room. Please note that certain attributes are mandatory to create a new room.
Mandatory Parameters
| Parameter | Description |
|---|---|
| name | The name of the room. |
You are welcome to set as many additional attributes as desired.
Modify A Room [Update]
#format your get requests as follows
curl -X PUT -d room[attribute]=value https://client.metameetings.net/api/v1/events/slug/rooms/id.json
#here is an example
curl -X PUT -d room[capacity]=250 https://john.smith%40acme.com:abc123@acme.metameetings.net/api/v1/events/annual-general-meeting/rooms/1.json
The above command will return a status of 200 if correctly executed and the updated room object.
This endpoint allows the modification of exisiting rooms. Just pass the attributes you want to update as key, value pairs in the parameters. This action is allowed for admins and event managers for the event being updated.
Delete A Room [Destroy]
#format your get requests as follows
curl -X DELETE https://client.metameetings.net/api/v1/events/slug/rooms/id.json
#here is an example
curl -X DELETE https://john.smith%40acme.com:abc123@acme.metameetings.net/api/v1/events/annual-general-meeting/rooms/1.json
The above command will return a status of 200 if correctly executed and the deleted room object.
This endpoint allows the deletion of an exisiting room. This action is allowed for admins and event managers for the event being deleted.
Read Files in Room [Files]
#format your get requests as follows
curl https://client.metameetings.net/api/v1/events/slug/rooms/id/files.json
#here is an example
curl https://acme.metameetings.net/api/v1/events/annual-general-meeting/rooms/1/files.json
The above command returns JSON structured like this:
{
"room": {
"files": [],
"folders": [
{
"name": "2016-01-01",
"files": [],
"folders": [
{
"name": "08-00-1111-map-session",
"files" [
{
"name": "presentation.pptx",
"url": "https://s3.amazonaws.com/elements/presentation.pptx",
"size": 12345,
"updated_at": "2016-06-01T11:50:00.000-04:00"
},
{ },
{ }
],
"folders": []
},
{ },
]
},
{ },
{ }
]
}
}
This endpoint will return detailed information about all of the presentation files that have been made available to the room. The information is broken down by day and then by session. This data is only available to room coordinators.
Users
Read All Users [Index]
#format your get requests as follows
curl https://client.metameetings.net/api/v1/events/slug/users.json
#here is an example
curl https://john.smith%40acme.com:abc123@acme.metameetings.net/api/v1/events/annual-general-meeting/users.json
You can also include a DateTime in your request by using the 'since' parameter.
This will only return users who have been updated after the provided DateTime.
curl https://john.smith%40acme.com:abc123@acme.metameetings.net/api/v1/events/annual-general-meeting/users.json?since=2015-05-02T11:16:29-04:00
By default, the results will be paginated with 30 users. If you want to return a different number users, you can set the 'per_page' parameter to any number.
This can be used in conjunction with the 'since' parameter as well, or without it.
curl https://john.smith%40acme.com:abc123@acme.metameetings.net/api/v1/events/annual-general-meeting/users.json?per_page=100
curl https://john.smith%40acme.com:abc123@acme.metameetings.net/api/v1/events/annual-general-meeting/users.json?per_page=100&since=2015-05-02T11:16:29-04:00
The above command returns JSON structured like this:
[
{
"users":[
{
"id": 1,
"type": "User",
"email": "john.smith@example.com",
"username": "john.smith@example.com",
"first_name": "John",
"last_name": "Smith",
"name": "John Smith",
"badge_prints_count": 1,
"profiles_attributes": {
"company": "Acme Corp"
},
"arbitrary_attributes": {
"nick name": "Jimmy",
"status": "Attending"
},
"urls": {
"html": "https://acme.metameetings.net/users/1",
"json": "https://acme.metameetings.net/api/v1/events/annual-general-meeting/users/1.json"
}
},
{ },
{ },
{ }
],
"paging":{
"last": "https://acme.metameetings.net/api/v1/events/annual-general-meeting/users.json?page=4",
"next": "https://acme.metameetings.net/api/v1/events/annual-general-meeting/users.json?page=2",
"previous_page":null,
"per_page": 30,
"current": 1,
"total": 4
}
}
]
This endpoint will allow you to see all users within the event. A summary of information for each user will be provided. For more detailed infomation on each user, use the show method (detailed below) or use the json link to the specific user provided with this call.
The results of the index page are paginated with up to 30 users on each page, for consideration of performance and memory usage. For ease of use, the JSON object that is returned provides the location of the next, previous, and last page of results.
Read A User [Show]
#format your get requests as follows
curl https://client.metameetings.net/api/v1/events/slug/users/1.json
#here is an example
curl https://acme.metameetings.net/api/v1/events/annual-general-meeting/users/1.json
By username:
curl https://jpmorgan.metameetings.net/api/v1/events/annual-general-meeting/users/nil.json?username=jsmith77
For jpmorgan you can also use their user ids:
curl https://jpmorgan.metameetings.net/api/v1/events/annual-general-meeting/users/nil.json?client_user_id=12443
The above command returns JSON structured like this:
{
"email": "john.smith@example.com",
"username": "john.smith@example.com",
"fullname": null,
"type": null,
"first_name": "John",
"last_name": "Smith",
"name": "John Smith",
"company": null,
"urls":{
"html" : "https://acme.metameetings.net/events/annual-general-meetingusers/1"
},
"client_profile": [
{
"id": 437,
"title": "CEO",
"company": "Map Digital Inc.",
"urls": {
"json": "v1_event_profile_url(@event, profile, format: :json)"
}
}
],
"arbitrary_attributes": [
{
"nick_name": "johnny boy",
"invitation_status": "Confirmed"
}
],
"participations": [
{
"id": 1063,
"role": "Speaker",
"session": "Keynote",
"urls": {
"json": "https://acme.metameetings.net/api/v1/events/annual-general-meeting/participations/1063.json"
}
},
{ },
{ },
{ }
]
}
This endpoint will return detailed informating about one user, and provide links to the html and json references of its children elements. This data is available to admins and event managers of the event.
Make A New User [Create]
#format your get requests as follows
curl -X POST -d user[attribute]=value -d user[attribute]=value https://client.metameetings.net/api/v1/events/slug/users.json
#you can also create a client profile for the user like so
curl -X POST -d user[attribute]=value -d user[profiles_attributes][][attribute]=value https://client.metameetings.net/api/v1/events/slug/users.json
#and set arbitrary attributes for the user (only for existing badge keys)
curl -X POST -d user[attribute]=value -d user[arbitrary_attributes][][attribute]=value https://client.metameetings.net/api/v1/events/slug/users.json
#here is an example
curl -X POST -d user[username]="john.smith@example.com" -d user[email]="john.smith@example.com" -d user[password]="jSoMhInTH8437" -d user[profiles_attributes][][title]="CEO" -d user[arbitrary_attributes][][invitation_status]="confirmed" https://john.smith%40acme.com:abc123@acme.metameetings.net/api/v1/events/annual-general-meeting/users.json
The above command will return a status of 201 if correctly executed and the new user and profile objects.
This endpoint will create a new user, and can also create a new client profile. Please note that certain attributes are mandatory to create a new user.
Mandatory Parameters
| Parameter | Description |
|---|---|
| username | The username of the user. |
| The email of the user. | |
| password | The password of the user. |
You are welcome to set as many additional attributes as desired.
Modify A User [Update]
#format your get requests as follows
curl -X PUT -d user[attribute]=value https://client.metameetings.net/api/v1/events/slug/users/id.json
#you can also update a client profile for the user like so
curl -X PUT -d user[attribute]=value user[profiles_attributes][][attribute]=value https://client.metameetings.net/api/v1/events/slug/users/id.json
#and set arbitrary attributes for the user (only for existing badge keys)
curl -X PUT -d user[attribute]=value user[arbitrary_attributes][][attribute]=value https://client.metameetings.net/api/v1/events/slug/users/id.json
#here is an example
curl -X PUT -d user[fullname]="John Smith" -d user[profiles_attributes][][title]="CEO" -d user[arbitrary_attributes][][invitation_status]="confirmed" https://john.smith%40acme.com:abc123@acme.metameetings.net/api/v1/events/annual-general-meeting/users/1.json
By username:
curl -X PUT -d user[fullname]="John Smith" -d user[profiles_attributes][][title]="CEO" https://john.smith%40acme.com:abc123@jpmorgan.metameetings.net/api/v1/events/annual-general-meeting/users/nil.json?username=jsmith77
For jpmorgan you can also use their user ids:
curl -X PUT -d user[fullname]="John Smith" -d user[profiles_attributes][][title]="CEO" https://john.smith%40acme.com:abc123@jpmorgan.metameetings.net/api/v1/events/annual-general-meeting/users/nil.json?client_user_id=12443
The above command will return a status of 200 if correctly executed and the updated user and profile objects.
This endpoint allows the modification of exisiting users and client profiles. Just pass the attributes you want to update as key, value pairs in the parameters. This action is allowed for admins and event managers for the event being updated.
Delete A User [Destroy]
#format your get requests as follows
curl -X DELETE https://client.metameetings.net/api/v1/events/slug/users.json
#here is an example
curl -X DELETE https://john.smith%40acme.com:abc123@acme.metameetings.net/api/v1/events/annual-general-meeting/users/1.json
By username:
curl -X DELETE https://john.smith%40acme.com:abc123@jpmorgan.metameetings.net/api/v1/events/annual-general-meeting/users/nil.json?username=jsmith77
For jpmorgan you can also use their user ids:
curl -X DELETE https://john.smith%40acme.com:abc123@jpmorgan.metameetings.net/api/v1/events/annual-general-meeting/users/nil.json?client_user_id=12443
The above command will return a status of 200 if correctly executed and the deleted user object.
This endpoint allows the deletion of an exisiting user, and all client profiles associated with it. This action is allowed for admins and event managers for the event being deleted.
Read All User Related Attribute Keys [Keys]
#format your get requests as follows
curl https://client.metameetings.net/api/v1/events/slug/users/keys.json
#here is an example
curl https://john.smith%40acme.com:abc123@acme.metameetings.net/api/v1/events/annual-general-meeting/users/keys.json
The above command returns JSON structured like this:
{
"keys": {
"users_attributes": [
"email",
"username",
"first_name",
"last_name",
"company"
],
"profiles_attributes": [
"bio",
"googleplus",
"facebook",
"twitter",
"linkedin",
"phone",
"cell"
],
"arbitrary_attributes": [
"wifi_password",
{
"invitation_status": [
"rejected",
"invited",
"confirmed"
]
}
]
}
}
This endpoint will allow you to see all user related attributes within the event. This includes most columns in the users and profiles tables, as well as the arbitrary attributes defined in the badge keys table for the specified event.
Participations
Read All Participations [Index]
#format your get requests as follows
curl https://client.metameetings.net/api/v1/events/slug/participations.json
#here is an example
curl https://john.smith%40acme.com:abc123@acme.metameetings.net/api/v1/events/annual-general-meeting/participations.json
The above command returns JSON structured like this:
[
{
"participations":[
{
"id": 12887,
"participationable_id": 1234,
"user": {
"id": 19,
"client_user_id": 57823,
"email": joe.smith@company.com
},
"role": "PointPerson",
"urls": {
"json": "https://acme.metameetings.net/api/v1/events/annual-general-meeting/participations/12887.json"
}
},
{ },
{ },
{ }
],
"paging":{
"last": "https://acme.metameetings.net/api/v1/events/annual-general-meeting/participations.json?page=4",
"next": "https://acme.metameetings.net/api/v1/events/annual-general-meeting/participations.json?page=2",
"previous_page":null,
"per_page": 30,
"current": 1,
"total": 4
}
}
]
This endpoint will allow you to see all participations. A summary of information for each participation will be provided. For more detailed infomation on each participation, use the show method (detailed below) or use the json link to the specific participation provided with this call.
The results of the index page are paginated with up to 30 participations on each page, for consideration of performance and memory usage. For ease of use, the JSON object that is returned provides the location of the next, previous, and last page of results.
Read A Participation [Show]
#format your get requests as follows
curl https://client.metameetings.net/api/v1/events/slug/participations/id.json
#here is an example
curl https://acme.metameetings.net/api/v1/events/annual-general-meeting/participations/44.json
The above command returns JSON structured like this:
{
"id": 44,
"user_id": 3,
"role_id": 9,
"participationable_id": 4444,
"participationable_type": "Schedulable"
}
This endpoint will return detailed informating about one participation, and provide links to the html and json references of its children elements. This data is available to admins and event managers of the event.
Make A New Participation [Create]
#format your get requests as follows
curl -X POST -d participation[attribute]=value -d participation[attribute]=value https://client.metameetings.net/api/v1/events/annual-general-meeting/participations.json
#here is an example
curl -X POST -d participation[user_id]=3 -d participation[role_id]=4 -d participation[participationable_id]=4444 -d participation[participationable_type]="Schedulable" https://john.smith%40acme.com:abc123@acme.metameetings.net/api/v1/events/annual-general-meeting/participations.json
The above command will return a status of 201 if correctly executed and the new participation object.
This endpoint will create a new participation. Please note that certain attributes are mandatory to create a new participation.
Mandatory Parameters
| Parameter | Description |
|---|---|
| user_id | The id of the associated user. |
| role_id | The id of the associated role. |
| participationable_id | The id of the associated participationable. |
You are welcome to set as many additional attributes as desired.
Modify A Participation [Update]
#format your get requests as follows
curl -X PUT -d participation[attribute]=value https://client.metameetings.net/api/v1/events/slug/participations/id.json
#here is an example
curl -X PUT -d participation[position]=1 https://john.smith%40acme.com:abc123@acme.metameetings.net/api/v1/events/annual-general-meeting/participations/44.json
The above command will return a status of 200 if correctly executed and the updated participation object.
This endpoint allows the modification of exisiting participations. Just pass the attributes you want to update as key, value pairs in the parameters. This action is allowed for admins and event managers for the event being updated.
Delete A Participation [Destroy]
#format your get requests as follows
curl -X DELETE https://client.metameetings.net/api/v1/events/annual-general-meeting/participations/id.json
#here is an example
curl -X DELETE https://john.smith%40acme.com:abc123@acme.metameetings.net/api/v1/events/annual-general-meeting/participations/22.json
The above command will return a status of 200 if correctly executed and the deleted participation object.
This endpoint allows the deletion of an exisiting participation. This action is allowed for admins and event managers for the event being deleted.
Companies
Read All Companies [Index]
#format your get requests as follows
curl https://client.metameetings.net/api/v1/companies.json
#here is an example
curl https://john.smith%40acme.com:abc123@acme.metameetings.net/api/v1/companies.json
The above command returns JSON structured like this:
[
{
"companies":[
{
"id": 1,
"name": "Map Digital, Inc.",
"urls": {
"json": "https://acme.metameetings.net/api/v1/companies/1.json"
}
},
{ },
{ },
{ }
],
"paging":{
"last": "https://acme.metameetings.net/api/v1/companies.json?page=45",
"next": "https://acme.metameetings.net/api/v1/companies.json?page=2",
"previous_page":null,
"per_page": 30,
"current": 1,
"total": 45
}
}
]
This endpoint will allow you to see all companies. A summary of information for each company will be provided. For more detailed infomation on each company, use the show method (detailed below) or use the json link to the specific event provided with this call.
The results of the index page are paginated with up to 30 companies on each page, for consideration of performance and memory usage. For ease of use, the JSON object that is returned provides the location of the next, previous, and last page of results.
Read A Company [Show]
#format your get requests as follows
curl https://client.metameetings.net/api/v1/companies/id.json
#here is an example
curl https://acme.metameetings.net/api/v1/companies/1.json
For jpmorgan you can also use their company ids:
curl https://jpmorgan.metameetings.net/api/v1/companies/nil.json?client_company_id=12443
The above command returns JSON structured like this:
{
"id": 1,
"bloomberg_code": null,
"client_company_id": "12443",
"name": "Map Digital, Inc.",
"ticker": null,
"url": "https://www.mapdigital.com",
"is_private": false
}
This endpoint will return detailed informating about one company. This data is available to admins and event managers of the event.
Make A New Company [Create]
#format your get requests as follows
curl -X POST -d company[attribute]=value -d company[attribute]=value https://client.metameetings.net/api/v1/companies.json
#here is an example
curl -X POST -d company[name]="Map Digital Inc." -d company[url]="https://www.mapdigital.com" https://john.smith%40acme.com:abc123@acme.metameetings.net/api/v1/companies.json
The above command will return a status of 201 if correctly executed and the new company object.
This endpoint will create a new company. Please note that certain attributes are mandatory to create a new company.
Mandatory Parameters
| Parameter | Description |
|---|---|
| name | The name of the company. |
You are welcome to set as many additional attributes as desired.
Modify A Company [Update]
#format your get requests as follows
curl -X PUT -d company[attribute]=value https://client.metameetings.net/api/v1/companies/id.json
#here is an example
curl -X PUT -d company[is_private]=true https://john.smith%40acme.com:abc123@acme.metameetings.net/api/v1/companies/1.json
For jpmorgan you can also use their company ids:
curl -X PUT -d company[is_private]=true https://john.smith%40acme.com:abc123@jpmorgan.metameetings.net/api/v1/companies/nil.json?client_company_id=12443
The above command will return a status of 200 if correctly executed and the updated company object.
This endpoint allows the modification of exisiting companies. Just pass the attributes you want to update as key, value pairs in the parameters. This action is allowed for admins and event managers for the event being updated.
Delete A Company [Destroy]
#format your get requests as follows
curl -X DELETE https://client.metameetings.net/api/v1/companies/id.json
#here is an example
curl -X DELETE https://john.smith%40acme.com:abc123@acme.metameetings.net/api/v1/companies/1.json
For jpmorgan you can also use their company ids:
curl -X DELETE https://john.smith%40acme.com:abc123@jpmorgan.metameetings.net/api/v1/companies/nil.json?client_company_id=12443
The above command will return a status of 200 if correctly executed and the deleted company object.
This endpoint allows the deletion of an exisiting company. This action is allowed for admins and event managers for the event being deleted.
Badge Keys
Read All Badge Keys [Index]
#format your get requests as follows
curl https://client.metameetings.net/api/v1/events/slug/badge_keys.json
#here is an example
curl https://john.smith%40acme.com:abc123@acme.metameetings.net/api/v1/events/annual-general-meeting/badge_keys.json
The above command returns JSON structured like this:
[
{
"badge_keys": [
{
"id": 1,
"key": "nick_name",
"dropdown": false,
"badge_values": null
},
{
"id": 2,
"key": "invitation_status",
"dropdown": true,
"badge_values": [
"Attending",
"Pending",
"Not Attending"
]
},
{
"id": 3,
"key": "wifi_password",
"dropdown": false,
"badge_values": null
}
],
"paging": {
"last": "https://jpmorgan.mm2.me/api/v1/events/2014-auto/badge_keys.json?page=1",
"next": null,
"previous": null,
"per_page": 30,
"current": 1,
"total": 1
}
}
]
This endpoint will allow you to see all badge keys. A summary of information for each badge key will be provided, including the badge values if the badge key is a dropdown option.
The results of the index page are paginated with up to 30 badge keys on each page, for consideration of performance and memory usage. For ease of use, the JSON object that is returned provides the location of the next, previous, and last page of results.
Make A New Badge Key [Create]
#format your get requests as follows
curl -X POST -d badge_key[attribute]=value -d badge_key[attribute]=value https://client.metameetings.net/api/v1/events/slug/badge_keys.json
#here is an example
curl -X POST -d badge_key[key]="Wifi Password" -d badge_key[dropdown]=false https://john.smith%40acme.com:abc123@acme.metameetings.net/api/v1/events/annual-general-meeting/badge_keys.json
The above command will return a status of 201 if correctly executed and the new badge key object.
This endpoint will create a new badge key. Please note that certain attributes are mandatory to create a new badge key.
Mandatory Parameters
| Parameter | Description |
|---|---|
| key | The name of the badge key. |
| dropdown | Whether or not badge values should appear in a dropdown. |
Modify A Badge Key [Update]
#format your get requests as follows
curl -X PUT -d badge_key[attribute]=value https://client.metameetings.net/api/v1/events/slug/badge_key/id.json
#here is an example
curl -X PUT -d badge_key[dropdown]=true https://john.smith%40acme.com:abc123@acme.metameetings.net/api/v1/events/annual-general-meeting/badge_key/1.json
The above command will return a status of 200 if correctly executed and the updated badge_key object.
This endpoint allows the modification of exisiting badge keys. Just pass the attributes you want to update as key, value pairs in the parameters. This action is allowed for admins and event managers for the event being updated.
Delete A Badge Key [Destroy]
#format your get requests as follows
curl -X DELETE https://client.metameetings.net/api/v1/events/slug/badge_keys/id.json
#here is an example
curl -X DELETE https://john.smith%40acme.com:abc123@acme.metameetings.net/api/v1/events/annual-general-meeting/badge_keys/1.json
The above command will return a status of 200 if correctly executed and the deleted badge key object.
This endpoint allows the deletion of an exisiting badge key. This action is allowed for admins and event managers for the event being deleted.
Elements
Read All Elements [Index]
#format your get requests as follows
curl https://client.metameetings.net/api/v1/events/slug/elements.json
#here is an example
curl https://john.smith%40acme.com:abc123@acme.metameetings.net/api/v1/events/annual-general-meeting/elements.json
The above command returns JSON structured like this:
{
"elements": [
{
"id": 50,
"schedulable_id": 44,
"created_at": "2014-08-12T09:12:40.000-04:00",
"updated_at": "2016-03-10T12:01:44.000-05:00",
"attachment": "https://acme.metameetings.net/events/annual-general-meeting/sessions/test/file_type/element/file/50",
"attachment_file_name": "test.pptx",
"approved": false,
"pushed": false,
"type": "DownloadableElement",
"uploader_id": 21,
"approver_id": 777,
"approved_at": "2015-04-08T14:50:56.000-04:00",
"pusher_id": null,
"pushed_at": null,
"urls": {
"json": "https://acme.metameetings.net/api/v1/events/annual-general-meeting/elements/50.json"
},
"download_groups": [
{
"download_group_id": 39,
"download_group_entry_id": 44,
"position": 2,
"download_group_entry_url": "https://acme.metameetings.net/api/v1/events/annual-general-meeting/download_group_entries/44.json"
},
{ },
{ }
]
},
{ },
{ },
{ }
],
"paging":{
"last": "https://acme.metameetings.net/api/v1/events/annual-general-meeting/elements.json?page=4",
"next": "https://acme.metameetings.net/api/v1/events/annual-general-meeting/elements.json?page=2",
"previous_page":null,
"per_page": 30,
"current": 1,
"total": 4
}
}
This endpoint will allow you to see all elements. A summary of information for each element will be provided.
The results of the index page are paginated with up to 30 elements on each page, for consideration of performance and memory usage. For ease of use, the JSON object that is returned provides the location of the next, previous, and last page of results.
Read A Element[Show]
#format your get requests as follows
curl https://client.metameetings.net/api/v1/events/slug/elements/id.json
#here is an example
curl https://acme.metameetings.net/api/v1/events/annual-general-meeting/elements/44.json
The above command returns JSON structured like this:
{
"id": 44,
"schedulable_id": 70,
"created_at": "2014-08-12T09:12:40.000-04:00",
"pushed": false,
"pusher_id": null,
"pushed_at": null,
"attachment_file_size": 1327956,
"attachment_file_name": "test.pptx",
"approved": false,
"type": "DownloadableElement",
"approver_id": 77,
"approved_at": "2015-04-08T14:50:56.000-04:00",
"uploader_id": 21,
"updated_at": "2016-03-10T12:01:44.000-05:00",
"attachment": "https://acme.metameetings.net/events/annual-general-meeting/sessions/test/file_type/element/file/50",
"download_groups": [
{
"download_group_id": 39,
"download_group_entry_id": 44,
"position": 2,
"download_group_entry_url": "https://acme.metameetings.net/events/annual-general-meeting/download_group_entries/44.json"
},
{ },
{ }
]
}
This endpoint will return detailed information about one element. This data is available to admins and event managers of the event.
Make A New Element[Create]
#format your get requests as follows
curl -X POST -F element[attribute]=value -F element[attribute]=value https://client.metameetings.net/api/v1/events/slug/elements.json
#here is an example
curl -X POST -F element[schedulable_id]="4444" -F element[attachment]="@test.txt" -F element[type]="DownloadableElement" https://john.smith%40acme.com:abc123@acme.metameetings.net/api/v1/events/annual-general-meeting/elements.json
The above command will return a status of 201 if correctly executed and the new element objects.
This endpoint will create a new element.
Mandatory Parameters
| Parameter | Description |
|---|---|
| schedulable_id | The ID of the schedulable. |
| attachment | The attachment file. |
| type | Type of Element . Must be “DownloadableElement” or “PresentationElement” |
Optional Parameters
| Parameter | Description |
|---|---|
| name | The Name of the element. |
| approved | Element is approved (boolean). |
| pushed | Element is pushed to room (boolean). |
Modify A Element [Update]
#format your get requests as follows
curl -X PUT -d element[attribute]=value https://client.metameetings.net/api/v1/events/slug/elements/id.json
#here is an example
curl -X PUT -d element[approved]=true https://john.smith%40acme.com:abc123@acme.metameetings.net/api/v1/events/annual-general-meeting/elements/44.json
The above command will return a status of 200 if correctly executed and the updated element object.
This endpoint allows the modification of exisiting elements. Just pass the attributes you want to update as key, value pairs in the parameters. This action is allowed for admins and event managers for the event being updated.
Delete A Element [Destroy]
#format your get requests as follows
curl -X DELETE https://client.metameetings.net/api/v1/events/annual-general-meeting/elements/id.json
#here is an example
curl -X DELETE https://john.smith%40acme.com:abc123@acme.metameetings.net/api/v1/events/annual-general-meeting/elements/22.json
The above command will return a status of 200 if correctly executed.
This endpoint allows the deletion of an exisiting element. This action is allowed for admins and event managers for the event being deleted.
Download Groups
Read All Download Groups [Index]
#format your get requests as follows
curl https://client.metameetings.net/api/v1/events/slug/download_groups.json
#here is an example
curl https://john.smith%40acme.com:abc123@acme.metameetings.net/api/v1/events/annual-general-meeting/download_groups.json
By default, the results will be paginated with 30 download groups. If you want to return a different number, you can set the 'per_page' parameter to any number. You can also ask for a particular page using 'page' parameter.
curl https://john.smith%40acme.com:abc123@acme.metameetings.net/api/v1/events/annual-general-meeting/download_groups.json?per_page=100&page=2
The above command returns JSON structured like this:
{
"download_groups":[
{
"id": 39,
"name": "Downloads",
"position": 1
},
{ },
{ },
],
"paging": {
"last": "https://acme.metameetings.net/api/v1/events/annual-general-meeting/download_groups.json?page=3",
"next": "https://acme.metameetings.net/v1/events/annual-general-meeting/download_groups.json?page=2",
"previous": "https://acme.metameetings.net/v1/events/annual-general-meeting/download_groups.json?page=1",
"per_page": 30,
"current": 2,
"total": 3
}
}
This endpoint will allow you to see all download_groups. A summary of information for each download_group will be provided.
The results of the index page are paginated with up to 30 download groups on each page, for consideration of performance and memory usage. For ease of use, the JSON object that is returned provides the location of the next, previous, and last page of results. It also includes per_page, current, and total parameters.
Download Group Entries
Make A New Download Group Entry [Create]
#format your get requests as follows
curl -X POST -d download_group_entry[attribute]=value -d download_group_entry[attribute]=value https://client.metameetings.net/api/v1/events/slug/download_group_entries.json
#here is an example
curl -X POST -d download_group_entry[download_group_id]=200 -d download_group_entry[downloadable_element_id]=399 https://john.smith%40acme.com:abc123@acme.metameetings.net/api/v1/events/annual-general-meeting/download_group_entries.json
The above command will return a status of 201 if correctly executed and the new download group entry object.
This endpoint will create a new download group entry. Please note that certain attributes are mandatory to create a new download group entry.
The purpose of a download group entry is to add an existing downloadable element to a download group. To add an element to a group, just create a download group entry.
Mandatory Parameters
| Parameter | Description |
|---|---|
| download_group_id | The id of the download_group the element is to be added to. |
| downloadable_element_id | The id of the downloadable_element to be added to the download_group. |
Delete A Download Group Entry [Destroy]
#format your get requests as follows
curl -X DELETE https://client.metameetings.net/api/v1/events/slug/download_group_entry/id.json
#here is an example
curl -X DELETE https://john.smith%40acme.com:abc123@acme.metameetings.net/api/v1/events/annual-general-meeting/download_group_entry/1.json
The above command will return a status of 200 if correctly executed and the deleted download group entry object.
This endpoint allows the deletion of an exisiting download group entry.
The purpose of a download group entry is to join a downloadable element to a download group. To remove a downloadable element from a group, just destroy the download group entry.
Notes
Read All Notes [Index]
#format your get requests as follows
curl https://client.metameetings.net/api/v1/events/slug/sessions/session_id/notes.json
#here is an example
curl https://john.smith%40acme.com:abc123@acme.metameetings.net/api/v1/events/annual-general-meeting/sessions/1234/notes.json
The above command returns JSON structured like this:
[
{
"notes":[
{
"id": 123,
"memo": "This is a memo",
"done_by": 456
},
{ },
{ },
{ }
],
"paging":{
"last": "https://acme.metameetings.net/api/v1/events/annual-general-meeting/sessions/1234/notes.json?page=4",
"next": "https://acme.metameetings.net/api/v1/events/annual-general-meeting/sessions/1234/notes.json?page=2",
"previous_page":null,
"per_page": 30,
"current": 1,
"total": 4
}
}
]
This endpoint will allow you to see all the notes for a specified session. A summary of information for each note will be provided.
The results of the index page are paginated with up to 30 notes on each page, for consideration of performance and memory usage. For ease of use, the JSON object that is returned provides the location of the next, previous, and last page of results.
Make A New Note [Create]
#format your get requests as follows
curl -X POST -d note[attribute]=value https://client.metameetings.net/api/v1/events/annual-general-meeting/sessions/1234/images.json
#here is an example
curl -X POST -d note[memo]= "This is a memo" https://john.smith%40acme.com:abc123@acme.metameetings.net/api/v1/events/annual-general-meeting/sessions/1234/images.json
The above command will return a status of 201 if correctly executed and the new note object.
This endpoint will create a new note. Please note that certain attributes are mandatory to create a new note.
Mandatory Parameters
| Parameter | Description |
|---|---|
| memo | The note’s text |
You are welcome to set as many additional attributes as desired.
Modify A Note [Update]
#format your get requests as follows
curl -X PUT -d toggle_done="true" https://client.metameetings.net/api/v1/events/slug/sessions/session_id/notes/id.json
#here is an example
curl -X PUT -d toggle_done="true" https://john.smith%40acme.com:abc123@acme.metameetings.net/api/v1/events/annual-general-meeting/sessions/1234/33.json
The above command will return a status of 200 if correctly executed and the updated note object.
This endpoint allows the modification of exisiting notes. The only accepted parameter for this call is toggle_done. This will toggle the note’s done_by and done_at attributes.
Check Ins
Read A Check In [Show]
#format your get requests as follows
curl https://client.metameetings.net/api/v1/events/slug/sessions/session_id/check_ins/check_in_id.json
#here is an example
curl https://john.smith%40acme.com:abc123@acme.metameetings.net/api/v1/events/annual-general-meeting/sessions/1234/check_ins/3.json
The above command returns JSON structured like this:
{
"id": 44,
"schedulable_id": 4,
"checker_id": 3,
"created_at": "2016-07-22T11:55:27.000-04:00",
"checker": {
"id": 87,
"display_name": "John Doe"
}
}
This endpoint will return detailed informating about a check In. This data is available to admins and event managers of the event.
Make A New Check In[Create]
#format your get requests as follows
curl -X POST https://client.metameetings.net/api/v1/events/slug/sessions/session_id/check_ins.json
#here is an example
curl -X POST https://john.smith%40acme.com:abc123@acme.metameetings.net/api/v1/events/annual-general-meeting/sessions/1234/check_ins.json
The above command will return a status of 201 if correctly executed and the new check In object.
This endpoint will create a check In for a session. Please note that one attribute is mandatory to create a new check In.
Delete A Check In[Destroy]
#format your get requests as follows
curl -X DELETE https://client.metameetings.net/api/v1/events/slug/sessions/session_id/check_ins/id.json
#here is an example
curl -X DELETE https://john.smith%40acme.com:abc123@acme.metameetings.net/api/v1/events/annual-general-meeting/sessions/1234/check_ins/1.json
The above command will return a status of 200 if correctly executed and the deleted check In object.
This endpoint allows the deletion of an exisiting check In object. This action is allowed for admins and event managers for the event being deleted.
Email Requests
Send An Email [Create]
#format your get requests as follows
curl -X POST -d email_request[attribute]=value -d email_request[attribute]=value https://client.metameetings.net/api/v1/events/slug/emails.json
#here is an example
curl -X POST -d email_request[subject]="Change in Timing" -d email_request[body]="Testing" -d email_request[user_id]=21 https://john.smith%40acme.com:abc123@acme.metameetings.net/api/v1/events/annual-general-meeting/emails.json
The above command will return a status of 201 if correctly executed and an email has been send.
This endpoint will send a new email. Please note that certain attributes are mandatory to send an email.
Mandatory Parameters
| Parameter | Description |
|---|---|
| user_id | The Id of the user to send email to. |
| subject | The Subject of Email. |
| body | The body of Email. |
Webcasts
Read All Webcasts [Index]
#format your get requests as follows
curl https://client.metameetings.net/api/v1/events/slug/webcasts.json
#here is an example
curl https://john.smith%40acme.com:abc123@acme.metameetings.net/api/v1/events/annual-general-meeting/webcasts.json
You can also include 'ids' parameter in your request.
This will only return webcasts with the ids specified in the params.
curl https://john.smith%40acme.com:abc123@acme.metameetings.net/api/v1/events/annual-general-meeting/users.json?ids="122,415,315"
The above command returns JSON structured like this:
{
"webcasts": [
{
"id": 26,
"session_id": 664,
"ondemand": true,
"webcasting": true,
"media_file": {
"id": 24,
"type": "AwsMediaFile",
"publisher": "Jack Reacher"
"download_url": "https://url_to_media.com",
"created_at": "2015-08-131T15:35:00.000-04:00"
},
"transcript_order": true,
"transcript": {
"url": "https://url_to_transcript.com",
"created_at": "2015-08-141T15:35:00.000-04:00"
},
"format": "audio",
"ends_at": "2015-08-11T15:35:00.000-04:00",
"status": 1,
"urls": {
"html": "https://acme.metameetings.net/events/annual-general-meeting/webcast?preview=ondemand"
}
},
{ },
{ }
],
"paging": {
"last": "http://jpmorgan.mm2.me/api/v1/events/2015-auto/webcasts.json?page=1",
"next": null,
"previous": null,
"per_page": 30,
"current": 1,
"total": 1
}
}
This endpoint will allow you to see all webcasts within the event. A summary of information for each webcast will be provided.
The results of the index page are paginated with up to 30 webcasts on each page, for consideration of performance and memory usage. For ease of use, the JSON object that is returned provides the location of the next, previous, and last page of results.
There are following 4 webcast status
| Status | Description |
|---|---|
| 1 | No Media File. |
| 2 | Media File is available but there are no Media File Locations. |
| 3 | Media File Locations are available but Media File is not published. |
| 4 | Media File is published |
Media files
Publish A Media File [Destroy]
#format your get requests as follows
curl -X POST https://client.metameetings.net/api/v1/events/annual-general-meeting/media_files/id/publish.json
#here is an example
curl -X POST https://john.smith%40acme.com:abc123@acme.metameetings.net/api/v1/events/annual-general-meeting/media_files/22/publish.json
The above command will return a status of 200 if correctly executed.
This endpoint allows to publish an exisiting media_file. This action is allowed for admins and event managers for the event being deleted.
Delete A Media File [Destroy]
#format your get requests as follows
curl -X DELETE https://client.metameetings.net/api/v1/events/annual-general-meeting/media_files/id.json
#here is an example
curl -X DELETE https://john.smith%40acme.com:abc123@acme.metameetings.net/api/v1/events/annual-general-meeting/media_files/22.json
The above command will return a status of 200 if correctly executed.
This endpoint allows the deletion of an exisiting media_file. This action is allowed for admins and event managers for the event being deleted.
Taggings
Make A New Tagging [Create]
#format your get requests as follows
curl -X POST -d tagging[attribute]=value https://client.metameetings.net/api/v1/events/slug/sessions/session_id/taggings.json
#here is an example
curl -X POST -d tagging[name]=public https://john.smith%40acme.com:abc123@acme.metameetings.net/api/v1/events/annual-general-meeting/sessions/1234/taggings.json
The above command will return a status of 201 if correctly executed and the new download group entry object.
This endpoint will create a new tagging. Please note that certain attributes are mandatory to create a new tagging.
Mandatory Parameters
| Parameter | Description |
|---|---|
| name | The name of the tag you would like to be associated with this tagging. |
Delete A Tagging [Destroy]
#format your get requests as follows
curl -X DELETE https://client.metameetings.net/api/v1/events/slug/sessions/session_id/taggings/tagging_id.json
#here is an example
curl -X DELETE https://john.smith%40acme.com:abc123@acme.metameetings.net/api/v1/events/annual-general-meeting/sessions/1234/taggings/22.json
You can also delete taggings by name:
curl -X DELETE https://john.smith%40acme.com:abc123@acme.metameetings.net/api/v1/events/annual-general-meeting/sessions/1234/taggings/nil.json?name=public
The above command will return a status of 200 if correctly executed and the deleted tagging object.
This endpoint allows the deletion of an exisiting tagging.
Images
Read All Images [Index]
#format your get requests as follows
curl https://client.metameetings.net/api/v1/events/slug/sessions/session_id/images.json
#here is an example
curl https://john.smith%40acme.com:abc123@acme.metameetings.net/api/v1/events/annual-general-meeting/sessions/1234/images.json
The above command returns JSON structured like this:
[
{
"images":[
{
"id": 6816,
"file_name": "Slide1.JPG",
"size": 78935,
"position": 3,
"urls": {
"slide": "https://metameetings-assets.s3.amazonaws.com/images/assets/000/006/816/slide/Slide1.JPG",
"thumbnail": "https://metameetings-assets.s3.amazonaws.com/images/assets/000/006/816/thumb/Slide1.JPG",
"mobile": "https://metameetings-assets.s3.amazonaws.com/images/assets/000/006/816/mobile/Slide1.JPG"
}
},
{ },
{ },
{ }
],
"paging":{
"last": "https://acme.metameetings.net/api/v1/events/annual-general-meeting/sessions/1234/images.json?page=4",
"next": "https://acme.metameetings.net/api/v1/events/annual-general-meeting/sessions/1234/images.json?page=2",
"previous_page":null,
"per_page": 30,
"current": 1,
"total": 4
}
}
]
This endpoint will allow you to see all the images for a specified session. A summary of information for each image will be provided.
The results of the index page are paginated with up to 30 images on each page, for consideration of performance and memory usage. For ease of use, the JSON object that is returned provides the location of the next, previous, and last page of results.
Make A New Image [Create]
#format your get requests as follows
curl -X POST -F image[attribute]=value -F image[attribute]=value https://client.metameetings.net/api/v1/events/annual-general-meeting/sessions/1234/images.json
#here is an example
curl -X POST -F image[asset]="@test.txt"
https://john.smith%40acme.com:abc123@acme.metameetings.net/api/v1/events/annual-general-meeting/sessions/1234/images.json
The above command will return a status of 201 if correctly executed and the new image objects.
This endpoint will create a new image.
Mandatory Parameter
| Parameter | Description |
|---|---|
| asset | The attachment file. |
Delete All Images of Session [Delete All]
#format your get requests as follows
curl -X DELETE https://client.metameetings.net/api/v1/events/annual-general-meeting/sessions/1234/images/delete_all.json
#here is an example
curl -X DELETE https://client.metameetings.net/api/v1/events/annual-general-meeting/sessions/1234/images/delete_all.json
The above command will return a status of 200 if correctly executed.
This endpoint allows the deletion of all images of a session. This action is allowed for admins and event managers for the event.
Reapprove All Images of Session [Re-approve All]
#format your get requests as follows
curl -X PUT https://client.metameetings.net/api/v1/events/annual-general-meeting/sessions/1234/images/reapprove_all.json
#here is an example
curl -X PUT https://client.metameetings.net/api/v1/events/annual-general-meeting/sessions/1234/images/reapprove_all.json
The above command will return a status of 200 if correctly executed.
This endpoint allows the reapproval of all images of a session. This action is allowed for admins and event managers for the event.
HTTP Status Codes
The MetaMeetings API uses the following error codes:
| Code | Meaning |
|---|---|
| 200 | OK – The action you requested was performed successfully. |
| 201 | Created – A new object was created successfully. |
| 401 | Unauthorized – Your login failed. Please check your username and password. |
| 403 | Forbidden – You do not have permission to for the action you tried to perform. |
| 412 | Precondition Failed – The action you tried to take failed because of the parameters you passed. For example, creating a new event requires certain attributes. |
Endpoints
Split a Live Stream [Split]
#format your put requests as follows
curl -X PUT https://client.metameetings.net/api/v1/endpoints/1/splitRecording.json
#here is an example
curl -X PUT https://john.smith%40acme.com:abc123@acmemetameetings.net/api/v1/endpoints/1/splitRecording.json
The above command will return a status of 200 if correctly executed and splits the live stream.
This action is allowed for admins and event managers for the event being updated.