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?
Navigate to Event setup > Authentication tokens in the admin interface
Either edit an existing token or create a new token
Check the box next to Exhibitors to grant API access to exhibitor methods (both create/update and cancel)
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.comPublic URL path:
summit/2020Full API endpoint:
https://acme.example.com/summit/2020/api/json-rpc
Request format requirements
Use HTTP POST method
Set header
Content-Typetoapplication/jsonBody must be valid JSON containing:
Parameter | Description |
| Version — must be |
| API method name (e.g. |
| Object containing |
| 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) orsalesforceContactIDOther 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 identifierIf 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.
