---
title: "Registration links"
description: "Create and update registration links with complete curl request examples."
lastModified: "2026-08-25"
---

**Collection path:** `events/{event_id}/registration-links`

| Input | Type | POST | PATCH | Notes |
| :---- | :---- | ----: | ----: | :---- |
| `name` | Scalar string | Required by the model | Optional | Internal/display name. |
| `email` | Scalar string or `null` | Optional | Optional | Contact or claim email. |
| `first_name` | Scalar string or `null` | Optional | Optional | First name. |
| `last_name` | Scalar string or `null` | Optional | Optional | Last name. |
| `registrants_count` | Scalar number | Required by the model | Optional | Number of slots; must be greater than zero. |
| `alias_code` | Scalar string or `null` | Optional | Optional | Human-readable join alias. |
| `claim_only_by_registrant_email` | JSON boolean | Optional | Optional | Claim restriction. |
| `enabled` | JSON boolean | Optional | Optional | Set false to archive/disable a link. |
| `ticket_type_list_id` | Scalar ID or `null` | Optional | Optional | Must belong to the event. POST uses the event default ticket type when omitted. |

## POST a registration link

```shell
curl --request POST \
  --url "${BRELLA_API_BASE_URL}/api/core/organizations/${BRELLA_ORGANIZATION_ID}/events/${BRELLA_EVENT_ID}/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`.

## PATCH a registration link

```shell
curl --request PATCH \
  --url "${BRELLA_API_BASE_URL}/api/core/organizations/${BRELLA_ORGANIZATION_ID}/events/${BRELLA_EVENT_ID}/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.
