Skip to main content

Use authentication token for Exhibitor API

Learn how to set up an authentication token and interact with the exhibitor API to create, update, or cancel exhibitor records programmatically — ideal for automated integrations and bulk registrations.

Updated over a month ago

Using an authentication token with the exhibitor API unlocks full automation for managing exhibitor records — including creation, updates, booth assignments, and cancellations. This setup ensures secure, programmatic access without manual data entry, reduces errors, and enables bulk operations or integrations with external CRMs. With JSON‑RPC support, you gain flexible, scriptable control over your exhibitor data, saving time and improving reliability.


How do I create and enable an authentication token?

  1. Navigate to Event setup > Authentication tokens in the admin interface

  2. Either edit an existing token or create a new token

  3. Check the box next to Exhibitors to grant API access to exhibitor methods (both create/update and cancel)

  4. Save the token — this token string will be used in API request parameters

⚠️ Note: exhibitor API permissions are not separated by method — granting “Exhibitors” gives access to both createUpdate and cancel functionality.


How do I call the exhibitor api?

Construct the API URL

Take your event’s public domain name and the public URL segment, then append /api/json-rpc.
Example:

  • Domain: acme.example.com

  • Public URL path: summit/2020

  • Full API endpoint:

https://acme.example.com/summit/2020/api/json-rpc

Request format requirements

  • Use HTTP POST method

  • Set header Content-Type to application/json

  • Body must be valid JSON containing:

Parameter

Description

jsonrpc

Version — must be "2.0"

method

API method name (e.g. "Exhibitors.createUpdate" or "Exhibitors.cancel")

params

Object containing token and other method-specific data

id

Request identifier (integer or string)


How do I create or update exhibitors via the API?

Use the method Exhibitors.createUpdate with the following structure:

{   "jsonrpc": "2.0",   "method": "Exhibitors.createUpdate",   "params": {     "token": "your_token_here",     "exhibitors": [       {         "company": "Acme",         "type": "Brand Experience",         // ... other optional fields ...         "primaryContact": { /* see below */ },         "exhibitorPersonnel": [ /* optional personnel arrays */ ],         "booths": [ /* optional booth assignments */ ]       }     ]   },   "id": 1 }

Required exhibitor fields

  • company — name of the exhibitor

  • type — exhibitor type from pick list

Optional exhibitor data fields

Include any of: confirmation, salesforceAccountID, salesforceAccountName, salesforceAccountManager, companyEmail, address1–3, city, state, postalCode, country, companyUrl, companyPhone, companyPhone, etc.

Primary contact object

"primaryContact": {   "email": "molly@acme.com",   "firstName": "Molly",   "lastName": "Davis",   "phone": "(555) 202‑3434",   "extension": "342",   "title": "Chief Marketing Officer",   "company": "Acme"   // optionally salesforceContactID }

If salesforceContactID or email matches an existing contact, the contact will be updated; otherwise a new contact will be created.

Personnel array (optional)

Each entry must include:

  • action"add", "update", or "remove"

  • email (required) or salesforceContactID

  • Other optional fields: firstName, lastName, phone, extension, role, title, company

Booth assignments (optional)

Each booth object must include:

  • action"upsert" (update/insert) or "remove"

  • number (required): booth identifier

  • If inserting a new booth: also include type

If booth number exists, upsert updates the booth type if it differs.


How do I cancel exhibitors via the API?

Use the method Exhibitors.cancel. The params object must contain the token and an array of exhibitor identifiers:

{   "jsonrpc": "2.0",   "method": "Exhibitors.cancel",   "params": {     "token": "your_token_here",     "exhibitors": [       {         "confirmation": "432389"  // or salesforceAccountID       }     ]   },   "id": 1 }

You may also include existingRegistrants with value "cancel" or "remove" to define how to handle related registrations; if omitted the default behavior is "error" if registrations exist.


How does the api respond and how are errors handled?

Success response format

{   "jsonrpc": "2.0",   "id": "1",   "result": {     "success": {       "row-0": "461598"     },     "error": []   } }

row-0 corresponds to the first exhibitor in your request array.

Error response example

{   "jsonrpc": "2.0",   "id": "1",   "result": {     "success": [],     "error": {       "row-0": [         "Invalid exhibitor type",         "Invalid country"       ]     }   } }

Errors may include, but are not limited to:

  • missing or invalid required fields (company, type, primary contact email)

  • mismatched confirmation or Salesforce IDs

  • invalid booth data (missing number, missing type for new booths, unrecognized action)

  • invalid personnel data (missing email/ID, invalid action, existing personnel conflicts)

Always validate responses and log error messages to debug issues.


By using an authentication token to interact with the exhibitor API, you can automate exhibitor registration, updates, booth assignments, and cancellations — eliminating manual workflows and reducing risk of human error. The API supports full exhibitor data, contact details, personnel records, and booth info. With clear JSON‑RPC structure and detailed error reporting, you can integrate with external systems, run bulk uploads, or build custom interfaces. Take advantage of this functionality to streamline operations and scale your event management processes.

Did this answer your question?