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

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

Get Speaker Form Fields

Request

This endpoint is used to fetch all speaker form fields created for the event. This is a prerequisite step before creating or updating speakers for your event. Each speaker form field will include its respective title, slug, and is_required values. The slug field is particularly important, as it is used as the key in the JSON payload to send complete speaker information (e.g., company_name, job_title).

curl -i -X GET \
  https://api.vfairs.com/rest/v5/forms/speakerFields \
  -H 'Authorization: Bearer <YOUR_bearer_HERE>'

Responses

Bodyapplication/json
statusboolean
Example: true
messagestring
Example: "Successful retrieval of session speaker registation fields."
collectionArray of objects
Example: [{"id":108905,"title":"First Name","slug":"first_name","is_required":true,"status":true,"type":"text"},{"id":108906,"title":"Last Name","slug":"last_name","is_required":true,"status":true,"type":"text"},{"id":108907,"title":"Email","slug":"email","is_required":true,"status":true,"type":"text"},{"id":108917,"title":"Webinar","slug":"session_ids","is_required":true,"status":true,"type":"select"}]
Response
application/json
{ "status": true, "message": "Successful retrieval of session speaker registation fields.", "collection": [ {}, {}, {}, {} ] }

Create/Update Speaker

Request

This endpoint is used to create or update speaker profiles for an event. When creating a new speaker, the speaker_id value is 0 or null. In the JSON payload, use the value of slug property from the Get Speaker Form Fields endpoint as keys to provide complete speaker information (e.g., company_name, job_title), along with the required fields listed below.

Please review the speaker registration form in the event backend, remove any unnecessary fields, and ensure the Bio field is mapped to Bio and the Company/Organization field is mapped to Company. Additionally, pass the speaker image to both the user_image and profile_picture fields.

If sessions are not pre-created, set session_ids to null and exclude the webinar field from the speaker registration form.
If sessions are pre-created, provide session_ids as specified below and include the webinar field in the form.

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

Bodyapplication/jsonrequired
speaker_idinteger

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

Example: 0
emailstringrequired

The email of the speaker.

Example: "QA7@vfairs.com"
first_namestringrequired

The first name of the speaker.

Example: "QA"
last_namestringrequired

The last name of the speaker.

Example: "007"
statusintegerrequired

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

Example: 1
profile_picturestringrequired

The image of the speaker.

Example: "cdn_url"
user_imagestringrequired

The image of the speaker.

Example: "cdn_url"
company_namestringrequired

The company name of the speaker.

Example: "VFairs"
biostringrequired

The biography of the speaker.

Example: "Session"
session_idsArray of strings

The array of session ids.

Example: "[123]"
skip_speaker_creationboolean

If true, the endpoint will only associate the speaker with the session. If false, it will create the speaker as a user and associate them with the session.

Example: true
curl -i -X POST \
  https://api.vfairs.com/rest/v5/users/speakers \
  -H 'Authorization: Bearer <YOUR_bearer_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "speaker_id": 0,
    "email": "QA7@vfairs.com",
    "first_name": "QA",
    "last_name": "007",
    "status": 1,
    "profile_picture": "cdn_url",
    "user_image": "cdn_url",
    "company_name": "VFairs",
    "bio": "Session",
    "session_ids": "[123]",
    "skip_speaker_creation": true
  }'

Responses

Bodyapplication/json
statusboolean
Example: true
messagestring
Example: "Session Speaker(s) created successfully."
speaker_detailsobject
Example: {"session_ids":[123],"action_type":"skipped_speaker_creation"}
Response
application/json
{ "status": true, "message": "Session Speaker(s) created successfully.", "speaker_details": { "session_ids": [], "action_type": "skipped_speaker_creation" } }

Get Speakers

Request

This endpoint is used to fetch a collection of speakers 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 speaker?

You can also get detailed information for an individual speaker by specifying its unique speaker_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=12
speaker_emailstring

Filter by speaker email.

Example: speaker_email=qa5@gmail.com
speaker_idinteger

Filter by speaker ID.

Example: speaker_id=123654
session_idinteger

Filter by session ID.

Example: session_id=52675
fetch_session_speakersboolean

If false, retrieves all speakers regardless of session association. If true, retrieves only speakers with session association. The default value is false.

Example: fetch_session_speakers=false
curl -i -X GET \
  'https://api.vfairs.com/rest/v5/users/speakers?fetch_session_speakers=false&limit=12&page=1&session_id=52675&speaker_email=qa5%40gmail.com&speaker_id=123654' \
  -H 'Authorization: Bearer <YOUR_bearer_HERE>'

Responses

Bodyapplication/json
statusboolean
Example: true
messagestring
Example: "Successful retrieval of session speakers."
speakersArray of objects
Example: [{"speaker_id":644447998,"name":"NUM Xyz","email":"test20+12@vfairs.com","first_name":"NUM","last_name":"Xyz","biography":"Session","company_name":"VFairs","profile_picture":"xx","sessions":[2171861]}]
metaobject
Example: {"current_page":1,"from":1,"last_page":1,"path":"http://api.vfairs.com/rest/v5/users/speakers","per_page":10,"to":1,"total":1}
Response
application/json
{ "status": true, "message": "Successful retrieval of session speakers.", "speakers": [ {} ], "meta": { "current_page": 1, "from": 1, "last_page": 1, "path": "http://api.vfairs.com/rest/v5/users/speakers", "per_page": 10, "to": 1, "total": 1 } }

Delete Speaker

Request

This endpoint is used to delete a speaker from the event. Please provide either the email, speaker_id, or session_id based on your specific use case when deleting the speaker.

Query
delete_userintegerrequired

If set to 1, the speaker will be disassociated from all sessions and deleted from the event as a user. If set to 0, the speaker will be disassociated from all sessions but not deleted from the event as a user.

Example: delete_user=1
emailstring

The email address of the speaker.

Example: email=speaker@gmail.com
speaker_idinteger

The unique identifier for the speaker. If provided, this speaker_id will take precedence over the email field when deleting the speaker.

Example: speaker_id=1212
session_idinteger

The session_id from which the speaker will be disassociated. If specified, the speaker will be removed only from this session. If not provided, the speaker will be disassociated from all sessions.

Example: session_id=580561
curl -i -X DELETE \
  'https://api.vfairs.com/rest/v5/users/speakers?delete_user=1&email=speaker%40gmail.com&session_id=580561&speaker_id=1212' \
  -H 'Authorization: Bearer <YOUR_bearer_HERE>'

Responses

Bodyapplication/json
statusboolean
Example: true
messagestring
Example: "Session Speaker deleted successfully."
datainteger
Example: 1212
Response
application/json
{ "status": true, "message": "Session Speaker deleted successfully.", "data": 1212 }

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