POST /api/v2/exhibitor/set
Creates a new exhibitor or updates an existing one. The endpoint uses upsert logic — it resolves an existing exhibitor by exhibitor_id, external_id, or username (in that order), and falls back to creating a new exhibitor if no match is found.
Authentication
Authorization: Bearer <your_api_key>
Endpoint
POST /api/v2/exhibitor/set
Content-Type: multipart/form-data
Upsert lookup order
|
Priority |
Parameter |
Behaviour |
|---|---|---|
|
1 |
|
Matches by internal exhibitor ID |
|
2 |
|
Matches by External ID |
|
3 |
|
Matches by owner account username |
|
— |
No match |
Creates a new exhibitor |
Required fields on create
|
Parameter |
Type |
Description |
|---|---|---|
|
|
integer |
The event this exhibitor belongs to |
|
|
string |
Exhibitor display name (max 500 chars) |
|
|
string |
Primary email address (unless |
Field scope — global vs local
Exhibitor records are shared across all events within the same data environment.
Global fields are stored at the exhibitor level and shared across all events. Updating any of these fields in a specific event will trigger a cascade update in every other event this exhibitor is attached to within the same data environment. This includes: name, short_name, fascia_name, about, email, phone, website, address, postcode, country, region, city, logo, all header images, all social media fields, all contact person (cp_*) fields, external_id, and default_lang.
Local fields are scoped to the event identified by event_id:
|
Local parameter |
What it controls |
|---|---|
|
|
Exhibitor category within this event |
|
|
Product category tags for this event |
|
|
Floor plan assignment for this event |
|
|
Sponsor status for this event |
|
|
"New" label for this event |
|
|
Limits for this event |
|
|
Tags for this event |
Key optional parameters
Profile
|
Parameter |
Description |
|---|---|
|
|
Short display name |
|
|
Fascia name |
|
|
Description / about text |
|
|
External ID for system sync |
Contact
|
Parameter |
Description |
|---|---|
|
|
Primary phone number |
|
|
Website URL |
|
|
Street address |
|
|
Country — ISO 2-letter, ISO 3-letter, or full name |
|
|
Region / state. Requires |
|
|
City. Requires |
Social media
facebook_page, linkedin_page, twitter_page, instagram_page, youtube_page
Contact person
cp_name, cp_surname, cp_position, cp_email, cp_phone, cp_title
Media
|
Parameter |
Description |
|---|---|
|
|
Logo — URL string or file upload ( |
|
|
Desktop header image URL |
|
|
Tablet header image URL |
|
|
Mobile header image URL |
Floor plan
|
Parameter |
Description |
|---|---|
|
|
Semicolon-separated hall name(s). Auto-created if not found |
|
|
Semicolon-separated stand name(s). Auto-created if not found |
|
|
Hall display label (free text) |
|
|
Stand display label (free text) |
Use
GET /api/v2/floorplan/getHallsandGET /api/v2/floorplan/getStandsto look up existing names. Stands auto-created via this endpoint default tois_conference=false.
Categories
|
Parameter |
Description |
|---|---|
|
|
Exhibitor category — ID or category title |
|
|
Comma-separated product/activity category IDs |
|
|
Comma-separated interest category IDs |
|
|
Comma-separated tag names. New tags created automatically. Existing tags not in list are removed |
Limits & settings
|
Parameter |
Description |
|---|---|
|
|
Maximum team members. |
|
|
News item limit |
|
|
Active products limit. |
Sponsorship
|
Parameter |
Description |
|---|---|
|
|
|
|
|
|
Hierarchy
|
Parameter |
Description |
|---|---|
|
|
|
|
|
|
|
|
Comma-separated IDs of child exhibitors |
|
|
ID of the parent exhibitor this exhibitor belongs to |
Other
|
Parameter |
Description |
|---|---|
|
|
|
|
|
|
Response
{
"code": 200,
"data": {
"id": 1200,
"owner_id": 6001,
"username": "acme_corp_1200",
"status": "created",
"external_id": null
}
}
|
Field |
Type |
Description |
|---|---|---|
|
|
integer |
Exhibitor ID |
|
|
integer |
Account ID of the exhibitor owner |
|
|
string |
Owner account username |
|
|
string |
|
|
|
string or null |
External ID |
|
|
string[] |
Which lookup strategy matched (update only) |
|
|
string[] |
Non-fatal errors |
Error Responses
|
HTTP Code |
Condition |
Error Message |
|---|---|---|
|
400 |
|
|
|
400 |
|
|
|
400 |
|
|
|
400 |
|
|
|
403 |
Missing or invalid API key |
|