---
title: "Sponsor categories"
description: "Create and update sponsor categories with complete request examples."
lastModified: "2026-10-09"
---

> **Release timing:** This page includes changes planned for 9 October 2026. See the [deployment note](https://docs.brella.io/changelog/update-2026-10-09-sponsor-scanning-and-qr) before using the updated operations or inputs.

Configure an event-level `SponsorCategory` scope with the needed actions and input mappings. Read access and the optional `external_id` query field let you reconcile imported categories before creating records.


Example request with fictional IDs. Set BRELLA_API_BASE_URL and BRELLA_API_ACCESS_TOKEN in the execution environment. Optional inputs are documented in the resource input reference.

```shell
curl --fail-with-body --silent --show-error --globoff --max-time 30 --request POST \
  --url "${BRELLA_API_BASE_URL}"'/api/core/organizations/123/events/456/sponsor-categories' \
  --header "Accept: application/vnd.brella.v4+json" \
  --header "Brella-API-Access-Token: ${BRELLA_API_ACCESS_TOKEN}" \
  --header "Content-Type: application/json" \
  --data-raw '{
  "external_id": "CATEGORY-GOLD",
  "name": "Gold",
  "level": "large"
}'
```



**Collection path:** `events/{event_id}/sponsor-categories`

## POST a sponsor category


Example request with fictional IDs. Set BRELLA_API_BASE_URL and BRELLA_API_ACCESS_TOKEN in the execution environment. 

```shell
curl --fail-with-body --silent --show-error --globoff --max-time 30 --request POST \
  --url "${BRELLA_API_BASE_URL}"'/api/core/organizations/123/events/456/sponsor-categories' \
  --header "Accept: application/vnd.brella.v4+json" \
  --header "Brella-API-Access-Token: ${BRELLA_API_ACCESS_TOKEN}" \
  --header "Content-Type: application/json" \
  --data-raw '{
  "external_id": "CATEGORY-GOLD",
  "name": "Gold",
  "level": "large",
  "position": 1,
  "allows_meet_at_booth": true
}'
```



`name` and `level` are required. Save `data.id` from the 201 response. A new category is added to the built-in sponsors page when it exists. Use the returned category ID as `category_id` when [creating sponsors](https://docs.brella.io/cookbook/sponsors).

## PATCH a sponsor category


Example request with fictional IDs. Set BRELLA_API_BASE_URL and BRELLA_API_ACCESS_TOKEN in the execution environment. Optional inputs are documented in the resource input reference.

```shell
curl --fail-with-body --silent --show-error --globoff --max-time 30 --request PATCH \
  --url "${BRELLA_API_BASE_URL}"'/api/core/organizations/123/events/456/sponsor-categories/601' \
  --header "Accept: application/vnd.brella.v4+json" \
  --header "Brella-API-Access-Token: ${BRELLA_API_ACCESS_TOKEN}" \
  --header "Content-Type: application/json" \
  --data-raw '{
  "name": "Gold partners"
}'
```




Example request with fictional IDs. Set BRELLA_API_BASE_URL and BRELLA_API_ACCESS_TOKEN in the execution environment. 

```shell
curl --fail-with-body --silent --show-error --globoff --max-time 30 --request PATCH \
  --url "${BRELLA_API_BASE_URL}"'/api/core/organizations/123/events/456/sponsor-categories/601' \
  --header "Accept: application/vnd.brella.v4+json" \
  --header "Brella-API-Access-Token: ${BRELLA_API_ACCESS_TOKEN}" \
  --header "Content-Type: application/json" \
  --data-raw '{
  "name": "Gold partners",
  "position": 2,
  "allows_meet_at_booth": false
}'
```



The initial request changes only the name. Adding `allows_meet_at_booth` and changing its value also changes booth permission and use settings for every sponsor in the category. Omit position to retain its current order; null position on PATCH is rejected.

## Delete with care

The [category DELETE operation](https://docs.brella.io/reference/sponsor-categories#operations) removes its sponsors as well. Read and confirm those targets before execution; do not use DELETE merely to rename or reorder a category.

## Input reference

### external_id

Type: Scalar string or `null`. POST: Optional. PATCH: Optional.

At most 255 characters; unique within the event when present. Blank becomes null; POST is not an upsert.

### name

Type: Scalar string. POST: Required. PATCH: Optional.

Non-empty category name, at most 255 characters.

### level

Type: Scalar string. POST: Required. PATCH: Optional.

One of large, medium or small. Configure the level mapping for create.

### position

Type: Scalar number or `null`. POST: Optional; null uses normal list placement. PATCH: Optional; null rejected.

Integer within the signed 32-bit range. Supplied values are clamped to the valid list insertion range, starting at 1. Omit on PATCH to keep the current position; null on PATCH returns 422.

### allows_meet_at_booth

Type: Scalar boolean. POST: Optional. PATCH: Optional.

A change cascades to all sponsors in the category, setting both their booth permission and use setting.

