GET /partner/events¶
Retrieve public events linked to a partner referral code, with sorting, filtering, pagination, and dynamic event data.
Who this is for
Developers and technical partners integrating with the 3Common Partner Events API.
Additional resources¶
Getting started¶
To begin retrieving events, all you need is a valid partner referral code.
Required parameter¶
| Parameter | Type | Description |
|---|---|---|
referral_code |
string |
The unique referral code associated with a partner |
Example request¶
This returns the first page (20 events) linked to the partner with referral code hello123.
Optional query parameters¶
| Parameter | Type | Default | Description |
|---|---|---|---|
page |
number |
0 |
Zero-based page index |
limit |
number |
20 |
Max results per page (up to 100) |
sort |
string |
'start' |
Field to sort events by. Accepts 'start', 'end', or 'createdAt' |
direction |
string |
'asc' |
Sort direction. Accepts 'asc' or 'desc' |
filter |
string |
'all' |
Filter based on event date category. Accepts 'all', 'upcoming', or 'past' |
metaData |
string |
undefined |
Not an explicit field itself. Can be any string key-value pair passed as a query parameter. See Setting MetaData for details |
Example request with all parameters¶
GET https://3common.com/partner/events?referral_code=hello123&sort=createdAt&direction=desc&page=1&limit=10&filter=past
This request retrieves the second page of past events, limited to 10 entries, sorted in descending order by creation date.
Response format¶
{
"data": "EventObject[]",
"status": "number",
"error": "string",
"message": "string",
"total": "number",
"page": "number",
"limit": "number",
"hasMore": "boolean"
}
| Field | Type | Description |
|---|---|---|
data |
EventObject[] |
Array of event objects for the current page |
status |
number |
200 or 404 |
error |
string |
Only for status 404: NO_EVENTS_FOUND |
message |
string |
Status explanation |
total |
number |
Number of events returned (less than or equal to limit) |
page |
number |
Page index |
limit |
number |
Items per page |
hasMore |
boolean |
true if more results exist beyond current page |
Event object (data[])¶
| Field | Type | Description | Could be undefined? |
|---|---|---|---|
name |
string |
Event title | No |
start, end |
string |
Event times | No |
multiDayStartTimes |
string[] |
All starts for multi-day | Yes |
multiDayEndTimes |
string[] |
All ends for multi-day | Yes |
type |
string |
'event', 'booking', 'recurring', or 'multiple' |
No |
location |
object |
Location info | Yes |
locationPlaceholder |
string |
Placeholder text to link to location | Yes |
virtualEventLink |
string |
Link for virtual access | Yes |
description |
string |
Main description | Yes |
descriptionBlocks |
object[] |
Rich content blocks | Yes |
image, images |
string[] |
Main and gallery images | Yes |
tags |
string[] |
Tag metadata | Yes |
currency |
string |
The currency of the event ("USD" or "CAD") |
Yes |
status |
string |
Event status | Yes |
redirectUrl |
string |
Post-checkout URL | Yes |
customTerms |
object |
Custom checkout conditions | Yes |
refundPolicy |
string |
Refund explanation | Yes |
customTags |
string[] |
Tag overlays | Yes |
contentBlocks |
object[] |
Structured content (FAQs, etc.) | Yes |
language |
string |
Event language (e.g., 'en', 'fr') |
Yes |
isCancelled |
boolean |
Cancellation flag | Yes |
referral_code |
string |
Code that created the event | No |
createdAt, updatedAt |
Date |
Audit timestamps | No |
minPrice, maxPrice |
number |
Price range based on required tickets only. Does not contain fees. | No |
owner |
object |
Event creator metadata | No |
metaData |
object |
Additional information attached to the user/event through the onboarding process. See Setting MetaData | Yes |
Owner object¶
| Field | Type | Description |
|---|---|---|
_id |
string |
User ID |
firstName / lastName |
string |
Creator name |
companyName |
string |
Affiliated org (if set) |
email |
string |
Email address |
username |
string |
Public-facing handle |
avatar, banner |
string |
Media URLs |
instagram, linkedin |
string |
Social media handles |
bio |
string |
About text |
tags |
string[] |
Metadata tags |
referral_code |
string |
User's tracking code |
Advanced use examples¶
Sort by creation date¶
Filter for past events with pagination¶
Get upcoming events (ascending start time)¶
Search by metaData properties¶
In this example a user has the following metadata fields set: metaData: { partner_uid: '1234' }. To search for events matching this custom metaData field, specify it as a query parameter in the GET request.
This returns all events matching a valid referral_code where partner_uid is 1234.
To learn more about setting metaData, visit Partner API: Setting MetaData.
Error reference¶
| HTTP Code | Error Code | Description |
|---|---|---|
400 |
REFERRAL_CODE_REQUIRED |
Missing referral_code parameter |
404 |
PARTNER_NOT_FOUND |
No matching partner for code |
404 |
NO_EVENTS_FOUND |
No events returned for filters |
500 |
INTERNAL_SERVER_ERROR |
Server error |
REFERRAL_CODE_REQUIRED¶
Cause: The referral_code parameter is missing from the request.
Sample request:
Response:
{
"status": 400,
"error": "REFERRAL_CODE_REQUIRED",
"message": "Please provide a referral code. View documentation at https://help.3common.com/ for more information."
}
PARTNER_NOT_FOUND¶
Cause: The referral_code was provided, but no matching partner exists.
Sample request:
Response:
{
"status": 404,
"error": "PARTNER_NOT_FOUND",
"message": "There is no partner associated with this referral code: invalid123. Please check your referral code and try again. View documentation at https://help.3common.com/ for more information."
}
NO_EVENTS_FOUND¶
Cause: The partner exists, but has no events matching the query (e.g., filter or status).
Sample request:
Response:
{
"data": [],
"status": 404,
"message": "No events found based on the provided filters.",
"error": "NO_EVENTS_FOUND",
"total": 0,
"page": 0,
"limit": 20,
"hasMore": false
}
INTERNAL_SERVER_ERROR¶
Cause: A database or unexpected system error occurred.
Sample request:
While the request is valid, the backend throws an unexpected exception.
Response: