Eventbrite.Net 0.1.3

dotnet add package Eventbrite.Net --version 0.1.3
                    
NuGet\Install-Package Eventbrite.Net -Version 0.1.3
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Eventbrite.Net" Version="0.1.3" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Eventbrite.Net" Version="0.1.3" />
                    
Directory.Packages.props
<PackageReference Include="Eventbrite.Net" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Eventbrite.Net --version 0.1.3
                    
#r "nuget: Eventbrite.Net, 0.1.3"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Eventbrite.Net@0.1.3
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Eventbrite.Net&version=0.1.3
                    
Install as a Cake Addin
#tool nuget:?package=Eventbrite.Net&version=0.1.3
                    
Install as a Cake Tool

Eventbrite.Net

NuGet License: Polyform Noncommercial .NET 10

A strongly-typed .NET 10 client library for the Eventbrite REST API.
Supports private-token and OAuth 2.0 authorization-code authentication, with built-in DI registration, in-memory token/state storage, and full IntelliSense documentation on every public type.


Requirements


Installation

dotnet add package Eventbrite.Net

Configuration

Add an Eventbrite section to appsettings.json (non-secret values only):

{
  "Eventbrite": {
    "API_KEY": "<your-client-id>",
    "REDIRECT_URI": "https://yourapp.com/eventbrite/auth/callback",
    "FrontendRedirectUri": "https://yourapp.com/dashboard",
    "Scopes": []
  }
}

Store secrets with the .NET Secret Manager (never commit them):

dotnet user-secrets set "Eventbrite:CLIENT_SECRET" "<your-client-secret>"
dotnet user-secrets set "Eventbrite:PRIVATE_TOKEN" "<your-private-token>"

All configuration keys

Key Required Default Description
Eventbrite:API_KEY OAuth only OAuth application client ID
Eventbrite:CLIENT_SECRET OAuth only OAuth application client secret (use secrets)
Eventbrite:PRIVATE_TOKEN Private only Long-lived private OAuth token (use secrets)
Eventbrite:REDIRECT_URI OAuth only "" Absolute callback URI registered in your Eventbrite app
Eventbrite:FrontendRedirectUri No null Where to redirect the browser after a successful OAuth callback
Eventbrite:Scopes No [] OAuth scopes to request (space-joined before sending)
Eventbrite:API_BASE_URL No https://www.eventbriteapi.com/v3/ Eventbrite REST API base URL
Eventbrite:AUTHORIZATION_ENDPOINT No https://www.eventbrite.com/oauth/authorize OAuth authorization endpoint
Eventbrite:TOKEN_ENDPOINT No https://www.eventbrite.com/oauth/token OAuth token endpoint

Quick start — private token

Use this mode when your application acts on behalf of a single Eventbrite account using a long-lived private OAuth token.

// Program.cs
builder.Services.AddEventbriteIntegration(builder.Configuration);
// Inject IPrivateAuthenticatedService anywhere in your app
public class MyService(IPrivateAuthenticatedService eventbrite)
{
    public async Task<string?> GetMyNameAsync(CancellationToken ct)
    {
        var user = await eventbrite.GetMyProfileAsync(ct);
        return user?.Name?.Text;
    }
}

Quick start — OAuth 2.0 (authorization-code flow)

Use this mode when users authorize your application with their own Eventbrite accounts.

// Program.cs
builder.Services.AddEventbriteIntegration(builder.Configuration, isExternallyAuthenticated: true);

// ...

// Register the built-in OAuth callback and diagnostic endpoints
app.MapEventbriteEndpoints();

This maps the following Minimal API endpoints:

Method Path Description
GET /eventbrite/auth/start Redirects the user to Eventbrite to begin authorization
GET /eventbrite/auth/callback Handles the redirect back, exchanges the code for tokens
GET /eventbrite/auth/status Returns the stored token's connection state and expiry
GET /eventbrite/getMe Returns the authenticated user's Eventbrite profile
GET /eventbrite/myOrganisations Returns the authenticated user's organizations
// Inject IExternalAuthenticatedService anywhere in your app
public class MyService(IExternalAuthenticatedService eventbrite)
{
    public async Task ShowEventsAsync(string orgId, CancellationToken ct)
    {
        var result = await eventbrite.ListEventsByOrganizationAsync(orgId, cancellationToken: ct);
        foreach (var ev in result?.Events ?? [])
            Console.WriteLine(ev.Name?.Text);
    }
}

Pagination helpers

For high-volume list endpoints, you can use built-in IAsyncEnumerable<T> helpers from Eventbrite.Helpers.EventbritePaginationExtensions. These helpers automatically follow continuation tokens and yield individual items.

Available helpers include:

  • ListAllEventsByOrganizationAsync
  • ListAllAttendeesByEventAsync
  • ListAllOrdersByOrganizationAsync
  • ListAllOrdersByEventAsync
  • ListAllOrdersByUserAsync
  • ListAllTicketClassesByEventAsync
await foreach (var ev in eventbrite.ListAllEventsByOrganizationAsync(orgId, pageSize: 50, cancellationToken: ct))
{
    Console.WriteLine(ev.Name?.Text);
}

Low-level paged methods are still available when you need manual cursor control.


Available APIs

Both IPrivateAuthenticatedService and IExternalAuthenticatedService expose the full IEventbriteApiService surface:

Users

Method Verb
GetMyProfileAsync GET
GetUserByIdAsync GET
GetMyOrganizationsAsync GET
GetOrganizationsByUserIdAsync GET

Organizations

Method Verb
ListOrganizationMembersAsync GET
ListOrganizationRolesAsync GET

Events

Method Verb
GetEventByIdAsync GET
CreateEventAsync POST
UpdateEventAsync POST
PublishEventAsync POST
UnpublishEventAsync POST
CopyEventAsync POST
CancelEventAsync POST
DeleteEventAsync DELETE
ListEventsByOrganizationAsync GET
ListEventsByVenueAsync GET
ListEventsBySeriesAsync GET
GetEventDescriptionAsync GET
GetEventSeriesAsync GET
CreateEventScheduleAsync POST

Attendees

Method Verb
GetAttendeeByIdAsync GET
ListAttendeesByEventAsync GET
ListAttendeesByOrganizationAsync GET

Orders

Method Verb
GetOrderByIdAsync GET
ListOrdersByEventAsync GET
ListOrdersByOrganizationAsync GET
ListOrdersByUserAsync GET

Ticket Classes

Method Verb
GetTicketClassAsync GET
CreateTicketClassAsync POST
UpdateTicketClassAsync POST
ListTicketClassesByEventAsync GET
ListTicketClassesForSaleAsync GET

Ticket Groups

Method Verb
GetTicketGroupAsync GET
CreateTicketGroupAsync POST
UpdateTicketGroupAsync POST
AddTicketClassToGroupAsync POST
ListTicketGroupsByOrganizationAsync GET
DeleteTicketGroupAsync DELETE

Discounts

Method Verb
GetDiscountAsync GET
CreateDiscountAsync POST
UpdateDiscountAsync POST
SearchDiscountsAsync GET
DeleteDiscountAsync DELETE

Categories & Formats

Method Verb
GetCategoryAsync GET
GetSubcategoryAsync GET
ListCategoriesAsync GET
ListSubcategoriesAsync GET
GetFormatAsync GET
ListFormatsAsync GET

Questions

Method Verb
ListCannedQuestionsAsync GET
GetCannedQuestionAsync GET
CreateCannedQuestionAsync POST
UpdateCannedQuestionAsync POST
DeleteCannedQuestionAsync DELETE
ListCustomQuestionsAsync GET
GetCustomQuestionAsync GET
CreateCustomQuestionAsync POST
DeleteCustomQuestionAsync DELETE

Webhooks

Method Verb
GetWebhookByIdAsync GET
CreateWebhookAsync POST
DeleteWebhookAsync DELETE
ListWebhooksByOrganizationAsync GET

Venue & Organizer

Method Verb
GetVenueAsync GET
CreateVenueAsync POST
UpdateVenueAsync POST
ListVenuesByOrganizationAsync GET

Structured Content

Method Verb
GetStructuredContentAsync GET
GetStructuredContentEditAsync GET
SetStructuredContentAsync POST

Inventory & Capacity

Method Verb
GetInventoryTierAsync GET
CreateInventoryTierAsync POST
UpdateInventoryTierAsync POST
ListInventoryTiersByEventAsync GET
DeleteInventoryTierAsync DELETE
GetCapacityTierAsync GET
UpdateCapacityTierAsync POST

Display Settings

Method Verb
GetDisplaySettingsAsync GET
UpdateDisplaySettingsAsync POST
GetTicketBuyerSettingsAsync GET
UpdateTicketBuyerSettingsAsync POST

Seat Maps

Method Verb
ListSeatMapsByOrganizationAsync GET
CreateSeatMapForEventAsync POST

Teams

Method Verb
GetTeamByIdAsync GET
ListTeamsByEventAsync GET
ListAttendeesByTeamAsync GET
CreateTeamAsync POST
VerifyTeamPasswordAsync POST
SearchTeamsAsync GET

Pricing

Method Verb
CalculatePricingAsync POST
ListPricingAsync GET

Media / Images

Method Verb
GetMediaAsync GET
InitiateMediaUploadAsync POST
GetMediaUploadStatusAsync GET

Reports

Method Verb
GetSalesReportAsync GET
GetAttendeeReportAsync GET

Text Overrides

Method Verb
GetTextOverridesAsync GET
CreateTextOverridesAsync POST

Miscellaneous

Method Verb
GetBalanceAsync GET

All methods accept an optional CancellationToken. List methods accept optional continuation and pageSize parameters for cursor-based pagination. Many event/attendee methods accept an expansions array to embed related sub-objects inline.

Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • net10.0

    • No dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.1.3 115 4/5/2026
0.1.2 105 4/4/2026
0.1.1 104 4/4/2026
0.1.0 97 4/4/2026

Targets Eventbrite REST API v3.