MethodEndpointDescription
POST/v5/oauth/tokenGenerate an OAuth access token
GET/v5/forms/attendeeFieldsRetrieve attendee form fields
POST/v5/users/attendeesCreate or update an attendee
GET/v5/users/attendeesRetrieve all attendees
POST/v5/users/attendees/{attendeeId}/resumeUpload an attendee's resume
DELETE/v5/users/attendees/{attendeeId}/deleteRemove an attendee
POST/v5/sessions/sessionTracksCreate or update a session track
GET/v5/sessions/sessionTracksRetrieve all session tracks
DELETE/v5/sessions/sessionTracks/{id}Delete a session track
POST/v5/sessionsCreate or update a session
GET/v5/sessionsRetrieve all sessions
DELETE/v5/sessions/{id}Delete a session
POST/v5/sessions/sessionHandoutsUpload or update a session handout
GET/v5/sessions/sessionHandoutsRetrieve all session handouts
DELETE/v5/sessions/sessionHandouts/{id}Remove a session handout
GET/v5/forms/speakerFieldsRetrieve speaker form fields
POST/v5/users/speakersCreate or update a speaker profile
GET/v5/users/speakersRetrieve all speakers
DELETE/v5/users/speakersRemove a speaker profile
GET/v5/event/languagesRetrieve available event languages
GET/v5/event/getEventDetailsGet detailed event information
GET/v5/reports/qrScanAnalyticsRetrieve QR scan analytics
GET/v5/reports/userJourneyAnalyticsRetrieve user journey analytics

Download OpenAPI description
Overview
Languages
Servers
US
https://api.vfairs.com/rest/
CA
https://api.vfairs.ca/rest/
EU
https://api-eu.vfairs.com/rest/
UK
https://api-uk.vfairs.com/rest/
KSA
https://api-ksa.vfairs.com/rest/

OAuth Access Token

This section provides endpoints to authenticate vFairs event. It covers how to get an access token, manage its lifecycle, and handle event-specific access. vFairs uses OAuth 2.0 to ensure secure and controlled API access, allowing applications to authenticate safely without exposing sensitive credentials.

Operations

Attendees

This section provides endpoints to manage event attendees, including registration field retrieval, attendee creation, updates, bulk/group registrations, resume uploads, and user deletions. Secure access requires event-specific OAuth tokens. The API supports dynamic form configurations, pagination, filtering by email or user_id, and nested child_users for structured group registrations.

Operations

Session Tracks

This section provides endpoints to create, update, retrieve, and delete session tracks for multi-language events. Use track_id=0 for new tracks. Tracks require language-specific mapping via /v5/event/languages. Supports pagination, filtering, and bulk retrieval to efficiently manage localized session tracks.

Operations

Sessions

This section provides endpoints to create, update, retrieve, and delete event sessions. Use session_id=0 for new entries. Sessions can be linked to session tracks and speakers via their IDs and require language-specific entries via /v5/event/languages for multi-language support. The API supports pagination, filtering, and bulk data retrieval for efficient session management.

Operations

Create/Update Session

Request

This endpoint is used to create or update session information for the event. When creating a new session, the session_id value is 0 or null.

For events with multiple languages, use the Get Languages endpoint to retrieve language IDs. Create a separate session for each language so that when the language switcher is applied, the corresponding language sessions appear in the listing.

To associate sessions with the relevant session track for listing purposes, use the Get Session Track endpoint to retrieve Session Track IDs and assign the relevant track ID to the session.

To associate speakers with a session, use the Get Session Speakers endpoint to retrieve Speaker IDs. Add the speaker IDs as an array of integers. For a single speaker, the array will contain one speaker ID, e.g., [223565]. For multiple speakers, the array will contain multiple speaker IDs separated by commas e.g., [532332,654518].

The currently supported session types are PREC (Pre-Recorded), ONDEMAND (On Demand), ZOOM (External Zoom URLs), Poster, CUSTOM_EMBED (Custom URL, e.g., Vimeo, YouTube), IN_PERSON_WEBINAR (Physical Sessions), Message_Title (To add breaks within the session listing)

Bodyapplication/jsonrequired
session_idinteger

The id of the session, required while updating the record.

Example: 0
titlestringrequired

The title of the session.

Example: "How Amadeus Uses a Global Event Mesh to Make Travel Work Better"
mode_of_attendancestringrequired

The mode of attendance, which should be one of the following: VIRTUAL, ON_SITE, HYBRID.

Enum"VIRTUAL""ON_SITE""HYBRID"
Example: "HYBRID"
speaker_idsArray of stringsrequired

The array of integers with speaker IDs.

Example: [642234153]
is_activestringrequired

The status of the session [1 to activate and 0 to deactivate].

Example: "1"
descriptionstringrequired

The description of the session.

Example: "Seven years ago, Amadeus embarked on the transformative journey of embracing."
session_typestringrequired

The type of the session, which should be one of the following: PREC, ONDEMAND, ZOOM, Poster, CUSTOM_EMBED, IN_PERSON_WEBINAR, Message_Title.

Enum"PREC""ONDEMAND""ZOOM""Poster""CUSTOM_EMBED""IN_PERSON_WEBINAR""Message_Title"
Example: "ZOOM"
start_timestringrequired

The start string and time of the session, formatted as YYYY-MM-DD H:i:s.

Example: "2024-12-11 00:00:00"
durationstring

The total duration of the session, formatted as H:i:s.

Example: "00:00:00"
tracking_durationstring

For session tracking, add the same duration value in this parameter, formatted as H:i:s.

Example: "00:00:00"
track_idinteger

The id of the track.

Example: 30408
language_idintegerrequired

The id of the language.

Example: 1
show_in_agendainteger

To display the session in the agenda [1 to enable and 0 to disable].

Example: 0
enable_qainteger

To enable Q&A for the session [1 to enable and 0 to disable].

Example: 0
urlstring

The URL of the session.

Example: "https://www.youtube.com/watch?v=nP731V0bdmM"
early_join_buffer_in_secondsstring

The buffer time that allows users to join the session before the scheduled start time should be specified in seconds, e.g., 120.

Example: "120"
customer_webinar_idinteger

The session ID of the external system.

Example: 12312
survey_idinteger

Associate the survey ID with the session to collect feedback from attendees at the end.

Example: 123123
curl -i -X POST \
  https://api.vfairs.com/rest/v5/sessions \
  -H 'Authorization: Bearer <YOUR_bearer_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "session_id": 0,
    "title": "How Amadeus Uses a Global Event Mesh to Make Travel Work Better",
    "mode_of_attendance": "HYBRID",
    "speaker_ids": [
      642234153
    ],
    "is_active": "1",
    "description": "Seven years ago, Amadeus embarked on the transformative journey of embracing.",
    "session_type": "ZOOM",
    "start_time": "2024-12-11 00:00:00",
    "duration": "00:00:00",
    "tracking_duration": "00:00:00",
    "track_id": 30408,
    "language_id": 1,
    "show_in_agenda": 0,
    "enable_qa": 0,
    "url": "https://www.youtube.com/watch?v=nP731V0bdmM",
    "early_join_buffer_in_seconds": "120",
    "customer_webinar_id": 12312,
    "survey_id": 123123
  }'

Responses

Bodyapplication/json
statusboolean
Example: true
messagestring
Example: "Session(s) created successfully."
session_idinteger
Example: 192073
Response
application/json
{ "status": true, "message": "Session(s) created successfully.", "session_id": 192073 }

Get Sessions

Request

This endpoint is used to fetch a collection of sessions from the event. You can customize the returned data by specifying query parameters, as the data will be fetched based on these parameters. To navigate through the entire collection, use the pagination fields included in the response.

Need details about a single session?

You can also get detailed information for an individual session by specifying its unique session_id in the query parameters.

Query
pageinteger

The page number for pagination.

Example: page=1
limitinteger

The number of records to return per page.

Example: limit=50
session_idinteger

Filter by session ID.

Example: session_id=2171860
session_typestring

Filter by session type, value should be one of the following: PREC, ONDEMAND, ZOOM, Poster, CUSTOM_EMBED, IN_PERSON_WEBINAR, Message_Title.

Enum"PREC""ONDEMAND""ZOOM""Poster""CUSTOM_EMBED""IN_PERSON_WEBINAR""Message_Title"
Example: session_type=ZOOM
statusstring

Filter by session status, value should be one of the following: active, inactive, ALL.

Enum"active""inactive""ALL"
Example: status=active
mode_of_attendancestring

Filter by mode of attendance, value should be one of the following: VIRTUAL, ON_SITE, HYBRID, ALL.

Enum"VIRTUAL""ON_SITE""HYBRID""ALL"
Example: mode_of_attendance=ALL
start_datestring

Retrieves sessions created within the specified start and end dates. Format: YYYY-MM-DD.

Example: start_date=2024-01-01
end_datestring

Retrieves sessions created within the specified start and end dates. Format: YYYY-MM-DD.

Example: end_date=2024-01-10
curl -i -X GET \
  'https://api.vfairs.com/rest/v5/sessions?end_date=2024-01-10&limit=50&mode_of_attendance=ALL&page=1&session_id=2171860&session_type=ZOOM&start_date=2024-01-01&status=active' \
  -H 'Authorization: Bearer <YOUR_bearer_HERE>'

Responses

Bodyapplication/json
statusboolean
Example: true
messagestring
Example: "Successful retrieval of sessions."
sessionsArray of objects
Example: [{"session_id":580384,"app_id":8995,"sequence":1,"is_active":0,"show_in_agenda":1,"enable_qa":1,"title":"Incident Command System for Industrial Control Systems Workshop","description":"xyz","session_type":"ZOOM","track_id":25702,"start_time":"2024-06-17 08:30:00","tracking_duration":null,"end_time":"08:00:00","language_id":1,"url":"","url_ali_baba":"","early_join_buffer_in_seconds":null,"customer_webinar_id":"","survey_id":null,"mode_of_attendance":"ON_SITE","keywords":"","location_name":"Savoy Place | Flowers Room","location_url":"","poster_thumbnail":"","handouts":[{"handout_id":16181,"handout_title":"Security by Design - A Communication Problem?","handout_link":"https://vfairs-core-backend-prod.s3.amazonaws.com/8995/sessions/P5Drei3VP0EVTFvz3PT01JAk84IL79I2cIWjJGXk.pdf"}],"speakers":[]}]
metaobject
Example: {"current_page":1,"from":1,"last_page":39,"path":"http://api.vfairs.com/rest/v5/sessions","per_page":1,"to":1,"total":39}
Response
application/json
{ "status": true, "message": "Successful retrieval of sessions.", "sessions": [ {} ], "meta": { "current_page": 1, "from": 1, "last_page": 39, "path": "http://api.vfairs.com/rest/v5/sessions", "per_page": 1, "to": 1, "total": 39 } }

Delete Session

Request

This endpoint is used to delete a session from the event.

Path
idstringrequired

The ID of the session.

Example: officia
sessionIdintegerrequired

The unique identifier of the session to be deleted.

Example: 2222386
curl -i -X DELETE \
  https://api.vfairs.com/rest/v5/sessions/officia \
  -H 'Authorization: Bearer <YOUR_bearer_HERE>'

Responses

Bodyapplication/json
statusboolean
Example: true
messagestring
Example: "Session deleted successfully."
session_idinteger
Example: 2222386
Response
application/json
{ "status": true, "message": "Session deleted successfully.", "session_id": 2222386 }

Session Handouts

This section provides endpoints to create, update, retrieve, and delete session handouts. Use session_handout_id=0 for new entries. Handouts are linked to sessions via their IDs, which can be retrieved from /v5/sessions. The API supports pagination, filtering, bulk retrieval, and document management to ensure seamless attendee access.

Operations

Speakers

This section provides endpoints to create, update, retrieve, and delete speaker profiles. Use speaker_id=0 for new entries. Speakers can be linked to sessions via their IDs, retrieved from /v5/sessions. The API supports dynamic form configurations, including fields like company_name and bio, and allows image handling, session associations, and deletions by speaker_id, email, or session_id.

Operations

Event

This section provides endpoints to retrieve event metadata, including available languages for multi-language configuration and detailed event information. These endpoints are essential for localizing content such as sessions and tracks and integrating event-specific settings to ensure a seamless and customized event experience.

Operations

Reports

This section provides endpoints to retrieve reports of the events

Operations