Skip to content
Core API
Esc
↑↓navigate↵open⌘Jpreview
On this page

Sponsors

Create and update sponsors with complete curl request examples.

Build a request

Example data only. No request is sent.

POST
Choose the destination IDs
Start with these fields

Required by the model; category must belong to the event.

large, medium, or small.

Required by the model.

Add optional fields (36)

Display order.

Subtitle.

DraftJS content; sanitized before storage.

Website URL.

Twitter/X value; normalized by the sponsor service.

LinkedIn value.

Facebook value.

Instagram value.

Active setting.

Numeric industry code from 0 to 148.

External identifier.

Creates the sponsor chat conversation when enabled.

active, passive, or trashed.

Analytics setting.

Call-to-action text.

Lead scanning setting.

Representative-linking setting.

Meet-at-booth setting; synchronized with uses_meet_at_booth by the model.

Meet-at-booth setting; synchronized with allows_meet_at_booth.

App sponsorship setting.

App sponsor label.

Country.

State/region.

Company domains.

partial_company_name_match, exact_company_name_match, or company_domain_match. The model/default must provide one.

Meeting cap.

Map URL.

Sponsored-session RSVP visibility.

Base64 data URI. Blank on PATCH removes the image.

Base64 data URI. Blank on PATCH removes the image.

Base64 data URI. Blank on PATCH removes the image.

Entries use key plus value or values.

Entries use interest_id and intent_ids. PATCH removes selections not present in the supplied array.

Supports deck_slides and sidebar_tabs arrays; both are replacement-style when supplied.

Full product replacement by title when supplied; each entry supports title, description, url, and optional image.

Stored tab configuration. Exposed response keys are key, title, and position; duplicate keys are collapsed.

Use the API address and token from your environment. Set up authentication.

curl --fail-with-body --silent --show-error --globoff --max-time 30 --request POST \
  --url "${BRELLA_API_BASE_URL}"'/api/core/organizations/123/events/456/sponsors' \
  --header "Accept: application/vnd.brella.v4+json" \
  --header "Brella-API-Access-Token: ${BRELLA_API_ACCESS_TOKEN}" \
  --header "Content-Type: application/json" \
  --data-raw '{
  "name": "Example Ltd",
  "category_id": 51,
  "level": "large"
}'
201 CreatedIllustrative response
{
  "data": {
    "id": "1201",
    "type": "sponsor"
  }
}

The token scope determines returned fields. This selector illustrates that configuration; it does not change your token or the request.

Collection path: events/{event_id}/sponsors

Create or reconcile the event’s sponsor category first when supplying category_id. Sponsor-owned scanning questions use a separate resource and scope.

All inputs below are configurable for both POST and PATCH unless a note says otherwise. PATCH is partial; only replacement-style nested inputs replace collections.

A scope restricted to existing sponsor IDs cannot create sponsors. It can patch only sponsors in the restricted set.

POST a sponsor

View the complete cURL example
curl --fail-with-body --silent --show-error --globoff --max-time 30 --request POST \
  --url "${BRELLA_API_BASE_URL}"'/api/core/organizations/123/events/456/sponsors' \
  --header "Accept: application/vnd.brella.v4+json" \
  --header "Brella-API-Access-Token: ${BRELLA_API_ACCESS_TOKEN}" \
  --header "Content-Type: application/json" \
  --data-raw '{
  "name": "Example Ltd",
  "category_id": 51,
  "level": "large",
  "position": 10,
  "active": true,
  "state": "active",
  "website": "https://example.com",
  "company_domains": [
    "example.com"
  ],
  "lead_scanning_enabled": true,
  "uses_chat": true,
  "custom_fields_attributes": [
    {
      "key": "company_size",
      "values": [
        "51-200"
      ]
    }
  ],
  "selected_interests": [
    {
      "interest_id": 701,
      "intent_ids": [
        801
      ]
    }
  ],
  "products": [
    {
      "title": "Example Platform",
      "description": "Product overview",
      "url": "https://example.com/platform"
    }
  ],
  "media": {
    "deck_slides": [
      {
        "title": "Platform overview",
        "url": "https://example.com/deck",
        "body_type": "iframe"
      }
    ],
    "sidebar_tabs": [
      {
        "title": "Book a demo",
        "url": "https://example.com/demo"
      }
    ]
  },
  "booth_tabs": [
    {
      "key": "overview",
      "title": "Overview",
      "position": 1
    }
  ]
}'

The response type is sponsor. Useful write-response fields include category_id, name, state, external_id, company_domains, logo_url, booth_tabs, and updated_at.

PATCH a sponsor

This example changes scalar fields and fully replaces the product list. Omitting products would preserve the current products.

View the complete cURL example
curl --fail-with-body --silent --show-error --globoff --max-time 30 --request PATCH \
  --url "${BRELLA_API_BASE_URL}"'/api/core/organizations/123/events/456/sponsors/103705' \
  --header "Accept: application/vnd.brella.v4+json" \
  --header "Brella-API-Access-Token: ${BRELLA_API_ACCESS_TOKEN}" \
  --header "Content-Type: application/json" \
  --data-raw '{
  "subtitle": "Partnership platform",
  "cta_text": "Book a demo",
  "company_domains": [
    "example.com",
    "example.org"
  ],
  "products": [
    {
      "title": "Example Platform",
      "description": "Updated product overview",
      "url": "https://example.com/platform"
    },
    {
      "title": "Example Analytics",
      "description": "Sponsor analytics add-on",
      "url": "https://example.com/analytics"
    }
  ]
}'

Input reference

39 inputs. Expand a field for its request type and update behavior. These are the example request keys; your administrator can configure aliases.

category_idScalar ID
POST
Required on create
PATCH
Optional

Required by the model; category must belong to the event.

levelScalar string
POST
Optional
PATCH
Optional

large, medium, or small.

positionScalar number or `null`
POST
Optional
PATCH
Optional

Display order.

nameScalar string
POST
Required on create
PATCH
Optional

Required by the model.

subtitleScalar string or `null`
POST
Optional
PATCH
Optional

Subtitle.

contentJSON object
POST
Optional
PATCH
Optional

DraftJS content; sanitized before storage.

websiteScalar string or `null`
POST
Optional
PATCH
Optional

Website URL.

twitterScalar string or `null`
POST
Optional
PATCH
Optional

Twitter/X value; normalized by the sponsor service.

linkedinScalar string or `null`
POST
Optional
PATCH
Optional

LinkedIn value.

facebookScalar string or `null`
POST
Optional
PATCH
Optional

Facebook value.

instagramScalar string or `null`
POST
Optional
PATCH
Optional

Instagram value.

activeJSON boolean
POST
Optional
PATCH
Optional

Active setting.

industryScalar number or `null`
POST
Optional
PATCH
Optional

Numeric industry code from 0 to 148.

external_idScalar string or `null`
POST
Optional
PATCH
Optional

External identifier.

uses_chatJSON boolean
POST
Optional
PATCH
Optional

Creates the sponsor chat conversation when enabled.

stateScalar string
POST
Optional
PATCH
Optional

active, passive, or trashed.

uses_analyticsJSON boolean
POST
Optional
PATCH
Optional

Analytics setting.

cta_textScalar string or `null`
POST
Optional
PATCH
Optional

Call-to-action text.

lead_scanning_enabledJSON boolean
POST
Optional
PATCH
Optional

Lead scanning setting.

has_automatic_representatives_linkingJSON boolean
POST
Optional
PATCH
Optional

Representative-linking setting.

allows_meet_at_boothJSON boolean
POST
Optional
PATCH
Optional

Meet-at-booth setting; synchronized with uses_meet_at_booth by the model.

uses_meet_at_boothJSON boolean
POST
Optional
PATCH
Optional

Meet-at-booth setting; synchronized with allows_meet_at_booth.

app_sponsorJSON boolean
POST
Optional
PATCH
Optional

App sponsorship setting.

app_sponsor_labelScalar string or `null`
POST
Optional
PATCH
Optional

App sponsor label.

location_countryScalar string or `null`
POST
Optional
PATCH
Optional

Country.

location_stateScalar string or `null`
POST
Optional
PATCH
Optional

State/region.

company_domainsArray of scalar strings
POST
Optional
PATCH
Optional

Company domains.

representatives_linking_methodScalar string
POST
Optional
PATCH
Optional

partial_company_name_match, exact_company_name_match, or company_domain_match. The model/default must provide one.

meeting_capScalar number or `null`
POST
Optional
PATCH
Optional

Meeting cap.

map_linkScalar string or `null`
POST
Optional
PATCH
Optional

Map URL.

show_sponsored_session_rsvpsJSON boolean
POST
Optional
PATCH
Optional

Sponsored-session RSVP visibility.

logoScalar string
POST
Optional
PATCH
Optional

Base64 data URI. Blank on PATCH removes the image.

cover_imageScalar string
POST
Optional
PATCH
Optional

Base64 data URI. Blank on PATCH removes the image.

app_sponsor_imageScalar string
POST
Optional
PATCH
Optional

Base64 data URI. Blank on PATCH removes the image.

custom_fields_attributesArray of objects
POST
Optional
PATCH
Optional

Entries use key plus value or values.

selected_interestsArray of objects
POST
Optional
PATCH
Optional

Entries use interest_id and intent_ids. PATCH removes selections not present in the supplied array.

mediaJSON object
POST
Optional
PATCH
Optional

Supports deck_slides and sidebar_tabs arrays; both are replacement-style when supplied.

productsArray of objects
POST
Optional
PATCH
Optional

Full product replacement by title when supplied; each entry supports title, description, url, and optional image.

booth_tabsArray of objects
POST
Optional
PATCH
Optional

Stored tab configuration. Exposed response keys are key, title, and position; duplicate keys are collapsed.

Understand collection updates

What does this PATCH change?

Compare omitted, replaced and cleared collections. These are conceptual field values, not a live API response.

Before
{
  "products": [
    {
      "title": "Platform",
      "description": "Event platform",
      "url": "https://example.com/platform"
    },
    {
      "title": "Support",
      "description": "Support package",
      "url": "https://example.com/support"
    }
  ]
}
PATCH body
{}
After
{
  "products": [
    {
      "title": "Platform",
      "description": "Event platform",
      "url": "https://example.com/platform"
    },
    {
      "title": "Support",
      "description": "Support package",
      "url": "https://example.com/support"
    }
  ]
}

Omitting the field keeps the existing collection.

Products omitted from a supplied list are deleted. Description is plain text, up to 100 characters.

Last updated on October 9, 2026