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

Registration links

Create and update registration links with complete curl request examples.

Build a request

Example data only. No request is sent.

POST
Choose the destination IDs
Start with these fields

Internal/display name.

Number of slots; must be greater than zero.

Set false to archive/disable a link.

Must belong to the event. POST uses the event default ticket type when omitted.

Add optional fields (5)

Contact or claim email.

First name.

Last name.

Human-readable join alias.

Claim restriction.

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/registration-links' \
  --header "Accept: application/vnd.brella.v4+json" \
  --header "Brella-API-Access-Token: ${BRELLA_API_ACCESS_TOKEN}" \
  --header "Content-Type: application/json" \
  --data-raw '{
  "name": "Partner VIP registrations",
  "registrants_count": 25,
  "enabled": true,
  "ticket_type_list_id": 301
}'
201 CreatedIllustrative response
{
  "data": {
    "id": "1201",
    "type": "registration-link"
  }
}

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}/registration-links

POST a registration link

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/registration-links' \
  --header "Accept: application/vnd.brella.v4+json" \
  --header "Brella-API-Access-Token: ${BRELLA_API_ACCESS_TOKEN}" \
  --header "Content-Type: application/json" \
  --data-raw '{
  "name": "Partner VIP registrations",
  "email": "events@example.com",
  "first_name": "Events",
  "last_name": "Team",
  "registrants_count": 25,
  "alias_code": "partner-vip",
  "claim_only_by_registrant_email": true,
  "enabled": true,
  "ticket_type_list_id": 301
}'

Brella creates the underlying unassigned order and join code. The response type is registration-link; useful write-response fields include name, registrants_count, alias_code, enabled, ticket_type_list_id, join_code, join_url, and available_slots.

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/registration-links/9101' \
  --header "Accept: application/vnd.brella.v4+json" \
  --header "Brella-API-Access-Token: ${BRELLA_API_ACCESS_TOKEN}" \
  --header "Content-Type: application/json" \
  --data-raw '{
  "name": "Partner VIP registrations 2027",
  "registrants_count": 30,
  "enabled": true
}'

To archive a used link, PATCH {"enabled":false}. A registration link with registrants cannot be deleted.

Input reference

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

nameScalar string
POST
Required by the model
PATCH
Optional

Internal/display name.

emailScalar string or `null`
POST
Optional
PATCH
Optional

Contact or claim email.

first_nameScalar string or `null`
POST
Optional
PATCH
Optional

First name.

last_nameScalar string or `null`
POST
Optional
PATCH
Optional

Last name.

registrants_countScalar number
POST
Required by the model
PATCH
Optional

Number of slots; must be greater than zero.

alias_codeScalar string or `null`
POST
Optional
PATCH
Optional

Human-readable join alias.

claim_only_by_registrant_emailJSON boolean
POST
Optional
PATCH
Optional

Claim restriction.

enabledJSON boolean
POST
Optional
PATCH
Optional

Set false to archive/disable a link.

ticket_type_list_idScalar ID or `null`
POST
Optional
PATCH
Optional

Must belong to the event. POST uses the event default ticket type when omitted.

Last updated on August 25, 2026