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

Get Attendee Form Fields

Request

This endpoint is used to fetch all attendee form fields created for the event. This is a prerequisite step before creating or updating attendees for your event. Each attendee 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 attendee information (e.g., company_name, job_title).

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

Responses

Bodyapplication/json
statusboolean
Example: true
messagestring
Example: "User registration fields fetched."
fieldsArray of objects
Example: [{"id":1383524,"title":"First Name","slug":"first_name","is_required":true,"status":true,"type":"text"},{"id":1383525,"title":"Last Name","slug":"last_name","is_required":true,"status":true,"type":"text"}]
Response
application/json
{ "status": true, "message": "User registration fields fetched.", "fields": [ {}, {} ] }

Create/Update Attendee

Request

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

Group Registrations: If group registrations are configured for your event, add the child users of each parent within the child_users array as JSON objects. These objects should include all the attendee form field slug property values enabled for group/child members, along with the required fields listed below.

Bodyapplication/jsonrequired
idinteger

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

Example: 0
emailstringrequired

The email of the attendee.

Example: "sample+seeker@vfairs.com"
first_namestringrequired

The first name of the attendee.

Example: "Sample"
last_namestringrequired

The last name of the attendee.

Example: "Seeker"
statusintegerrequired

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

Example: 1
child_usersArray of strings

An array of attendee objects, where each object will be added as a child user for the parent user. Example: [{ "email": "sampleuser@vfairs.com", "first_name": "Sample", "last_name": "Seeker 2", "status": "1" }]

Example: []
generate_qr_codeboolean

Allows to create QR Code of the user. Example: true

Example: false
send_signup_emailboolean

Allows to sending email to the created or updated user. Example: true

Example: true
curl -i -X POST \
  https://api.vfairs.com/rest/v5/users/attendees \
  -H 'Authorization: Bearer <YOUR_bearer_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "id": 0,
    "email": "sample+seeker@vfairs.com",
    "first_name": "Sample",
    "last_name": "Seeker",
    "status": 1,
    "child_users": [],
    "generate_qr_code": false,
    "send_signup_email": true
  }'

Responses

Bodyapplication/json
statusboolean
Example: true
messagestring
Example: "Attendee(s) created successfully."
dataobject
Example: {"id":12214213,"external_id":123213}
Response
application/json
{ "status": true, "message": "Attendee(s) created successfully.", "data": { "id": 12214213, "external_id": 123213 } }

Get Attendees

Request

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

You can also get detailed information for an individual attendee by specifying their unique user_id or email 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
is_activeboolean

If true, returns active users; if false, returns inactive users. Defaults to active users.

Example: is_active=true
emailstring

Filter by email address.

Example: email=dyzyrupesu@mailinator.com
user_idinteger

Filter by user ID.

Example: user_id=630706019
magic_login_linkboolean

If true, returns a magic login link for the user to log in without credentials. If false, does not return a magic login link.

Example: magic_login_link=true
payment_detailsboolean

If true, returns payment details along with personal information. If false, returns only personal information.

Example: payment_details=true
order_by_updated_recordboolean

Applies descending (DSC) sorting on the updated_at field.

Example: order_by_updated_record=true
start_datestring

If order_by_updated_record=false, retrieves users by registered_at between start_date and end_date; otherwise, uses updated_at. Format: YYYY-MM-DD.

Example: start_date=2024-11-01
end_datestring

If order_by_updated_record=false, retrieves users by registered_at between start_date and end_date; otherwise, uses updated_at. Format: YYYY-MM-DD.

Example: end_date=2024-11-10
curl -i -X GET \
  'https://api.vfairs.com/rest/v5/users/attendees?email=dyzyrupesu%40mailinator.com&end_date=2024-11-10&is_active=true&limit=50&magic_login_link=true&order_by_updated_record=true&page=1&payment_details=true&start_date=2024-11-01&user_id=630706019' \
  -H 'Authorization: Bearer <YOUR_bearer_HERE>'

Responses

Bodyapplication/json
statusboolean
Example: true
messagestring
Example: "Successful retrieval of attendees."
usersArray of objects
Example: [{"id":1234995257,"original_id":1234995257,"username":"sam.van.hauwaert@secureics.be","first_name":"Sam","last_name":"Van Hauwaert","type":8,"external_id":null,"qr_url":"https://vfairs-api.s3.amazonaws.com/user-qr-codes/vfairs_qr17374721581080332676.jpg","resume":null,"registered_at":"2025-01-21T15:09:17.000000Z","has_paid":false,"is_active":true}]
metaobject
Example: {"current_page":1,"from":1,"last_page":36,"path":"http://api.vfairs.com/rest/v5/users/attendees","per_page":1,"to":1,"total":36}
Response
application/json
{ "status": true, "message": "Successful retrieval of attendees.", "users": [ {} ], "meta": { "current_page": 1, "from": 1, "last_page": 36, "path": "http://api.vfairs.com/rest/v5/users/attendees", "per_page": 1, "to": 1, "total": 36 } }

Upload Attendee Resume

Request

This endpoint is used to upload an attendee's resume.

Path
attendeeIdintegerrequired

The unique identifier of the attendee for whom the resume is being uploaded.

Example: 123123
Bodymultipart/form-datarequired
resumestring(binary)required

Must be a file. Must not be greater than 5120 kilobytes.

curl -i -X POST \
  https://api.vfairs.com/rest/v5/users/attendees/123123/resume \
  -H 'Authorization: Bearer <YOUR_bearer_HERE>' \
  -H 'Content-Type: multipart/form-data' \
  -F resume=string

Responses

Bodyapplication/json
statusboolean
Example: true
messagestring
Example: "successfully, Resume uploaded."
resumestring
Example: "https://example.com/uploads/resume_001.pdf"
Response
application/json
{ "status": true, "message": "successfully, Resume uploaded.", "resume": "https://example.com/uploads/resume_001.pdf" }

Delete Attendee

Request

This endpoint is used to delete an attendee from the event.

Path
attendeeIdintegerrequired

The unique identifier of the attendee to be deleted.

Example: 123123
curl -i -X DELETE \
  https://api.vfairs.com/rest/v5/users/attendees/123123/delete \
  -H 'Authorization: Bearer <YOUR_bearer_HERE>'

Responses

Bodyapplication/json
statusboolean
Example: true
messagestring
Example: "Attendee deleted successfully"
Response
application/json
{ "status": true, "message": "Attendee deleted successfully" }

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

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