TABLE OF CONTENTS
- 1. Overview
- 2. Use cases
- 3. Authentication
- 4. Event Details
- 4.1 List Airmeets
- 4.2 Fetch Airmeet participants
- 4.3 Fetch Airmeet Sessions
- 4.4 Fetch Airmeet Custom Registration Fields
- 4.5 Fetch event attendance
- 4.6 Fetch session attendance
- 4.7 Fetch Airmeet Booths
- 4.8 Fetch Booth Attendance
- 4.9 Fetch Poll Responses
- 4.10 Fetch Questions Asked
- 4.11 Fetch Event Tracks
- 4.12 Fetch Registration UTM
- 5. Manage Registrations
- 6. Manage Event
- 6.5. Create Booth
- 7. Points to keep in mind and Limitations
1. Overview
Connect your Platform stack with Airmeet APIs and create events, add sessions or add participants for an Airmeet event.
2. Use cases
- Adding registrations to an event
- Adding speakers in bulk
- Creating sessions in bulk
- Creating booths in bulk
- Fetching attendance for the event, sessions, and booths for an event
- Fetching poll responses, questions asked for an event
Datacenter (region)-wise API endpoints:
1. Use "Default region" API if your community URL looks like this:
Default region (Mumbai): https://api-gateway.airmeet.com/prod
2. Use "EU region" API if your community URL looks like this:
EU region: https://api-gateway-prod.eu.airmeet.com/prod
3. Use "US region" API if your community URL looks like this:
US region: https://api-gateway-prod.us.airmeet.com/prod
Community dashboard: https://www.airmeet.com/ (use this to get a key pair issued).
3. Authentication
3.1 Generate Access token & key
Step 1: Sign in to your airmeet account ( https://www.airmeet.com/signup )
Step 2: Click on the "Integrations" tab and select the "API Access Key" section.
Step 3: Click on "Generate access key" and provide a name/label to your key (can be anything that can be remembered later)
Step 4: After providing your label name 'X-Airmeet-Access-Key' with 'X-Airmeet-Secret-Key' would be generated, which can be used in API integration
Access Key = X-Airmeet-Access-Key
Secret Key = X-Airmeet-Secret-Key
All APIs expect a Content-Type: application/JSON header.
3.2 Authentication
POST /auth
This API issues a token for use with the other APIs mentioned in this doc.
Tokens issued by this API are valid for 30 days and can be cached on the consumer service.
Headers
X-Airmeet-Access-Key and X-Airmeet-Secret-Key (can be obtained over from the integrations tab in the community dashboard)
Response
200 OK {"success": true, "data": {"label": "test", "token":
<your_access_token>}}
400 Bad Request - in case the request is missing a header or the supplied values are incorrect
403 Forbidden - in case the keys are revoked (abuse prevention)
500 Internal Server Error - generic server error
4. Event Details
4.1 List Airmeets
GET /airmeets?before=<cursor>&after=<cursor>&size=<number>
This API lists the Airmeets accessible to a token.
The before and after cursors cannot both be used at the same time. If they are both specified, the API ignores them before the cursor.
If not specified, the size is set to 50 Airmeets. Max can be 500.
Airmeets are sorted by their creation time.
Headers
X-Airmeet-Access-Token: airmeet_access_token
Response:
200 OK
{ "data" : [ { "uid" : <airmeet_uuid>, "name" : "Test Airmeet" , "status" : "ONGOING" , "timezone" : "Asia/Kolkata" , "startTime" : <ISO_Date_String>, "endTime" : <ISO_Date_String> } ], "cursors" : { "before" : <integer>, "after" : <integer>, "pageCount" : 3 } }
400 Bad Request - in case the supplied token is incorrect
412 Precondition Failed - in case the passed access token has expired
500 Internal Server Error - generic server error
4.2 Fetch Airmeet participants
GET /airmeet/{airmeetId}/participants?resultSize=<number>&pageNumber=<number>&sortingKey=<column header>&sortingDirection=<direction enum>
This API gives a list of all participants for an event including invitees, guests and registered users
By default, the resultSize is set to 50 registrants. Eg. Set parameter pageNumber=2 for response number 51-100, and so on.
Registrations are sorted in descending order of their creation time
sortingKey can be [‘name’, ‘email’, ‘registrationDate’]
sortingDirection can be [‘ASC’, ‘DESC’]
Headers:
X-Airmeet-Access-Token: airmeet_access_token
Response:
200 OK
{ "participants": [ { "email": "user_email@example.com", "name": "John Doe", "city": "City", "country": "World", "organisation": "Company", "Designation": "Role", "registrationDate": <ISO_Date_String> "profile_url": null, "user_type": "Registered User", "token": "<direct access link url>", "invite_sent": true, "user_profile": [ { "value": "Custom registration field", "fieldId": "e9bbf124-6f54-44aa-8683-09dc34fd246a" } ] },.. ], "userCount": 50, "totalUserCount": 125 }
400 Bad Request - in case the passed token is bad
401 Unauthorized - in case the token does not belong to this Airmeet's community
404 Not Found - in case the supplied airmeet_id param is invalid
412 Precondition Failed - in case the passed access token has expired
500 Internal Server Error - generic server error
4.3 Fetch Airmeet Sessions
Headers:
X-Airmeet-Access-Token: airmeet_access_token
Response:
200 OK
{ "sessions": [ { "sessionid": "0219006f-7cfa-44ba-b47f-14d93a40fc99", "name": "Welcome Session", "start_time": "2021-10-14T07:30:00.000Z", "status": "CREATED", "duration": 30, "summary": "Session Summary", "host_id": [ "bZxdWONJy" ], "cohost_ids": [], "speaker_id": [], "speakerList": [], "type": "HOSTING", },... ] }
400 Bad Request - in case the passed token is bad
401 Unauthorized - in case the token does not belong to this Airmeet's community
404 Not Found - in case the supplied airmeet_id param is invalid
412 Precondition Failed - in case the passed access token has expired
500 Internal Server Error - generic server error
4.4 Fetch Airmeet Custom Registration Fields
GET /airmeet/{airmeetId}/custom-fields
Headers:
X-Airmeet-Access-Token: airmeet_access_token
Response:
200 OK
{ "customFields": [ { "label": "Short Text Field", "name": "shortText", "fieldId": "5a0d3578-6851-4d49-bcb9-96d7466b64bb", "options": [], "isRequired": false, "type": { "fieldType": "custom", "inputType": "text", "mappedFrom": "shortText" } }, { "label": "Single Select Field", "name": "singleSelect", "fieldId": "cc68e0a7-0f59-458a-84af-2ac2784fae01", "options": [ { "code": "Option1", "displayValue": "Option1" }, { "code": "Option2", "displayValue": "Option2" }, { "code": "Option3", "displayValue": "Option3" } ], "isRequired": false, "type": { "fieldType": "custom", "inputType": "radio", "mappedFrom": "singleSelect" } }, { "label": "Multi Select Field", "name": "multiSelect", "fieldId": "b7604a72-6a45-4757-ba71-25ab9f3841ee", "options": [ { "code": "Option1", "displayValue": "Option1" }, { "code": "Option2", "displayValue": "Option2" }, { "code": "Option3", "displayValue": "Option3" } ], "isRequired": false, "type": { "fieldType": "custom", "inputType": "checkbox", "mappedFrom": "multiSelect" } } ] }
400 Bad Request - in case the passed token is bad
401 Unauthorized - in case the token does not belong to this Airmeet's community
404 Not Found - in case the supplied airmeet_id param is invalid
412 Precondition Failed - in case the passed access token has expired
500 Internal Server Error - generic server error
4.5 Fetch event attendance
GET /airmeet/{airmeetId}/attendees?after=<cursor>&before=<cursor>&size=<number>
This API gives a list of all event attendees.
By default, the response page size is set to 50. Max can be 500.
This is an Asynchronous API. If you get a 202 code in response, please try again after 5 minutes.
Headers:
X-Airmeet-Access-Token: airmeet_access_token
Response:
202 Accepted
{ "statusCode": 202, "statusMessage": "Preparing your results.Try after 5 minutes to get the updated results" }
Response:
200 OK
{ "cursors": { "after": 4024760, "before": 4024760, "pageCount": 1, "totalCount": 1 }, "data": [ { "email": "user_email@example.com", "id": 4024760, "name": "John Doe", "user_id": "9jWs2N5Ex", "time_stamp": "2021:12:25T12:20:56.00Z", "time_spent": "20000" } ], "statusCode": 200, "statusMessage": "SUCCESS" }
400 Bad Request - in case the passed token is bad
400 Bad Request - in case the token does not belong to this Airmeet's community
400 Bad Request - in case the supplied airmeet_id param is invalid
412 Precondition Failed - in case the passed access token has expired
500 Internal Server Error - generic server error
4.6 Fetch session attendance
GET /session/{sessionId}/attendees?after=<cursor>&before=<cursor>&size=<number>
This API gives a list of all session attendees.
By default, the response page size is set to 50. Max can be 500.
This is an Asynchronous API. If you get a 202 code in response, please try again after 5 minutes.
Headers:
X-Airmeet-Access-Token: airmeet_access_token
Response:
202 Accepted
{ "statusCode": 202, "statusMessage": "Preparing your results. Try after 5 minutes to get the updated results" }
Response:
200 OK
{ "cursors": { "after": 4024760, "before": 4024760, "pageCount": 1, "totalCount": 1 }, "data": [ { "email": "user_email@example.com", "id": 4024760, "name": "John Doe", "user_id": "9jWs2N5Ex", "time_stamp": "2021:12:25T12:20:56.00Z", "time_spent": "20000" } ], "statusCode": 200, "statusMessage": "SUCCESS" }
400 Bad Request - in case the passed token is bad
400 Bad Request - in case the token does not belong to this Airmeet's community
400 Bad Request - in case the supplied sessionId param is invalid
412 Precondition Failed - in case the passed access token has expired
500 Internal Server Error - generic server error
4.7 Fetch Airmeet Booths
GET /airmeet/{airmeetId}/booths
This API gives a list of all booths in your Airmeet.
Headers:
X-Airmeet-Access-Token: airmeet_access_token
Response:
200 OK
{ "booths": [ { "uid": "{boothId}", "name": "booth name", "exhibitors": [ "booth.exhibitor.1@example.com", "booth.exhibitor.2@example.com" ], "tags": [ "Tag 1", "Tag 2" ], "airmeet_id": "{airmeetId}", "logo_url": "https://image_url", "video": null, "faqs": null, "order": 1, "resources": null, "layoutType": null, "layoutData": "null", "boothExhibitor": true, "social_media_links": null, "short_description": null, "long_description": null, "banner_url": null, "register_interest_details": null, "offer_details": null, "doc_url": null, "doc_name": null, "booth_space_id": null } ] }
400 Bad Request - in case the passed token is bad
400 Bad Request - in case the token does not belong to this Airmeet's community
400 Bad Request - in case the supplied sessionId param is invalid
412 Precondition Failed - in case the passed access token has expired
500 Internal Server Error - generic server error
4.8 Fetch Booth Attendance
GET /airmeet/{airmeetId}/booth/{boothId}/booth-attendance?after=<cursor>&before=<cursor>&size=<number>
This API gives a list of all booth attendees.
By default, the response page size is set to 50. Max can be 500.
This is an Asynchronous API. If you get a 202 code in response, please try again after 5 minutes.
Headers:
X-Airmeet-Access-Token: airmeet_access_token
Response:
202 Accepted
{ "statusCode": 202, "statusMessage": "Preparing your results. Try after 5 minutes to get the updated results" }
Response:
200 OK
{ "cursors": { "after": 4024760, "before": 4024760, "pageCount": 1, "totalCount": 1 }, "data": [ { "email": "user_email@example.com", "id": 4024760, "name": "John Doe", "interested_in_being_contacted": true, "user_id": "9jWs2N5Ex", "visits": 1, "time_stamp": "2021:12:25T12:20:56.00Z", "time_spent": "20000" } ], "statusCode": 200, "statusMessage": "SUCCESS" }
400 Bad Request - in case the passed token is bad
400 Bad Request - in case the token does not belong to this Airmeet's community
400 Bad Request - in case the supplied airmeet_id param is invalid
412 Precondition Failed - in case the passed access token has expired
500 Internal Server Error - generic server error
4.9 Fetch Poll Responses
GET /airmeet/{airmeetId}/polls?after=<cursor>&before=<cursor>&size=<number>
This API gives a list of all poll responses
By default, the response page size is set to 50. Max can be 500.
Headers:
X-Airmeet-Access-Token: airmeet_access_token
Response:
200 OK
{ "cursors": { "after": 4024760, "before": 4024760, "pageCount": 1, "totalCount": 1 }, "data": [ { "email": "user_email@example.com", "name": "John Doe", "user_id": "9jWs2N5Ex", "polls": [ { "question": "Poll Question 1", "answer": "Poll Answer 1", "time_stamp": "2021:12:25T12:20:56.00Z" }, { "question": "Poll Question 2", "session_id": "Poll Answer 2" "time_stamp": "2021:12:25T12:20:56.00Z" } ] }, ], "statusCode": 200, "statusMessage": "SUCCESS" }
400 Bad Request - in case the passed token is bad
400 Bad Request - in case the token does not belong to this Airmeet's community
400 Bad Request - in case the supplied airmeet_id param is invalid
412 Precondition Failed - in case the passed access token has expired
500 Internal Server Error - generic server error
4.10 Fetch Questions Asked
GET /airmeet/{airmeetId}/questions
This API gives all the questions asked in an Airmeet
Headers:
X-Airmeet-Access-Token: airmeet_access_token
Response:
200 OK
{ "data": [ { "email": "user_email@example.com", "name": "John Doe", "user_id": "9jWs2N5Ex", "questions": [ { "question": "Question 1", "session_id": "{sessionId 1}", "upvoteCount": 1.0 }, { "question": "Question 2", "session_id": "{sessionId 2}", "upvoteCount": 2.0, "time_stamp": "2021:12:25T12:20:56.00Z" } ] }, ], "statusCode": 200, "statusMessage": "SUCCESS" }
400 Bad Request - in case the passed token is bad
400 Bad Request - in case the token does not belong to this Airmeet's community
400 Bad Request - in case the supplied airmeet_id param is invalid
412 Precondition Failed - in case the passed access token has expired
500 Internal Server Error - generic server error
4.11 Fetch Event Tracks
GET /airmeet/{airmeetId}/tracks
- This API gives all the tracks in an Airmeet.
Headers:
X-Airmeet-Access-Token: airmeet_access_token
Response:
200 OK
{ "tracks": [ { "uid": "1f828815-aaaa-bbbb-cccc-02ee41df1d05", "name": "track name", "description": "track description", "track_order": null, "metaData": { "colorCode": "hsl(9,96%,47%)" }, "sessions": [ "6834900f-aaaa-bbbb-cccc-feebca99c69e" ] }, {... } ] }
400 Bad Request - in case the passed token is bad
400 Bad Request - in case the token does not belong to this Airmeet's community
400 Bad Request - in case the supplied airmeet_id param is invalid
412 Precondition Failed - in case the passed access token has expired
500 Internal Server Error - generic server error
4.12 Fetch Registration UTM
GET /airmeet/{airmeetId}/utms?after=<cursor>&before=<cursor>&size=<number>
This API gives a list of UTM parameters captured at the time of registration
Read more: How to use UTM Parameters in Airmeet?
This is an Asynchronous API. If you get a 202 code in response, please try again after 5 minutes.
Headers:
X-Airmeet-Access-Token: airmeet_access_token
Response:
202 Accepted
{ "statusCode": 202, "statusMessage": "Preparing your results. Try after 5 minutes to get the updated results" }
Response:
200 OK
{ "cursors": { "after": 8, "before": 1, "pageCount": 1, "totalCount": 8 }, "data": [ { "airmeetId": "{airmeetId}", "email": "user@yopmail.com", "id": 1, "utms": { "utm_campaign": "test1_test2", "utm_medium": "test1-test2", "utm_source": "test1-test2" } }, { "airmeetId": "{airmeetId}", "email": "user@yopmail.com", "id": 2, "utms": { "utm_campaign": null, "utm_medium": "test123-_-_", "utm_source": null } }, { "airmeetId": "{airmeetId}", "email": "user@yopmail.com", "id": 3, "utms": { "utm_campaign": "CAMP1234567890asdfghjkwertyuiopzxcvbnm", "utm_medium": null, "utm_source": null } }, { "airmeetId": "{airmeetId}", "email": "user@yopmail.com", "id": 4, "utms": { "utm_campaign": null, "utm_medium": null, "utm_source": "SOURCE" } }, { "airmeetId": "{airmeetId}", "email": "user@yopmail.com", "id": 5, "utms": { "utm_campaign": "test2", "utm_medium": "TES1T", "utm_source": null } }, { "airmeetId": "{airmeetId}", "email": "user@yopmail.com", "id": 6, "utms": { "utm_campaign": "test1", "utm_medium": null, "utm_source": "test2" } }, { "airmeetId": "{airmeetId}", "email": "user@yopmail.com", "id": 7, "utms": { "utm_campaign": null, "utm_medium": "ajknvjds", "utm_source": "jsdnv" } } ], "statusCode": 200, "statusMessage": "SUCCESS" }
Note:
- In "airmeetId": "{airmeetId}", kindly enter the event link inplace of "{airmeetId}"
- In "email": This should be the participant's email id
400 Bad Request - in case the passed token is bad
400 Bad Request - in case the token does not belong to this Airmeet's community
400 Bad Request - in case the supplied airmeet_id param is invalid
412 Precondition Failed - in case the passed access token has expired
500 Internal Server Error - generic server error
5. Manage Registrations
5.1 Add Authorized Attendee
POST /airmeet/{airmeet_id}/attendee
Adds an attendee allowed to enter the Airmeet specified. A 'unique link (Magic Link)' would be sent to users, and after clicking on the link, the user can modify these details at the time of entry to the Airmeet.
The user will be visible in the session with the details provided in this API, but they can use different details in their individual user profiles.
Headers:
X-Airmeet-Access-Token: airmeet_access_token
Request Payload:
{ "email": "user_email@example.com", "firstName": "John", "lastName": "Doe", "attendance_type": "IN-PERSON", "city": "abc", "country": "xyz", "designation": "qwerty", "organisation": "Airmeet", "registerAttendee": false, "sendEmailInvite": true }
Email address, First & Last name are mandatory fields.
For a Hybrid Conference Format, the attendance type field is mandated, and "attendance_type": "IN-PERSON" or "VIRTUAL." should be mentioned.
IN-PERSON: For attended joining onsite. The attendee will also receive an email containing a QR code and magic link.
VIRTUAL: For attendees joining virtually from their desktop/laptop.
Note :
- If registerAttendee is set as false, the attendee will be treated as an invitation and saved in the ‘registration pending’ state until they click on their unique link. The default value for registerAttendee is false. It is an optional parameter.
- Set registerAttendee as true if you want to add the attendee as a confirmed registration. Please note that this will increase the number of event registrations for the event and reduce the number of registrations left by 1.
- If sendEmailInvite is set to true, an email will be sent to the attendee with the event calendar invite and the unique link. The default value for sendEmailInvite is true. It is an optional parameter.
- Set sendEmailInvite to false if you wish to skip sending the email to your attendee.
- For the Hybrid Conference format, if the attendance type: is "IN-PERSON" or "VIRTUAL," the participants would be considered registered by default, and the registration limit would be deducted.
Replaying this request does not change any details for the user. It only authorizes the user again in case their access is revoked.
Response:
200 OK - {"email": "user_email@example.com", "entryLink":
"https://www.airmeet.com/e/<airmeet_id>?code=<unique_entry_code>"}
400 Bad Request - in case the passed token is bad
401 Unauthorized - in case the passed token does not have permission for the passed
airmeet_id
404 Not Found - in case the supplied airmeet_id param is invalid
412 Precondition Failed - the passed access token has expired
500 Internal Server Error - generic server error
5.2 Add Authorized Attendee with Custom Registration Fields
POST /airmeet/{airmeet_id}/attendee
Adds an attendee allowed to enter the Airmeet specified with custom registration fields. A 'unique link (Magic Link)' would be sent to users, and after clicking on the link, the user can modify these details at the time of entry to the Airmeet.
The user will be visible in the session with the details provided in this API.
Headers:
X-Airmeet-Access-Token: airmeet_access_token
Request Payload:
{ "email": "user_email@example.com", "firstName": "John", "lastName": "Doe", "city": "abc", "country": "xyz", "designation": "qwerty", "organisation": "Airmeet", "customFieldMapping": [ { "fieldId": "d68ebeb2-bf18-4c96-837b-8872604ae653", "value": "Longfield data" }, { "fieldId": "dbdf99b1a-ee3b-4dd3-9d97-d54df19f0ba6", "value": "option02" }, { "fieldId": "af2c99c3-ba9a-4d17-a150-d06a1ae5b736", "value": ["Medium","sad","Happy"] }], "registerAttendee": false, "sendEmailInvite": true }
Email address, First & Last name are mandatory fields.
For a Hybrid Conference Format, the attendance type field is mandated, and "attendance_type": "IN-PERSON," or "VIRTUAL." should be mentioned.
IN-PERSON: For attended joining onsite. The attendee will also receive an email containing a QR code and magic link.
VIRTUAL: For attendees joining virtually from their desktop/laptop.
Note :
“custom field mapping” takes an array of fields as the value. Use the “Fetch Custom Registration Fields” API to generate the appropriate value.
Replaying this request does not change any details for the user. It only authorizes the user again in case their access was revoked.
If registerAttendee is set as false, the attendee will be treated as an invitation and saved in the ‘registration pending’ state until they click on their unique link. The default value for registerAttendee is false. It is an optional parameter.
Set registerAttendee as true if you want to add the attendee as a confirmed registration. Please note that this will increase the number of event registrations for the event and reduce the number of registrations left by 1.
If sendEmailInvite is set to true, an email will be sent to the attendee with the event calendar invite and the unique link. The default value for sendEmailInvite is true. It is an optional parameter.
Set sendEmailInvite to false if you wish to skip sending the email to your attendee.
- For the Hybrid Conference format, if the attendance type: is "IN-PERSON" or "VIRTUAL," the participants would be considered registered by default, and the registration limit would be deducted.
Response:
200 OK - {"email": "user_email@example.com", "entryLink":
"https://www.airmeet.com/e/<airmeet_id>?code=<unique_entry_code>"}
400 Bad Request - in case the passed token is bad
401 Unauthorized - in case the passed token does not have permission for the passed
airmeet_id
404 Not Found - in case the supplied airmeet_id param is invalid
412 Precondition Failed - the passed access token has expired
500 Internal Server Error - generic server error
5.3. Block Attendee
PUT /airmeet/{airmeetId}/attendee/block
Blocks an attendee from the specified Airmeet
Headers:
X-Airmeet-Access-Token: airmeet_access_token
Request Payload:
{ "attendeeEmail": "user_email@example.com", }
Here, attendeeEmail is the email of the attendee being blocked from the event.
Response:
200 OK - {"success": true}
400 Bad Request - in case the passed token is bad
401 Unauthorized - in case the passed token does not have permission for the passed
airmeet_id
404 Not Found - in case the supplied airmeet_id param is invalid
412 Precondition Failed - the passed access token has expired
500 Internal Server Error - generic server error
5.4 Unblock Attendee
PUT /airmeet/{airmeetId}/attendee/unblock
Removes the block on an attendee from the specified Airmeet
Headers:
X-Airmeet-Access-Token: airmeet_access_token
Request Payload:
{ "attendeeEmail": "user_email@example.com", }
Here, attendeeEmail is the email of the attendee whose block from the event is being removed.
Response:
200 OK - {"success": true}
400 Bad Request - in case the passed token is bad
401 Unauthorized - in case the passed token does not have permission for the passed
airmeet_id
404 Not Found - in case the supplied airmeet_id param is invalid
412 Precondition Failed - the passed access token has expired
500 Internal Server Error - generic server error
6. Manage Event
6.1 Create Airmeet
Create an Airmeet in your community
Automatically create a new Airmeet for a monthly review meeting for your employees or a new batch of students.
Endpoint:
POST /airmeet
Headers:
X-Airmeet-Access-Token: airmeet_access_token
Request Payload:
{ "hostEmail": "host_email@example.com", "eventName": "Event Name", "shortDesc": "Short description for the event", "longDesc": "Long description for the event", "access": "INVITED_ONLY", "eventOrganiserName": "Community Name", "supportEmail":"support@yourdomain.com", "eventType": "MEETUP", "timing": { "startTime": 1622528299000, "endTime": 1622528299000, "timezone": "Asia/Kolkata" }, "config": { "networking": true, "tableCount": 0 } }
Only hostEmail, eventName, shortDesc, timing - startTime, endTime, and timezone are mandatory fields
Access Type can be “INVITED_ONLY” or “WITH_VERIFIED_EMAIL” or “WITHOUT_VERIFIED_EMAIL.” or “EMAIL_UNIQUE_LINK”. Default is “INVITED_ONLY”
“INVITED_ONLY” - only those who have been invited will be able to join the event
“WITH_VERIFIED_EMAIL” - only those users who have a verified email will be able to join the event
“WITHOUT_VERIFIED_EMAIL” - anyone with the event link will be able to join the event
“EMAIL_UNIQUE_LINK” - during registration, users will receive a unique link on their email which they have to click to complete registration and join the event.
Start and End time should be unix timestamp
timezone is a Canonical tz name, e.g., "Asia/Kolkata" see https://en.wikipedia.org/wiki/List_of_tz_database_time_zones for the full list
Few timezones might not be available - please check the dashboard for available timezones
Response:
200 OK - {"uuid":"a23f56d0-ba1d-11eb-86c0-exampleuuid", "airmeet status" : "CREATED"}
400 Bad Request - in case the passed token is bad
401 Unauthorized - in case the passed token does not have permission for the passed community_id
404 Not Found - in case the supplied community_id param is invalid
412 Precondition Failed - the passed access token has expired
500 Internal Server Error - generic server error
6.2 Add Speaker
Add a speaker to your Airmeet event
Call this API multiple times for adding speakers in bulk
Endpoint:
POST /airmeet/{airmeet_id}/speaker
Headers:
X-Airmeet-Access-Token: airmeet_access_token
Request Payload:
{ "name": "Speaker’s name", "email": "speaker.email@example.com", "organisation": "", "designation": "", "imageUrl": "", "bio": "", "city": "", "country": "" }
Only name and email are mandatory fields
All fields are strings
imageUrl only accepts urls ending with “.jpg”, “.jpeg” and “.png”. If any other imageUrl is passed, the speaker will be added with a default profile image. This can be updated from the Airmeet dashboard.
Response:
200 OK - {"email":"string","status":"ADDED_TO_EVENT"}
400 Bad Request - in case the speaker with the same name or email already exists for the specified Airmeet.
404 Not Found - in case the supplied airmeet_id param is invalid
500 Internal Server Error - generic server error
6.3 Create Session
Add a session to your Airmeet event.
Call this API multiple times for creating sessions in bulk.
Endpoint:
POST /airmeet/{airmeet_id}/session
Headers:
X-Airmeet-Access-Token: airmeet_access_token
Request Payload:
{ "sessionTitle": "Title for the session", "sessionStartTime": 1628149140000, "sessionDuration": 1800, "sessionSummary": "string", "hostEmail": "host.email@example.com", "speakerEmails": [ "speaker1.email@example.com", "speaker2.email@example.com" ], "cohostEmails": [ "team.member@example.com" ], “type”:”HOSTING” "tracks": ["{track uid}"], "tags": ["tag1","tag2"], "boothId": "{boothId}", "speedNetworkingData": { "conversationTime": 300, "extendNetworkingTime": 120 } "sessionMeta": { "hideHost": false } }
Only sessionTitle, sessionStartTime, and hostEmail are mandatory fields
Speakers should be added to the Airmeet before creating the session
Team members should be added to the community before creating the session
If you want a speaker to get the same privilege as a co-host, you can add their email in both the speaker and cohost fields
Uploading of background assets for the ‘FLUID_LOUNGE’ session is not supported
Response:
200 OK
{ "uuid": "64975ddc-c09e-47cd-b89e-832c6b7dc7e1", "token": [ { "email": "speaker1.email@example.com", "token": "https://www.airmeet.com/event/session?t=<unique-code>" }, { "email": "speaker2.email@example.com", "token": "https://www.airmeet.com/event/session?t=<unique-code>" } ] }
400 Bad Request - in case there is already an overlapping session(same time)
404 Not Found - in case the supplied airmeet_id param is invalid
412 Precondition Failed - the passed access token has expired
500 Internal Server Error - generic server error
6.4 Start Airmeet
Use this API to start and end your Airmeet once it is created, without requiring a visit to the community dashboard
Endpoint:
POST /airmeet/{airmeet_id}/status
Headers:
X-Airmeet-Access-Token: airmeet_access_token
Request Payload:
{ "status": "ONGOING" } to start an Airmeet { "status": "FINISHED" } to end an Airmeet
Response:
200 OK - { "statusUpdated": true }
400 Bad Request - in case the status does not exist
404 Not Found - in case the supplied airmeet_id param is invalid
500 Internal Server Error - generic server error
6.5. Create Booth
- Add a booth to your Airmeet event
- Call this API multiple times for creating booths in bulk
Endpoint:
POST /airmeet/{airmeet_id}/booths
Headers:
X-Airmeet-Access-Token: airmeet_access_token
Request Payload:
{ "name": "Booth Name", "exhibitors": [ "exhibitor1.email@example.com", "exhibitor2.email@example.com" ], "tags": [ "Tag 1", "Tag 2" ], "metaData": { "chatEnabled": true, "loungeEnabled": true, "broadcastEnabled": true, "tableCount": 6 }, "exhibitorInfo": [ { "email": "exhibitor1.email@example.com", "exhibitorAttendanceType": "HYBRID" }, { "email": "exhibitor2.email@example.com", "exhibitorAttendanceType": "HYBRID" } ] }
The “name” field is the only mandatory field.
Booth Logo cannot be uploaded from the API and need to be added to the dashboard.
Response:
200 OK - {"uuid":"64975ddc-c09e-47cd-b89e-832c6b7dc7e1" }
400 Bad Request - in case there is already an overlapping session(same time)
404 Not Found - in case the supplied airmeet_id param is invalid
412 Precondition Failed - the passed access token has expired
500 Internal Server Error - generic server error
7. Points to keep in mind and Limitations
- A few time zones might not be available. Kindly check the dashboard for available time zones while creating an event.
- Email address, First & Last name are mandatory fields in uploading the CSV file and the custom registration form.
- While fetching the list of Airmeets, The before and after cursors cannot be used simultaneously. If they are both specified, the API ignores them before the cursor.
- Tokens issued by this API are valid for 30 days and can be cached on the consumer service.
- While creating a session:
- Only SessionTitle, SessionStartTime, and Host Email are mandatory fields.
- Speakers should be added to the Airmeet before creating the session.
- Team members should be added to the community before creating the session.
- If you want a speaker to get the same privilege as a co-host, you can add their email in both the speaker and cohost fields.
- The session type should be HOSTING only.
Need more help? Contact support@airmeet.com or visit our 24*7 Support Lounge.
Was this article helpful?
That’s Great!
Thank you for your feedback
Sorry! We couldn't be helpful
Thank you for your feedback
Feedback sent
We appreciate your effort and will try to fix the article