eventbrite

package module
v0.0.0-...-4778e8d Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 13, 2018 License: MIT Imports: 12 Imported by: 0

README

Go client for Eventbrite

GoDoc

Installation

To install the Go Client for Eventbrite API, please execute the following go get command.

go get github.com/apzuk3/go-eventbrite

Developer Documentation

View the reference documentation

Usage

package main

import (
    "fmt"
    "time"

    "github.com/apzuk3/go-eventbrite"

    "golang.org/x/net/context"
)

func main() {
    clnt, _ := eventbrite.NewClient(
        eventbrite.WithToken(YOUR_TOKEN),
        eventbrite.WithRateLimit(10),  // max requests rate per second
    )

    clnt.UserSetAssortments(context.Background(), "me", &eventbrite.UserSetAssortmentRequest{
        Plan: "package1",
    })

    res, _ := clnt.EventCreate(context.Background(), &eventbrite.EventCreateRequest{
        NameHtml: "Party!",
        DescriptionHtml: "Let's party tonight!",
        StartUtc: eventbrite.DateTime{
            Time: time.Now().AddDate(0,0,1),
        },
        StartTimezone: "Europe/London",
        EndUtc: eventbrite.DateTime{
            Time: time.Now().AddDate(0,0,3),
        },
        EndTimezone: "Europe/London",
        Currency: "GBP",
    })

    fmt.Printf("%+v", res)
}

Whoops, don't forget

if err != nil {
    // handle me
}

Contributing

Feel free to report or pull-request any bug at https://github.com/apzuk/go-eventbrite.

License

The library is available as open source under the terms of the MIT License.

Documentation

Overview

Package provides a client library for the Eventbrite API. Please see https://www.eventbrite.co.uk/developer/v3/quickstart/ for an overview of the Eventbrite API suite.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Address

type Address struct {
	// The street/location address (part 1)
	Address1 string `json:"address_1"`
	// The street/location address (part 2)
	Address2 string `json:"address_2"`
	// The city
	City string `json:"city"`
	// The ISO 3166-2 2- or 3-character region code for the state, province, region, or district
	Region string `json:"region"`
	// The postal code
	PostalCode string `json:"postal_code"`
	// The ISO 3166-1 2-character international code for the country
	Country string `json:"country"`
	// The latitude portion of the address coordinates
	Latitude string `json:"latitude"`
	// The longitude portion of the address coordinates
	Longitude string `json:"longitude"`
	// The format of the address display localized to the address country
	LocalizedAddressDisplay string `json:"localized_address_display"`
	// The format of the address’s area display localized to the address country
	LocalizedAreaDisplay string `json:"localized_area_display"`
	//     The multi-line format order of the address display localized to the address country, where each line is an item in the list
	LocalizedMultiLineAddressDisplay []interface{} `json:"localized_multi_line_address_display"`
}

Though address formatting varies considerably between different countries and regions, Eventbrite still has a common address return format to keep things consistent.

https://www.eventbrite.com/developer/v3/response_formats/basic/#ebapi-address

type Assortment

type Assortment struct {
	// The assortment plan associated with this user
	Plan string `json:"plan"`
}

An assortment is a package/pricing plan associated with an Eventbrite organizer. This plan determines the features available to the organizer and the pricing model applied to their event tickets.

https://www.eventbrite.com/developer/v3/response_formats/assortments/#ebapi-fields

type Attendee

type Attendee struct {
	// When the attendee was created (order placed)
	Created DateTime `json:"created"`
	// When the attendee was last changed
	Changed DateTime `json:"changed"`
	// The name of the ticket_class at the time of registration
	TicketClassName string `json:"ticket_class_name"`
	// The attendee’s basic profile information
	Profile AttendeeProfile `json:"profile"`
	// The attendee’s basic profile information
	Addresses AttendeeAddresses `json:"addresses"`
	// The attendee’s answers to any custom questions (optional)
	Answers AttendeeAnswers `json:"answers"`
	// The attendee’s entry barcode information
	Barcodes AttendeeBarcodes `json:"barcodes"`
	// The attendee’s team information (optional)
	Team AttendeeTeam `json:"team"`
	// The attendee’s affiliate code (optional)
	//
	// Not documented
	Affiliate interface{} `json:"affiliate"`
	// If the attendee is checked in
	CheckedIn bool `json:"checked_in"`
	// If the attendee is cancelled
	Cancelled bool `json:"cancelled"`
	// If the attendee is refunded
	Refunded bool `json:"refunded"`
	// The status of the attendee (scheduled to be deprecated)
	Status string `json:"status"`
	// The event id that this attendee is attending
	EventID string `json:"event_id"`
	// The event this attendee is attending
	Event Event `json:"event"`
	// The order id this attendee is part of
	OrderID string `json:"order_id"`
	// The order this attendee is part of
	Order Order `json:"order"`
	// The guestlist id for this attendee. If this is null it means that this is not a guest
	GuestListID string `json:"guestlist_id"`
	// The guest of for the guest. If this is null it means that this is not a guest
	InvitedBy string `json:"invited_by"`
	// The promotional code applied to this attendee
	//
	// Not documented
	PromotionalCode interface{} `json:"promotional_code"`
	// The bib number assigned to this attendee if one exists for a race or endurance event
	//
	// Not documented
	AssignedNumber interface{} `json:"assigned_number"`
}

Attendee is an object representing the details of one or more people coming to the event Attendee objects are considered private and are only available to the event owner

type AttendeeAddresses

type AttendeeAddresses struct {
	// The attendee’s home address
	Home Address `json:"home"`
	// The attendee’s ship address
	Ship Address `json:"ship"`
	// The attendee’s workl address
	Work Address `json:"work"`
}

Contains the attendee’s various different addresses. All are optional

https://www.eventbrite.com/developer/v3/response_formats/attendee/#ebapi-attendee-addresses

type AttendeeAnswers

type AttendeeAnswers struct {
	// The ID of the custom question
	QuestionID string `json:"question_id"`
	// The text of the custom question
	Question string `json:"question"`
	// One of multiple_choice, or text
	Type string `json:"type"`
	// The attendee’s answer
	Answer string `json:"answer"`
}

A list of objects with answers to custom questions

https://www.eventbrite.com/developer/v3/response_formats/attendee/#ebapi-attendee-answers

type AttendeeBarcodes

type AttendeeBarcodes struct {
	//  The barcode contents. Note that if the event organizer has turned off printable
	// tickets, this field will be null in order to prevent exposing the barcode value
	Barcode string `json:"barcode"`
	// One of unused, used, or refunded
	Status string `json:"status"`
	// When the attendee barcode was created
	Created DateTime `json:"created"`
	// When the attendee barcode was changed
	Changed DateTime `json:"changed"`
}

A list of objects representing the barcodes for this order (usually only one per attendee)

https://www.eventbrite.com/developer/v3/response_formats/attendee/#ebapi-attendee-barcodes

type AttendeeProfile

type AttendeeProfile struct {
	// The attendee’s name. Use this in preference to first_name/last_name/etc. if possible for
	// forward compatibility with non-Western names
	Name string `json:"name"`
	// The attendee’s email address
	Email string `json:"email"`
	// The attendee’s first name
	FirstName string `json:"first_name"`
	// The attendee’s last name
	LastName string `json:"last_name"`
	// The title or honoraria used in front of the name (Mr., Mrs., etc.) (optional)
	Prefix string `json:"prefix"`
	// The suffix at the end of the name (e.g. Jr, Sr) (optional)
	Suffix string `json:"suffix"`
	// The attendee’s age (optional)
	Age int `json:"age"`
	// The attendee’s job title (optional)
	JobTitle string `json:"job_title"`
	// The attendee’s company name (optional)
	Company string `json:"company"`
	// The attendee’s website address (optional)
	Website string `json:"website"`
	// The attendee’s blog address (optional)
	Blog string `json:"blog"`
	// The attendee’s gender (currently one of “male” or “female”) (optional)
	Gender string `json:"gender"`
	// The attendee’s birth date (optional)
	BirthDate Date `json:"birth_date"`
	// The attendee’s cell/mobile phone number, as formatted by them (optional)
	CellPhone string `json:"cell_phone"`
}

Contains the attendee’s personal information

https://www.eventbrite.com/developer/v3/response_formats/attendee/#ebapi-std:format-attendee-profile

type AttendeeTeam

type AttendeeTeam struct {
	// The team’s ID
	ID string `json:"id"`
	// The team’s name
	Name string `json:"name"`
	// When the attendee joined the team
	DateJoined DateTime `json:"date_joined"`
	// The event the team is part of
	EventID string `json:"event_id"`
}

Represents team information for the attendee if the event has teams configured

https://www.eventbrite.com/developer/v3/response_formats/attendee/#ebapi-attendee-team

type CategoriesResult

type CategoriesResult struct {
	Locale     string     `json:"locale"`
	Pagination Pagination `json:"pagination"`
	Categories []Category `json:"categories"`
}

CategoriesResult is the response structure for the Categories

type Category

type Category struct {
	// Category ID
	ID string `json:"id"`
	// he category name
	Name string `json:"name"`
	// The category name localized to the current locale (if available)
	NameLocalized string `json:"name_localized"`
	// A shorter name for display in sidebars and other small spaces.
	ShortName string `json:"short_name"`
	// List of subcategories, only shown on some endpoints.
	ShortNameLocalized string `json:"short_name_localized"`
	SubCategories      []SubCategory
}

An overarching category that an event falls into (vertical). Examples are “Music”, and “Endurance”.

https://www.eventbrite.com/developer/v3/response_formats/event/#ebapi-category

type Checkout

type Checkout struct {

	// a list of supported ISO 3166-1 2-letter countries
	Countries []string `json:"countries"`

	// a list of supported ISO 4217 3-letter currencies
	Currencies []string `json:"currencies"`

	// a map of ISO 3166-1 alpha-2 country codes to their default ISO 4217 3-letter currency code
	DefaultCurrenciesByCountry map[string]string `json:"currencies"`
}

Checkout is an object that represents the settings for how an organizer wants ticket buyers pay for their purchases.

https://www.eventbrite.co.uk/developer/v3/endpoints/checkout_settings/#ebapi-get-checkout-settings-countries-currencies

type CheckoutAssociatePayoutToEvent

type CheckoutAssociatePayoutToEvent struct {

	// The vault ID for the user instrument to which payouts are sent
	UserInstrumentVaultID string `json:"payout_settings.user_instrument_vault_id"`
}

CheckoutAssociatePayoutToEvent is the request structure to associate a payout user instrument ID with a given event, or clear the association by passing a null value for the user instrument ID

https://www.eventbrite.co.uk/developer/v3/endpoints/checkout_settings/#ebapi-id17

type CheckoutAssociateToEventRequest

type CheckoutAssociateToEventRequest struct {

	// A list of IDs for checkout settings that should be linked to the event. In the format: 1234,5678,9012
	CheckoutSettingsIds []string `json:"checkout_settings_ids"`
}

CheckoutAssociateToEventRequest is the request structure to associate a single or set of Checkout seeting with a given event by its event_id

https://www.eventbrite.co.uk/developer/v3/endpoints/checkout_settings/#ebapi-id12

type CheckoutCreateRequest

type CheckoutCreateRequest struct {

	// The country code for the checkout settings object
	CountryCode string `json:"checkout_settings.country_code" validate:"required"`

	// The currency code for the checkout settings object
	CurrencyCode string `json:"checkout_settings.currency_code" validate:"required"`

	// The checkout method for the checkout settings object
	Method string `json:"checkout_settings.checkout_method" validate:"required"`

	// The vault ID for the user instrument if the checkout method requires one
	UserInstrumentVaultID string `json:"checkout_settings.user_instrument_vault_id"`

	// A list of additional settings for the offline checkout method, with each offline setting being in the
	// format {"payment_method": "CASH"|"CHECK"|"INVOICE", "instructions": "Optional instructions"}. Required
	// if the checkout_method is “offline.”
	// Example:
	//  [
	//    {
	//       "payment_method": "CASH"
	//    },
	//    {
	//       "payment_method": "CHECK",
	//       "instructions": "Make checks payable to ABC corporation"
	//    },
	//    ...
	//  ]
	//
	// also https://www.eventbrite.co.uk/developer/v3/response_formats/basic/#ebapi-std:format-objectlist
	OfflineSettings interface{} `json:"checkout_settings.offline_settings"`

	// For the “paypal” checkout method, you can optionally specify a PayPal account email address instead
	// of a user instrument vault ID, and a matching user instrument will be found or a new user instrument
	// created with that email address and used to create the checkout settings.
	PaypalEmail string `json:"paypal_email"`
}

CheckoutCreateRequest is the request structure for creating a new Checkout settings object belonging to the current user

https://www.eventbrite.co.uk/developer/v3/endpoints/checkout_settings/#ebapi-id5

type CheckoutForAccountRequest

type CheckoutForAccountRequest struct {
	// An optional country code by which to filter checkout settings
	Country string `json:"country"`

	// An optional currency code by which to filter checkout settings
	Currency string `json:"currency"`

	// One or more optional (comma-separated) checkout methods by which to filter checkout settings
	CheckoutMethods string `json:"checkout_methods"`

	SearchMostRecentEvent bool `json:"search_most_recent_event"`
}

CheckoutForAccountRequest is the request to search Checkout settings for the current user

https://www.eventbrite.co.uk/developer/v3/endpoints/checkout_settings/#ebapi-id3

type CheckoutMethodsRequest

type CheckoutMethodsRequest struct {

	// Expected methods for Country
	Country string `json:"country" validate:"required"`

	// Expected methods for Currency
	Currency string `json:"currency" validate:"required"`
}

CheckoutMethodsRequest is the request structure for the available checkout methods to do payments given a country and a currency

https://www.eventbrite.co.uk/developer/v3/endpoints/checkout_settings/#ebapi-id1

type CheckoutMethodsResponse

type CheckoutMethodsResponse struct {

	// a list with supported checkout methods given a country and currency combination.
	// Set of possible values: [authnet, eventbrite, offline, paypal]
	Methods []string `json:"methods"`
}

CheckoutMethodsResponse is the response structure for the available checkout methods to do payments given a country and a currency

https://www.eventbrite.co.uk/developer/v3/endpoints/checkout_settings/#ebapi-get-checkout-settings-methods

type CheckoutSettingsForAccount

type CheckoutSettingsForAccount struct {
	CheckoutSettings []Checkout `json:"checkout_settings"`
}

CheckoutSettingsForAccount is the response structure of Checkout settings for the current

https://www.eventbrite.co.uk/developer/v3/endpoints/checkout_settings/#ebapi-get-checkout-settings

type Client

type Client struct {
	// contains filtered or unexported fields
}

Client may be used to make requests to the Eventbrite API

func NewClient

func NewClient(options ...ClientOption) (*Client, error)

NewClient constructs a new Client which can make requests to the Eventbrite API.

func (*Client) Categories

func (c *Client) Categories(ctx context.Context) (*CategoriesResult, error)

Categories returns a list of category as categories, including subcategories nested

https://www.eventbrite.com/developer/v3/endpoints/categories/#ebapi-get-categories

func (*Client) Category

func (c *Client) Category(ctx context.Context, id string) (*Category, error)

Category gets a category by ID as category

https://www.eventbrite.com/developer/v3/endpoints/categories/#ebapi-get-categories-id

func (*Client) CheckoutAssociate

func (c *Client) CheckoutAssociate(ctx context.Context, eventID string, req *CheckoutAssociateToEventRequest) (interface{}, error)

CheckoutAssociate associates a single or set of checkout_settings with a given event by its event_id. This does not add more checkout settings to the event, but instead replaces all checkout settings for the event with the one(s) submitted. The JSON post body is a string list of the checkout_settings IDs you want to associate

https://www.eventbrite.co.uk/developer/v3/endpoints/checkout_settings/#ebapi-post-events-event-id-checkout-settings

func (*Client) CheckoutAssociatePayoutSettings

func (c *Client) CheckoutAssociatePayoutSettings(
	ctx context.Context,
	eventID string,
	req *CheckoutAssociatePayoutToEvent) (interface{}, error)

Associates a payout user instrument ID with a given event, or clear the association by passing a null value for the user instrument ID

https://www.eventbrite.co.uk/developer/v3/endpoints/checkout_settings/#ebapi-post-events-event-id-payout-settings

func (*Client) CheckoutByEvent

func (c *Client) CheckoutByEvent(ctx context.Context, eventId string) ([]*Checkout, error)

CheckoutByEvent gets and returns a list of checkout_settings associated with a given event by its event_id

https://www.eventbrite.co.uk/developer/v3/endpoints/checkout_settings/#ebapi-get-events-event-id-checkout-settings

func (*Client) CheckoutCreate

func (c *Client) CheckoutCreate(ctx context.Context, req *CheckoutCreateRequest) (*Checkout, error)

CheckoutCreate creates a new checkout_settings object belonging to the current user. Two common settings are Eventbrite. Payment Processing ( checkout_method = “eventbrite” ) and PayPal ( checkout_method = “paypal” ). In addition to the checkout_method you must provide the country and currency proceeds from the event should be paid to

For all checkout methods except “eventbrite” and “offline” you must provide a valid user_instrument_vault_id

Returns a list of checkout_settings

https://www.eventbrite.co.uk/developer/v3/endpoints/checkout_settings/#ebapi-post-checkout-settings

func (*Client) CheckoutForAccount

func (c *Client) CheckoutForAccount(ctx context.Context, req *CheckoutForAccountRequest) (*CheckoutSettingsForAccount, error)

CheckoutForAccount searches and returns a list of checkout_settings for the current user as the key checkout_settings

https://www.eventbrite.co.uk/developer/v3/endpoints/checkout_settings/#ebapi-get-checkout-settings

func (*Client) CheckoutGet

func (c *Client) CheckoutGet(ctx context.Context, id string) (*Checkout, error)

CheckoutGet gets a specific checkout_settings object by ID

https://www.eventbrite.co.uk/developer/v3/endpoints/checkout_settings/#ebapi-get-checkout-settings-checkout-settings-id

func (*Client) CheckoutGetList

func (c *Client) CheckoutGetList(ctx context.Context) (*Checkout, error)

CheckoutGetList gets the countries and currencies which are supported by Eventbrite for ticket payment

https://www.eventbrite.co.uk/developer/v3/endpoints/checkout_settings/#ebapi-get-checkout-settings-countries-currencies

func (*Client) CheckoutMethods

func (c *Client) CheckoutMethods(ctx context.Context, req CheckoutMethodsRequest) (*CheckoutMethodsResponse, error)

CheckoutMethods gets the available checkout methods to do payments given a country and a currency

https://www.eventbrite.co.uk/developer/v3/endpoints/checkout_settings/#ebapi-get-checkout-settings-methods

func (*Client) Countries

func (c *Client) Countries(ctx context.Context) (*Countries, error)

Timezones returns a single page response with a key of countries, containing a list of countries

https://www.eventbrite.com/developer/v3/endpoints/system/#ebapi-get-system-countries

func (*Client) DiscountCreate

func (c *Client) DiscountCreate(ctx context.Context, req *DiscountCreateRequest) (*CrossEventDiscount, error)

DiscountCreate creates a discount. Returns the created cross_event_discount.

The following conditions define the span of the discount’s effect:

  • If event_id is provided and ticket_class_ids is not provided, a single-event discount for all the tickets in the event is created.
  • If both event_id and ticket_class_ids are provided, a single-event discount for the specified event tickets is created.
  • If ticket_group_id is provided, a cross-event discount for the specified ticket group is created.
  • If neither event_id nor ticket_group_id are provided, a discount that applies to all the events and all tickets of the user is created. This means that the discount will apply to future events also.

Notes:

Public and coded discounts can have either an amount off or a percentage off, but not both. Access codes cannot have an amount or percentage off. Public discounts should not contain apostrophes or non-alphanumeric characters (except “-”, “_”, ” ”, “(”, ”)”, “/”, and “”). Coded discounts and access codes should not contain spaces, apostrophes or non-alphanumeric characters (except “-”, “_”, “(”, ”)”, “/”, and “”).

  • If the start_date and start_date_relative are null or empty, that means that the discount is usable effective immediately.
  • If the end_date and end_date_relative are null or empty, that means that the discount is usable until the event finishes.
  • If start_date_relative is provided, the discount will be usable after the given number of seconds prior to the event start.
  • If end_date_relative is provided, the discount will be usable until the given number of seconds prior to the event start.

Discount for series events should be associated with the parent event, not its children

https://www.eventbrite.co.uk/developer/v3/endpoints/cross_event_discounts/#ebapi-post-discounts

func (*Client) DiscountDelete

func (c *Client) DiscountDelete(ctx context.Context, id string) (interface{}, error)

DiscountDelete deletes the cross_event_discount with the specified :discount_id. Only unused discounts can be deleted. Warning: The discount cannot be restored after deletion.

https://www.eventbrite.co.uk/developer/v3/endpoints/cross_event_discounts/#ebapi-delete-discounts-discount-id

func (*Client) DiscountUpdate

func (c *Client) DiscountUpdate(ctx context.Context, id string, req *DiscountUpdateRequest) (*CrossEventDiscount, error)

DiscountUpdate updates the discount with the specified :discount_id. Returns the updated cross_event_discount. The fields sent are the ones that are going to be updated, the fields that are not sent will be unchanged. The same conditions and notes for the discount creation apply

https://www.eventbrite.co.uk/developer/v3/endpoints/cross_event_discounts/#ebapi-post-discounts-discount-id

func (*Client) DiscountsGet

func (c *Client) DiscountsGet(ctx context.Context, id string) (*CrossEventDiscount, error)

DiscountsGet returns the cross_event_discount with the specified :discount_id

https://www.eventbrite.co.uk/developer/v3/endpoints/cross_event_discounts/#ebapi-cross-event-discounts

func (*Client) EventCancel

func (c *Client) EventCancel(ctx context.Context, id string) (interface{}, error)

EventCancel cancels an event if it has not already been deleted. In order for cancel to be permitted, there must be no pending or completed orders. Returns a boolean indicating success or failure of the cancel.

https://www.eventbrite.com/developer/v3/endpoints/events/#ebapi-post-events-id-cancel

func (*Client) EventCreate

func (c *Client) EventCreate(ctx context.Context, req *EventCreateRequest) (interface{}, error)

EventCreate makes a new event, and returns an event for the specified event. Does not support the creation of repeating event series.

https://www.eventbrite.com/developer/v3/endpoints/events/#ebapi-post-events

func (*Client) EventCreateCannedQuestion

func (c *Client) EventCreateCannedQuestion(ctx context.Context, id string, q *EventCreateCannedQuestion) (interface{}, error)

EventCreateCannedQuestion creates a new canned question; returns the result as a question

https://www.eventbrite.com/developer/v3/endpoints/events/#ebapi-post-events-id-canned-questions

func (*Client) EventCreateQuestion

func (c *Client) EventCreateQuestion(ctx context.Context, id string, q *EventCreateQuestion) (interface{}, error)

EventCreateQuestion creates a new question; returns the result as a question as the key question

https://www.eventbrite.com/developer/v3/endpoints/events/#ebapi-post-events-id-questions

func (*Client) EventCreateTicketClass

func (c *Client) EventCreateTicketClass(ctx context.Context, id string, class *EventCreateTicketClass) (*TicketClass, error)

EventCreateTicketClass creates a new ticket class, returning the result as a ticket_class under the key ticket_class.

https://www.eventbrite.com/developer/v3/endpoints/events/#ebapi-post-events-id-ticket-classes

func (*Client) EventDelete

func (c *Client) EventDelete(ctx context.Context, id string) (interface{}, error)

EventDelete deletes an event if the delete is permitted. In order for a delete to be permitted, there must be no pending or completed orders. Returns a boolean indicating success or failure of the delete.

https://www.eventbrite.com/developer/v3/endpoints/events/#ebapi-delete-events-id

func (*Client) EventDeleteTicketClass

func (c *Client) EventDeleteTicketClass(ctx context.Context, eventId, ticketId string, class *EventDeleteTicketClass) (interface{}, error)

EventDeleteTicketClass deletes the ticket class. Returns {"deleted": true}

https://www.eventbrite.com/developer/v3/endpoints/events/#ebapi-delete-events-id-ticket-classes-ticket-class-id

func (*Client) EventGet

func (c *Client) EventGet(ctx context.Context, id string) (*Event, error)

EventGet returns an event for the specified event. Many of Eventbrite’s API use cases revolve around pulling details of a specific event within an Eventbrite account. Does not support fetching a repeating event series parent (see GET /series/:id/).

https://www.eventbrite.com/developer/v3/endpoints/events/#ebapi-get-events-id

func (*Client) EventGetCannedQuestions

func (c *Client) EventGetCannedQuestions(ctx context.Context, id string, q *EventGetCannedQuestions) (interface{}, error)

EventGetCannedQuestions this endpoint returns canned questions of a single event (examples: first name, last name, company, prefix, etc.).

https://www.eventbrite.com/developer/v3/endpoints/events/#ebapi-get-events-id-canned-questions

func (*Client) EventGetDisplaySettings

func (c *Client) EventGetDisplaySettings(ctx context.Context, id string) (*EventSettings, error)

EventGetDisplaySettings gets Event display settings

https://www.eventbrite.com/developer/v3/endpoints/events/#ebapi-get-events-id-display-settings

func (*Client) EventGetQuestion

func (c *Client) EventGetQuestion(ctx context.Context, eventId, questionId string) (interface{}, error)

EventGetQuestion returns question for a specific question id

https://www.eventbrite.com/developer/v3/endpoints/events/#ebapi-get-events-id-questions-id

func (*Client) EventGetQuestions

func (c *Client) EventGetQuestions(ctx context.Context, id string, q *EventGetQuestions) (interface{}, error)

Eventbrite allows event organizers to add custom questions that attendees fill out upon registration. This endpoint can be helpful for determining what custom information is collected and available per event. This endpoint will return question

https://www.eventbrite.com/developer/v3/endpoints/events/#ebapi-get-events-id-questions

func (*Client) EventGetTicketClass

func (c *Client) EventGetTicketClass(ctx context.Context, eventId, ticketId string) (*TicketClass, error)

EventGetTicketClass gets and returns a single TicketClass by ID

https://www.eventbrite.com/developer/v3/endpoints/events/#ebapi-get-events-id-ticket-classes-ticket-class-id

func (*Client) EventGetTicketClasses

func (c *Client) EventGetTicketClasses(ctx context.Context, id string, class *EventGetTicketClass) (*EventGetTicketClassResult, error)

EventGetTicketClasses gets an Event TicketClass

https://www.eventbrite.com/developer/v3/endpoints/events/#ebapi-get-events-id-ticket-classes

func (*Client) EventPublish

func (c *Client) EventPublish(ctx context.Context, id string) (interface{}, error)

EventPublish publishes an event if it has not already been deleted. In order for publish to be permitted, the event must have all necessary information, including a name and description, an organizer, at least one ticket, and valid payment options. This API endpoint will return argument errors for event fields that fail to validate the publish requirements. Returns a boolean indicating success or failure of the publish.

https://www.eventbrite.com/developer/v3/endpoints/events/#ebapi-events

func (*Client) EventSearch

func (c *Client) EventSearch(ctx context.Context, req *EventSearchRequest) (*EventSearchResult, error)

EventSearch allows you to retrieve a paginated response of public event objects from across Eventbrite’s directory, regardless of which user owns the event.

https://www.eventbrite.com/developer/v3/endpoints/events/#ebapi-events

func (*Client) EventSeriesCUD

func (c *Client) EventSeriesCUD(ctx context.Context, id string, req *SeriesCUREventRequest) (interface{}, error)

Creates more event dates or updates or deletes existing event dates in a repeating event series. In order for a series date to be deleted or updated, there must be no pending or completed orders for that date

https://www.eventbrite.co.uk/developer/v3/endpoints/events_series/#ebapi-post-series-id-events

func (*Client) EventSeriesCancel

func (c *Client) EventSeriesCancel(ctx context.Context, id string) (interface{}, error)

Cancels a repeating event series and all of its occurrences that are not already canceled or deleted. In order for cancel to be permitted, there must be no pending or completed orders for any dates in the series. Returns a boolean indicating success or failure of the cancel

https://www.eventbrite.co.uk/developer/v3/endpoints/events_series/#ebapi-post-series-id-cancel

func (*Client) EventSeriesCreate

func (c *Client) EventSeriesCreate(ctx context.Context, req *SeriesCreateEventRequest) (interface{}, error)

EventSeriesCreate creates a new repeating event series. The POST data must include information for at least one event date in the series.

Return object is not documented

https://www.eventbrite.co.uk/developer/v3/endpoints/events_series/#ebapi-post-series

func (*Client) EventSeriesDelete

func (c *Client) EventSeriesDelete(ctx context.Context, id string) (interface{}, error)

Deletes a repeating event series and all of its occurrences if the delete is permitted. In order for a delete to be permitted, there must be no pending or completed orders for any dates in the series. Returns a boolean indicating success or failure of the delete

https://www.eventbrite.co.uk/developer/v3/endpoints/events_series/#ebapi-delete-series-id

func (*Client) EventSeriesGet

func (c *Client) EventSeriesGet(ctx context.Context, id string) (interface{}, error)

EventSeriesGet returns a repeating event series parent object for the specified repeating event series

Return object is not documented

https://www.eventbrite.co.uk/developer/v3/endpoints/events_series/#ebapi-get-series-id

func (*Client) EventSeriesPublish

func (c *Client) EventSeriesPublish(ctx context.Context, id string) (interface{}, error)

Publishes a repeating event series and all of its occurrences that are not already canceled or deleted. Once a date is cancelled it can still be uncancelled and can be viewed by the public. A deleted date cannot be undeleted and cannot by viewed by the public. In order for publish to be permitted, the event must have all necessary information, including a name and description, an organizer, at least one ticket, and valid payment options. This API endpoint will return argument errors for event fields that fail to validate the publish requirements. Returns a boolean indicating success or failure of the publish

https://www.eventbrite.co.uk/developer/v3/endpoints/events_series/#ebapi-post-series-id-publish

func (*Client) EventSeriesUnPublish

func (c *Client) EventSeriesUnPublish(ctx context.Context, id string) (interface{}, error)

Unpublishes a repeating event series and all of its occurrences that are not already completed, canceled, or deleted. In order for a free series to be unpublished, it must not have any pending or completed orders for any dates, even past dates. In order for a paid series to be unpublished, it must not have any pending or completed orders for any dates, except that completed orders for past dates that have been completed and paid out do not prevent an unpublish. Returns a boolean indicating success or failure of the unpublish

https://www.eventbrite.co.uk/developer/v3/endpoints/events_series/#ebapi-post-series-id-unpublish

func (*Client) EventUnPublish

func (c *Client) EventUnPublish(ctx context.Context, id string) (interface{}, error)

EventUnPublish unpublishes an event. In order for a free event to be unpublished, it must not have any pending or completed orders, even if the event is in the past. In order for a paid event to be unpublished, it must not have any pending or completed orders, unless the event has been completed and paid out. Returns a boolean indicating success or failure of the unpublish.

https://www.eventbrite.com/developer/v3/endpoints/events/#ebapi-post-events-id-unpublish

func (*Client) EventUpdate

func (c *Client) EventUpdate(ctx context.Context, id string, req *EventUpdateRequest) (interface{}, error)

EventUpdate updates an event. Returns an event for the specified event. Does not support updating a repeating event series parent (see POST /series/:id/)

https://www.eventbrite.com/developer/v3/endpoints/events/#ebapi-post-events-id

func (*Client) EventUpdateDisplaySettings

func (c *Client) EventUpdateDisplaySettings(ctx context.Context, id string, settings *EventUpdateDisplaySettings) (*EventSettings, error)

EventUpdateDisplaySettings apdates the display settings for an Event.

https://www.eventbrite.com/developer/v3/endpoints/events/#ebapi-post-events-id-display-settings

func (*Client) EventUpdateTicketClass

func (c *Client) EventUpdateTicketClass(ctx context.Context, eventId, ticketId string, class *EventUpdateTicketClass) (*TicketClass, error)

EventUpdateTicketClass updates an existing ticket class, returning the updated result as a ticket_class under the key

https://www.eventbrite.com/developer/v3/endpoints/events/#ebapi-post-events-id-ticket-classes-ticket-class-id

func (*Client) FeeRate

func (c *Client) FeeRate(ctx context.Context, req *FeeRequest) (*FeeResponse, error)

FeeRate returns a list of fee_rate objects for the different currencies, countries, assortments and sales channels we sell through today and in the future.

https://www.eventbrite.com/developer/v3/endpoints/pricing/#ebapi-get-pricing-fee-rates

func (*Client) Format

func (c *Client) Format(ctx context.Context, id string) (*Format, error)

Format gets a format by ID as format.

https://www.eventbrite.com/developer/v3/endpoints/formats/#ebapi-get-formats-id

func (*Client) Formats

func (c *Client) Formats(ctx context.Context) (*FormatResult, error)

Formats returns a list of format as formats.

see @https://www.eventbrite.com/developer/v3/endpoints/formats/#ebapi-get-formats

func (*Client) MediaGetUpload

func (c *Client) MediaGetUpload(ctx context.Context, id string) (*Image, error)

Return an image for a given id

https://www.eventbrite.com/developer/v3/endpoints/media/#ebapi-get-media-id

func (*Client) Notifications

func (c *Client) Notifications(ctx context.Context) (*NotificationsResult, error)

Notifications gets a paginated response of notification objects for a determined user.

https://www.eventbrite.com/developer/v3/endpoints/notifications/#ebapi-get-users-me-notifications

func (*Client) OrderGet

func (c *Client) OrderGet(ctx context.Context, id string) (*Order, error)

OrderGet gets an order by ID an order object

https://www.eventbrite.com/developer/v3/endpoints/orders/#ebapi-orders

func (*Client) OrganizerCreate

func (c *Client) OrganizerCreate(ctx context.Context, req *CreateOrganizerRequest) (*Organizer, error)

OrganizerCreate makes a new organizer. Returns the organizer

https://www.eventbrite.com/developer/v3/endpoints/organizers/#ebapi-post-organizers

func (*Client) OrganizerGet

func (c *Client) OrganizerGet(ctx context.Context, id string) (*Organizer, error)

OrganizerCreate gets an organizer by ID as organizer.

https://www.eventbrite.com/developer/v3/endpoints/organizers/#ebapi-get-organizers-id

func (*Client) OrganizerUpdate

func (c *Client) OrganizerUpdate(ctx context.Context, id string, req *UpdateOrganizerRequest) (*Organizer, error)

OrganizerCreate updates an organizer and returns it as as organizer.

https://www.eventbrite.com/developer/v3/endpoints/organizers/#ebapi-post-organizers

func (*Client) RefundRequest

func (c *Client) RefundRequest(ctx context.Context, id string) (*RefundRequest, error)

RefundRequest gets a refund-request for the specified refund request

https://www.eventbrite.com/developer/v3/endpoints/refund_requests/#ebapi-get-refund-requests-id

func (*Client) RefundRequestCreate

func (c *Client) RefundRequestCreate(ctx context.Context, req *CreateRefundRequest) (*RefundRequest, error)

RefundRequestCreate creates a refund-request for a specific order. Each element in items is a refund-item

https://www.eventbrite.com/developer/v3/endpoints/refund_requests/#ebapi-post-refund-requests

func (*Client) RefundRequestUpdate

func (c *Client) RefundRequestUpdate(ctx context.Context, id string, req *UpdateOrganizerRequest) (*RefundRequest, error)

RefundRequestUpdate updates a refund-request for a specific order. Each element in items is a refund-item

https://www.eventbrite.com/developer/v3/endpoints/refund_requests/#ebapi-post-refund-requests-id

func (*Client) Regions

func (c *Client) Regions(ctx context.Context) (*Regions, error)

Timezones returns a single page response with a key of regions, containing a list of regions

https://www.eventbrite.com/developer/v3/endpoints/system/#ebapi-get-system-regions

func (*Client) ReportAttendees

func (c *Client) ReportAttendees(ctx context.Context, req *ReportAttendees) (interface{}, error)

ReportSales returns a response of the aggregate attendees data

https://www.eventbrite.com/developer/v3/endpoints/reports/#ebapi-get-reports-attendees

func (*Client) ReportSales

func (c *Client) ReportSales(ctx context.Context, req *ReportRequest) (interface{}, error)

ReportSales returns a response of the aggregate sales data

https://www.eventbrite.com/developer/v3/endpoints/reports/#ebapi-get-reports-sales

func (*Client) SubCategories

func (c *Client) SubCategories(ctx context.Context) (*SubCategoriesResult, error)

SubCategories gets a list of subcategory as subcategories

https://www.eventbrite.com/developer/v3/endpoints/categories/#ebapi-get-subcategories

func (*Client) SubCategory

func (c *Client) SubCategory(ctx context.Context, id string) (*SubCategory, error)

SubCategory gets a subcategory by ID as subcategory

https://www.eventbrite.com/developer/v3/endpoints/categories/#ebapi-get-subcategories-id

func (*Client) TicketGroupCreate

func (c *Client) TicketGroupCreate(ctx context.Context, id string, req *CreateTicketGroupRequest) (*TicketGroup, error)

TicketGroupGet creates a ticket group and returns the created ticket_group. Only up to 200 live ticket groups may be created; those with archived or deleted status are not taken into account

https://www.eventbrite.com/developer/v3/endpoints/ticket_groups/#ebapi-post-ticket-groups

func (*Client) TicketGroupDelete

func (c *Client) TicketGroupDelete(ctx context.Context, id string) (interface{}, error)

TicketGroupGet deletes the ticket_group with the specified :ticket_group_id. The status of the ticket group is changed to deleted.

https://www.eventbrite.com/developer/v3/endpoints/ticket_groups/#ebapi-delete-ticket-groups-ticket-group-id

func (*Client) TicketGroupGet

func (c *Client) TicketGroupGet(ctx context.Context, id string) (*TicketGroup, error)

TicketGroupGet returns the ticket_group with the specified :ticket_group_id

https://www.eventbrite.com/developer/v3/endpoints/ticket_groups/#ebapi-get-ticket-groups-ticket-group-id

func (*Client) TicketGroupUpdate

func (c *Client) TicketGroupUpdate(ctx context.Context, id string, req *UpdateTicketGroupRequest) (*TicketGroup, error)

TicketGroupGet updates the ticket group with the specified :ticket_group_id. Returns the updated ticket_group

https://www.eventbrite.com/developer/v3/endpoints/ticket_groups/#ebapi-post-ticket-groups-ticket-group-id

func (*Client) Timezones

func (c *Client) Timezones(ctx context.Context) (*Timezones, error)

Timezones returns a paginated response with a key of timezones, containing a list of timezones

https://www.eventbrite.com/developer/v3/endpoints/system/#ebapi-get-system-timezones

func (*Client) TrackingBeaconCreate

func (c *Client) TrackingBeaconCreate(ctx context.Context, req *CreateTrackingBeaconRequest) (*TrackingBeacon, error)

TrackingBeaconCreate makes a new tracking beacon. Returns an tracking_beacon as tracking_beacon. Either event_id or user_id is required for each tracking beacon. If the event_id is provided, the tracking pixel will fire only for that event. If the user_id is provided, the tracking pixel will fire for all events organized by that user

https://www.eventbrite.com/developer/v3/endpoints/tracking_beacons/#ebapi-post-tracking-beacons

func (*Client) TrackingBeaconDelete

func (c *Client) TrackingBeaconDelete(ctx context.Context, id string) (*TrackingBeacon, error)

TrackingBeaconDelete delete the tracking_beacons with the specified :tracking_beacons_id

https://www.eventbrite.com/developer/v3/endpoints/tracking_beacons/#ebapi-delete-tracking-beacons-tracking-beacons-id

func (*Client) TrackingBeaconGet

func (c *Client) TrackingBeaconGet(ctx context.Context, id string, req *GetTrackingBeaconRequest) (*TrackingBeacon, error)

TrackingBeaconGet returns the tracking_beacon with the specified :tracking_beacons_id

https://www.eventbrite.com/developer/v3/endpoints/tracking_beacons/#ebapi-get-tracking-beacons-tracking-beacons-id

func (*Client) TrackingBeaconGetForEvent

func (c *Client) TrackingBeaconGetForEvent(ctx context.Context, eventId string, req *GetTrackingBeaconForEventRequest) (*TrackingBeacon, error)

TrackingBeaconGetForEvent returns the list of tracking_beacon for the event :event_id

https://www.eventbrite.com/developer/v3/endpoints/tracking_beacons/#ebapi-get-events-event-id-tracking-beacons

func (*Client) TrackingBeaconGetForUser

func (c *Client) TrackingBeaconGetForUser(ctx context.Context, userId string, req *GetTrackingBeaconForUserRequest) (*TrackingBeacon, error)

TrackingBeaconGetForUser returns the list of tracking_beacon for the user :user_id

https://www.eventbrite.com/developer/v3/endpoints/tracking_beacons/#ebapi-get-users-user-id-tracking-beacons

func (*Client) TrackingBeaconUpdate

func (c *Client) TrackingBeaconUpdate(ctx context.Context, id string, req *UpdateTrackingBeaconRequest) (*TrackingBeacon, error)

TrackingBeaconGet updates the tracking_beacons with the specified :tracking_beacons_id. Though event_id and user_id are not individually required, it is a requirement to have a tracking beacon where either one must exist. Returns an tracking_beacon as tracking_beacon

https://www.eventbrite.com/developer/v3/endpoints/tracking_beacons/#ebapi-post-tracking-beacons-tracking-beacons-id

func (*Client) User

func (c *Client) User(ctx context.Context, id string) (*User, error)

UserGet returns a user for the specified user as user. If you want to get details about the currently authenticated user, use /users/me/

https://www.eventbrite.co.uk/developer/v3/endpoints/users/#ebapi-get-users-id

func (*Client) UserAssortments

func (c *Client) UserAssortments(ctx context.Context, id string) (*Assortment, error)

UserAssortments retrieve the assortment for the user

https://www.eventbrite.com/developer/v3/endpoints/users/#ebapi-get-users-id-assortment

func (*Client) UserBookmarks

func (c *Client) UserBookmarks(ctx context.Context, id string, req *UserBookmarksRequest) (*UserBookmarksResponse, error)

UserBookmarks gets all the user’s saved events. In order to update the saved events list, the user must unsave or save each event. A user is authorized to only see his/her saved events.

https://www.eventbrite.com/developer/v3/endpoints/users/#ebapi-get-users-id-bookmarks

func (*Client) UserContactList

func (c *Client) UserContactList(ctx context.Context, id, contactListID string, request *UserCreateContactListsRequest) (*UserContactListsResponse, error)

UserContactList gets a user’s contact_list by ID as contact_list

hhttps://www.eventbrite.com/developer/v3/endpoints/users/#ebapi-get-users-id-contact-lists-contact-list-id

func (*Client) UserContactLists

func (c *Client) UserContactLists(ctx context.Context, id string) (*UserContactListsResponse, error)

UserContactLists returns a list of contact_list that the user owns as the key contact_lists

https://www.eventbrite.com/developer/v3/endpoints/users/#ebapi-get-users-id-contact-lists

func (*Client) UserCreateContactList

func (c *Client) UserCreateContactList(ctx context.Context, id string, request *UserCreateContactListsRequest) (*UserContactListsResponse, error)

UserCreateContactList makes a new contact_list for the user and returns it as contact_list

https://www.eventbrite.com/developer/v3/endpoints/users/#ebapi-post-users-id-contact-lists

func (*Client) UserDeleteContactList

func (c *Client) UserDeleteContactList(ctx context.Context, id, contactListID string) (interface{}, error)

UserDeleteContactList deletes the contact list. Returns {"deleted": true}

https://www.eventbrite.com/developer/v3/endpoints/users/#ebapi-delete-users-id-contact-lists-contact-list-id

func (*Client) UserEventAttendees

func (c *Client) UserEventAttendees(ctx context.Context, id string, request *UserEventAttendeesRequest) (*UserEventAttendeesResponse, error)

UserEventAttendees returns a paginated response of attendees, under the key attendees, of attendees visiting any of the events the user owns (events that would be returned from /users/:id/owned_events/)

https://www.eventbrite.com/developer/v3/endpoints/users/#ebapi-get-users-id-owned-event-attendees

func (*Client) UserEventOrders

func (c *Client) UserEventOrders(ctx context.Context, id string, request *UserEventOrdersRequest) (*UserEventOrdersResponse, error)

UserEventOrders returns a paginated response of orders, under the key orders, of orders placed against any of the events the user owns (events that would be returned from /users/:id/owned_events/)

https://www.eventbrite.com/developer/v3/endpoints/users/#ebapi-get-users-id-owned-event-orders

func (*Client) UserEvents

func (c *Client) UserEvents(ctx context.Context, id string, req UserEventsRequest) (*UserEventsResponse, error)

UserEvents returns a paginated response of events, under the key events, of all events the user has access to

https://www.eventbrite.co.uk/developer/v3/endpoints/users/#ebapi-get-users-id-events

func (*Client) UserListContactAddContacts

func (c *Client) UserListContactAddContacts(ctx context.Context, id, contactListID string, req *UserAddContactListContactRequest) (*UserContactListContacts, error)

UserContactListContacts adds a new contact to the contact list. Returns {"created": true} There is no way to update entries in the list; just delete the old one and add the updated version.

https://www.eventbrite.com/developer/v3/endpoints/users/#ebapi-get-users-id-contact-lists-contact-list-id-contacts

func (*Client) UserListContactContacts

func (c *Client) UserListContactContacts(ctx context.Context, id, contactListID string) (*UserContactListContacts, error)

UserContactListContacts returns the contacts on the contact list as contacts

https://www.eventbrite.com/developer/v3/endpoints/users/#ebapi-get-users-id-contact-lists-contact-list-id-contacts

func (*Client) UserListContactDeleteContacts

func (c *Client) UserListContactDeleteContacts(ctx context.Context, id, contactListID string) (interface{}, error)

UserContactListContacts adds a new contact to the contact list. Returns {"created": true} There is no way to update entries in the list; just delete the old one and add the updated version.

https://www.eventbrite.com/developer/v3/endpoints/users/#ebapi-get-users-id-contact-lists-contact-list-id-contacts

func (*Client) UserOrders

func (c *Client) UserOrders(ctx context.Context, id string, req *UserEventOrders) (*UserOrdersResult, error)

UserOrders returns a paginated response of orders, under the key orders, of all orders the user has placed (i.e. where the user was the person buying the tickets).

https://www.eventbrite.co.uk/developer/v3/endpoints/users/#ebapi-get-users-id-orders

func (*Client) UserOrganizers

func (c *Client) UserOrganizers(ctx context.Context, id string, req *UserOrganizerRequest) (*UserOrganizerResponse, error)

UserOrganizers returns a paginated response of organizer objects that are owned by the user.

https://www.eventbrite.co.uk/developer/v3/endpoints/users/#ebapi-get-users-id-organizers

func (*Client) UserOwnedEvents

func (c *Client) UserOwnedEvents(ctx context.Context, id string, req *UserOwnedEventsRequest) (*UserOwnedEventResponse, error)

UserOrganizers returns a paginated response of organizer objects that are owned by the user.

https://www.eventbrite.co.uk/developer/v3/endpoints/users/#ebapi-get-users-id-organizers

func (*Client) UserSaveBookmarks

func (c *Client) UserSaveBookmarks(ctx context.Context, id string, req *UserSaveBookmarkRequest) (interface{}, error)

UserSaveBookmarks adds a new bookmark for the user. Returns {"created": true}. A user is only authorized to save his/her own events.

https://www.eventbrite.com/developer/v3/endpoints/users/#ebapi-post-users-id-bookmarks-save

func (*Client) UserSetAssortments

func (c *Client) UserSetAssortments(ctx context.Context, id string, req *UserSetAssortmentRequest) (*Assortment, error)

UserSetAssortments set a user’s assortment and returns the assortment for the specified user.

https://www.eventbrite.com/developer/v3/endpoints/users/#ebapi-get-users-id-assortment

func (*Client) UserUnSaveBookmarks

func (c *Client) UserUnSaveBookmarks(ctx context.Context, id string, req *UserUnSaveBookmarkRequest) (interface{}, error)

UserUnSaveBookmarks removes the specified bookmark from the event for the user. Returns {"deleted": true}. A user is only authorized to unsave his/her own events.

https://www.eventbrite.com/developer/v3/endpoints/users/#ebapi-post-users-id-bookmarks-unsave

func (*Client) UserUpdateContactList

func (c *Client) UserUpdateContactList(ctx context.Context, id, contactListID string, request *UserUpdateContactListRequest) (*UserContactListsResponse, error)

UserUpdateContactList updates the contact_list and returns it as contact_list

https://www.eventbrite.com/developer/v3/endpoints/users/#ebapi-post-users-id-contact-lists-contact-list-id

func (*Client) UserVenues

func (c *Client) UserVenues(ctx context.Context, id string) (*UserVenuesResponse, error)

UserVenues returns a paginated response of venue objects that are owned by the user

func (*Client) VenueCreate

func (c *Client) VenueCreate(ctx context.Context, req *CreateVenueRequest) (*Venue, error)

Creates a new venue with associated address

https://www.eventbrite.com/developer/v3/endpoints/venues/#ebapi-post-venues

func (*Client) VenueEvents

func (c *Client) VenueEvents(ctx context.Context, venueId string) (*VenueEventsResult, error)

Creates a new venue with associated address

https://www.eventbrite.com/developer/v3/endpoints/venues/#ebapi-post-venues

func (*Client) VenueUpdate

func (c *Client) VenueUpdate(ctx context.Context, id string, req *UpdateVenueRequest) (*Venue, error)

Updates a venue and returns it as an object

https://www.eventbrite.com/developer/v3/endpoints/venues/#ebapi-post-venues-id

func (*Client) WebhookCreate

func (c *Client) WebhookCreate(ctx context.Context, req *CreateWebhookRequest) (*Webhook, error)

Creates a webhook for the authenticated user

https://www.eventbrite.com/developer/v3/endpoints/webhooks/#ebapi-post-webhooks

func (*Client) WebhookDelete

func (c *Client) WebhookDelete(ctx context.Context, id string) (*Webhook, error)

Deletes the specified webhook object

https://www.eventbrite.com/developer/v3/endpoints/webhooks/#ebapi-delete-webhooks-id

func (*Client) WebhookGet

func (c *Client) WebhookGet(ctx context.Context, id string) (*Webhook, error)

Returns a webhook for the specified webhook as webhook

https://www.eventbrite.com/developer/v3/endpoints/webhooks/#ebapi-get-webhooks-id

func (*Client) Webhooks

func (c *Client) Webhooks(ctx context.Context, req *WebhooksRequest) (*WebhooksResult, error)

Returns the list of webhook objects that belong to the authenticated user

https://www.eventbrite.com/developer/v3/endpoints/webhooks/#ebapi-get-webhooks

type ClientOption

type ClientOption func(*Client) error

ClientOption is the type of constructor options for NewClient(...).

func WithBaseURL

func WithBaseURL(baseURL string) ClientOption

WithBaseURL configures a Eventbrite API client with a custom base url

func WithHTTPClient

func WithHTTPClient(c *http.Client) ClientOption

WithHTTPClient configures a Eventbrite client with a http.Client to make requests over.

func WithRateLimit

func WithRateLimit(requestsPerSecond int) ClientOption

WithRateLimit configures the rate limit for back end requests. Default is to limit to 50 requests per second. A value of zero disables rate limiting.

func WithToken

func WithToken(token string) ClientOption

WithPersonalToken configures a Eventbrite API client with auth token

type Contact

type Contact struct {
	// The contact’s name. Use this in preference to first_name/last_name if possible for
	// forward compatability with non-Western names
	Name string `json:"name"`
	// The contact’s first name
	FirstName string `json:"first_name"`
	// The contact’s last name
	LastName string `json:"last_name"`
	// The contact’s email address
	Email string `json:"email"`
	// When this contact was created
	Created DateTime `json:"created"`
}

type ContactList

type ContactList struct {
	// The name of the contact list
	Name string `json:"name"`
	// The user who owns this contact list
	UserID string `json:"user_id"`
}

https://www.eventbrite.com/developer/v3/response_formats/user/#ebapi-contact-list

type Countries

type Countries struct {
	Locale     string     `json:"locale"`
	Countries  []Country  `json:"countries"`
	Pagination Pagination `json:"pagination"`
}

type Country

type Country struct {
	// The country identifier as defined by the ISO 3166 standard
	Code CountryCode `json:"code"`
	// The readable name of the country
	Label string `json:"label"`
}

Country is an object with details about a country

https://www.eventbrite.com/developer/v3/response_formats/system/#ebapi-countries

type CountryCode

type CountryCode string

The ISO 3166 alpha-2 code of a country.

type CreateOrganizationEventRequest

type CreateOrganizationEventRequest struct {
	// The name of the event. Value cannot be empty nor whitespace.
	NameHtml string `json:"event.name.html" validate:"required"`
	// The ID of the organizer of this event
	DescriptionHtml string `json:"event.description.html" validate:"required"`
	// The ID of the organizer of this event
	OrganizerId string `json:"event.organizer_id" validate:"required"`
	// The start time of the event
	StartUtc string `json:"event.start.utc" validate:"required"`
	// Yes    Start time timezone (Olson format)
	EventStartTimezone string `json:"event.start.timezone" validate:"required"`
	// The end time of the event
	EventEndUtc string `json:"event.end.utc" validate:"required"`
	//    End time timezone (Olson format)
	EventEndTimezone string `json:"event.end.timezone" validate:"required"`
	// Whether the start date should be hidden
	EventHideStartDate bool `json:"event.hide_start_date"`
	// Whether the end date should be hidden
	EventHideEndDate bool `json:"event.hide_end_date"`
	// Event currency (3 letter code)
	EventCurrency string `json:"event.currency" validate:"required"`
	// The ID of a previously-created venue to associate with this event. You can omit this field or
	// set it to null if you set online_event.
	VenueId string `json:"event.venue_id"`
	// Is the event online-only (no venue)?
	OnlineEvent bool `json:"event.online_event"`
	// If the event is publicly listed and searchable. Defaults to True.
	Listed bool `json:"event.listed"`
	// The logo for the event
	LogoId string `json:"event.logo_id"`
	// The category (vertical) of the event
	CategoryId string `json:"event.category_id"`
	// The subcategory of the event (US only)
	SubcategoryId string `json:"event.subcategory_id"`
	// The format (general type) of the event
	FormatId string `json:"event.format_id"`
	// If users can share the event on social media
	Sharable bool `json:"event.shareable"`
	// Only invited users can see the event page
	InviteOnly bool `json:"event.invite_only"`
	// Password needed to see the event in unlisted mode
	Password string `json:"event.password"`
	// Set specific capacity (if omitted, sums ticket capacities)
	Capacity int `json:"event.capacity"`
	// If the remaining number of tickets is publicly visible on the event page
	ShowRemaining bool `json:"event.show_remaining"`
	// If the event is reserved seating
	IsReservedSeating bool `json:"event.is_reserved_seating"`
	// Source of the event (defaults to API)
	Source string `json:"event.source"`
}

https://www.eventbrite.com/developer/v3/endpoints/users/#ebapi-id9

type CreateOrganizationVenueRequest

type CreateOrganizationVenueRequest struct {
	// The name of the venue
	Name string `json:"venue.name" validate:"required"`
	// The organizer this venue belongs to (optional - leave this off to use the default organizer)
	OrganizerID string `json:"venue.organizer_id"`
	// The first line of the address
	Address1 string `json:"venue.address.address_1"`
	// The second line of the address
	Address2 string `json:"venue.address.address_2"`
	// The city where the venue is
	City string `json:"venue.address.city"`
	// The region where the venue is
	Region string `json:"venue.address.region"`
	// The postal_code where the venue is
	PostalCode string `json:"venue.address.postal_code"`
	// The country where the venue is
	Country string `json:"venue.address.country"`
	// The latitude of the coordinates for the venue
	Latitude float64 `json:"venue.address.latitude"`
	// The longitude of the coordinates for the venue
	Longitude float64 `json:"venue.address.longitude"`
	// The age restrictions for the venue
	AgeRestriction string `json:"venue.age_restriction"`
	// The max capacity for the venue
	Capacity int `json:"venue.capacity"`
}

https://www.eventbrite.com/developer/v3/endpoints/users/#ebapi-id13

type CreateOrganizerRequest

type CreateOrganizerRequest struct {
	// The name of the organizer
	Name string `json:"organizer.name" validate:"required"`
	// The description of the organizer
	Description string `json:"organizer.description.html"`
	// The long description of the organizer
	LongDescription string `json:"organizer.long_description.html"`
	// The logo id of the organizer
	LogoID string `json:"organizer.logo.id"`
	// The website for the organizer
	Website string `json:"organizer.website"`
	// The Twitter handle for the organizer
	Twitter string `json:"organizer.twitter"`
	// The Facebook URL ID for the organizer
	Facebook string `json:"organizer.facebook"`
	// The Instagram numeric ID for the organizer
	Instagram string `json:"organizer.instagram"`
}

CreateOrganizerRequest is the request structure for creating a new organizer

https://www.eventbrite.co.uk/developer/v3/endpoints/organizers/#ebapi-parameters

type CreateRefundRequest

type CreateRefundRequest struct {
	// The email used to create the refund request
	FromEmail string `json:"from_email" validate:"required"`
	// The name used to create the refund request
	FromName string `json:"from_name" validate:"required"`
	// The items of the refund request
	Items []RefundItem `json:"items" validate:"required"`
	// The message associated with the refund request
	Message string `json:"message" validate:"required"`
	// The code of the refund request’s reason
	Reason string `json:"reason" validate:"required"`
}

CreateRefundRequest is the request structure to create a refund request

https://www.eventbrite.co.uk/developer/v3/endpoints/refund_requests/#ebapi-id1

type CreateTicketGroupRequest

type CreateTicketGroupRequest struct {
	// Name of ticket group
	Name string `json:"ticket_group.name" validate:"required"`
	// The status of ticket group. Valid choices are: live, deleted, or archived
	Status string `json:"ticket_group.status"`
	// (‘IDs of tickets by event id for this ticket group. In the format “{“event_id”: [“ticket_class_id”, “ticket_class_id”]}”.’,)
	//
	// https://www.eventbrite.com/developer/v3/response_formats/basic/#ebapi-dictionary
	Ids map[string]interface{} `json:"ticket_group.event_ticket_ids"`
}

CreateTicketGroupRequest is the request structure to create a new ticket group

https://www.eventbrite.com/developer/v3/endpoints/ticket_groups/#ebapi-id3

type CreateTrackingBeaconRequest

type CreateTrackingBeaconRequest struct {
	// The tracking pixel third party type. Allowed types are: Facebook Pixel, Twitter Ads,
	// AdWords, Google Analytics, Simple Image Pixel, Adroll iPixel
	TrackingType string `json:"tracking_type" validate:"required"`

	// The Event ID of the event that this tracking beacon will fire in
	EventID string `json:"event_id"`

	// The User ID wherein the tracking beacon will be assigned to all of this user’s events
	UserID string `json:"user_id"`

	// The Pixel ID given by the third party that will fire when a attendee lands on the page you are tracking
	PixelID string `json:"pixel_id"`

	// The additional pixel data needed to determine which page to fire the tracking pixel on
	Triggers interface{} `json:"triggers"`
}

https://www.eventbrite.com/developer/v3/endpoints/tracking_beacons/#ebapi-parameters

type CreateVenueRequest

type CreateVenueRequest struct {
	// The name of the venue
	Name string `json:"venue.name" validate:"required"`
	// The organizer this venue belongs to (optional - leave this off to use the default organizer)
	OrganizerID string `json:"venue.organizer_id"`
	// The first line of the address
	Address1 string `json:"venue.address.address_1"`
	// The second line of the address
	Address2 string `json:"venue.address.address_2"`
	// The city where the venue is
	City string `json:"venue.address.city"`
	// The region where the venue is
	Region string `json:"venue.address.region"`
	// The postal_code where the venue is
	PostalCode string `json:"venue.address.postal_code"`
	// The country where the venue is
	Country string `json:"venue.address.country"`
	// The latitude of the coordinates for the venue
	Latitude float64 `json:"venue.address.latitude"`
	// The longitude of the coordinates for the venue
	Longitude float64 `json:"venue.address.longitude"`
	// The age restrictions for the venue
	AgeRestriction string `json:"venue.age_restriction"`
	// The max capacity for the venue
	Capacity int `json:"venue.capacity"`
}

https://www.eventbrite.com/developer/v3/endpoints/venues/#ebapi-id3

type CreateWebhookRequest

type CreateWebhookRequest struct {
	// The target URL of the Webhook subscription
	EndpointUrl string `json:"endpoint_url"`
	// Determines what actions will trigger the webhook. If no value is sent for this param, it selects
	// order.placed, event.published, and event.unpublished by default. See below for a more complete
	// description of all available actions
	Actions string `json:"actions"`
	// The organization under which the webhook management is scoped
	OrganizationID string `json:"organization_id"`
	// The ID of the event that triggers this webhook. Leave blank for all events
	EventID string `json:"event_id"`
}

https://www.eventbrite.com/developer/v3/endpoints/webhooks/#ebapi-id5

type CrossEventDiscount

type CrossEventDiscount struct {
	// The name of the discount (on public discounts) or the code that
	// user should provide in order to activate it (on access codes or coded discounts)
	Code string `json:"code"`
	// One of access, coded, public or hold, indicating the type of discount
	Type string `json:"type"`
	// The code will be usable until this date
	EndDate DateTime `json:"end_date"`
	// The code will be usable until this amount of seconds before the event start
	EndDateRelative int `json:"end_date_relative"`
	// A fixed amount that is applied as a discount. It doesn’t have a currency, it depends on the event’s
	// currency from 0.01 to 99999.99. Only two decimals are allowed. Will be null for an access code
	AmountOff float64 `json:"amount_off"`
	// A percentage discount that will be applied on the ticket display price during the checkout,
	// from 1.00 to 100.00. Only two decimals are allowed. Will be null for an access code
	PercentOff float64 `json:"percent_off"`
	// The number of times this discount can be used, when 0 means “unlimited”
	QuantityAvailable int `json:"quantity_available"`
	// The number of times the discount was used. This is a display only field, it cannot be written
	QuantitySold int `json:"quantity_sold"`
	// The code will be usable since this date
	StartDate DateTime `json:"start_date"`
	// The code will be usable since this amount of seconds before the event start
	StartDateRelative int `json:"start_date_relative"`
	// On single event discounts, the list of IDs of tickets that are part of event_id for wich
	// this discounts applies to. If empty, means “all the tickets of the event”
	TicketClassIds []string `json:"ticket_class_ids"`
	// On single event discounts, the id of the Event this discount applies to. This is empty
	// for cross event discounts
	EventID string `json:"event_id"`
	// The Event for this discount (only for single event discounts)
	Event Event `json:"event"`
	// On cross event discounts, it is the id of the ticket group for which the discount applies to
	TicketGroupID string `json:"ticket_group_id"`
	// The Ticket Group for this discount (only for cross event discounts)
	TicketGroup TicketGroup `json:"ticket_group"`
	// List of IDs of holds this discount can unlock
	HoldIds []string `json:"hold_ids"`
}

CrossEventDiscount is an object representing a discount that a ticket buyer can use. The term “Cross” refers to the fact that this kind of discount can be applied to many events at the same time.

There are four types of discounts:

  • Public Discounts, that any user can see on the listing or checkout pages. Only applied to single event discounts.
  • Coded Discounts, that requires the user to provide a secret code in order to enable them.
  • Access Codes, that allow the user to access hidden tickets, but cannot provide a discount.
  • Hold Discounts, that allow the user to unlock or apply discounts to seats defined as hold.

https://www.eventbrite.co.uk/developer/v3/response_formats/event/#ebapi-std:format-cross_event_discount

type Currency

type Currency struct {
	Currency CurrencyCode `json:"currency"`
	Value    float32      `json:"value"`
	Display  string       `json:"display"`
}

type CurrencyCode

type CurrencyCode string

An ISO 4217 3-character code of a currency

type Date

type Date struct {
	Time time.Time
}

func (Date) MarshalJSON

func (d Date) MarshalJSON() ([]byte, error)

func (*Date) UnmarshalJSON

func (d *Date) UnmarshalJSON(data []byte) error

type DateTime

type DateTime struct {
	Time time.Time
}

func (DateTime) MarshalJSON

func (d DateTime) MarshalJSON() ([]byte, error)

func (*DateTime) UnmarshalJSON

func (d *DateTime) UnmarshalJSON(data []byte) error

type DatetimeTz

type DatetimeTz struct {
	Timezone string `json:"timezone"`
	Utc      string `json:"utc"`
	Local    string `json:"local"`
}

A combination of a timezone from the Olson specification as a string, and two datetime values, one for the UTC time represented and one for the local time in the named timezone.

https://www.eventbrite.com/developer/v3/response_formats/basic/#ebapi-datetime-with-timezone

type DiscountCreateRequest

type DiscountCreateRequest struct {
	// Code used to activate discount
	Code string `json:"discount.code" validate:"required"`
	// One of access, coded, public or hold, indicating the type of discount
	Type string `json:"discount.type"`
	// Fixed reduction amount
	AmountOff float64 `json:"discount.amount_off"`
	// A percentage discount that will be applied on the ticket display price during the checkout,
	// from 1.00 to 100.00. Only two decimals are allowed. Will be null for an access code
	PercentOff float64 `json:"discount.percent_off"`
	// Number of discount uses
	QuantityAvailable int `json:"discount.quantity_available"`
	// Allow use from this date. A datetime represented as a string in Naive Local
	// ISO8601 date and time format, in the timezone of the event
	StartDate DateTime `json:"start_date"`
	// Allow use from this number of seconds before the event starts. Greater than 59 and multiple of 60
	StartDateRelative int `json:"discount.start_date_relative"`
	// Allow use until this date. A datetime represented as a string in Naive Local ISO8601 date
	// and time format, in the timezone of the event
	EndDate DateTime `json:"discount.end_date"`
	// Allow use until this number of seconds before the event starts. Greater than 59 and multiple of 60
	EndDateRelative int `json:"discount.end_date_relative"`
	// IDs of tickets to limit discount to
	TicketClassIds []string `json:"discount.ticket_class_ids"`
	// ID of the event. Only used for single event discounts
	EventID string `json:"discount.event_id"`
	// ID of the ticket group
	TicketGroupID string `json:"discount.ticket_group_id"`
	// IDs of holds this discount can unlock
	HoldIds []string `json:"discount.old_ids"`
}

DiscountCreateRequest is the request structure to create a new CrossEventDiscount

https://www.eventbrite.co.uk/developer/v3/endpoints/cross_event_discounts/#ebapi-id1

type DiscountUpdateRequest

type DiscountUpdateRequest struct {
	// Code used to activate discount
	Code string `json:"discount.code" validate:"required"`
	// Fixed reduction amount
	AmountOff float64 `json:"discount.amount_off"`
	// A percentage discount that will be applied on the ticket display price during the checkout,
	// from 1.00 to 100.00. Only two decimals are allowed. Will be null for an access code
	PercentOff float64 `json:"discount.percent_off"`
	// Number of discount uses
	QuantityAvailable int `json:"discount.quantity_available"`
	// Allow use from this date. A datetime represented as a string in Naive Local
	// ISO8601 date and time format, in the timezone of the event
	StartDate DateTime `json:"start_date"`
	// Allow use from this number of seconds before the event starts. Greater than 59 and multiple of 60
	StartDateRelative int `json:"discount.start_date_relative"`
	// Allow use until this date. A datetime represented as a string in Naive Local ISO8601 date
	// and time format, in the timezone of the event
	EndDate DateTime `json:"discount.end_date"`
	// Allow use until this number of seconds before the event starts. Greater than 59 and multiple of 60
	EndDateRelative int `json:"discount.end_date_relative"`
	// IDs of tickets to limit discount to
	TicketClassIds []string `json:"discount.ticket_class_ids"`
	// IDs of holds this discount can unlock
	HoldIds []string `json:"discount.hold_ids"`
}

DiscountUpdateRequest is the structure to update a CrossEventDiscount

https://www.eventbrite.co.uk/developer/v3/endpoints/cross_event_discounts/#ebapi-id3

type Email

type Email struct {
	Email    string `json:"email"`
	Verified bool   `json:"verified"`
	Primary  bool   `json:"primary"`
}

Email contains a list of email objects giving information on the user’s email addresses

https://www.eventbrite.com/developer/v3/response_formats/user/#ebapi-user-emails

type Error

type Error struct {
	// The error key contains a constant string value for error - in this case, VENUE_AND_ONLINE - and
	// is what you should key your error handling off of, as this string won’t change depending on locale
	// or as we change the API over time
	Err string `json:"error"`
	// The error_description key is for developer information only and will usually contain a more informative
	// explanation for the error, should you be confused. You should not display this string to your users;
	// it’s often very technical and may not be localized to their language
	Description string `json:"error_description"`
	// The status_code value just mirrors the HTTP status code you got as part of the request. It’s there as
	// a convenience if your HTTP library makes it very hard to get status codes, or has one error handler
	// for all error codes
	Status int `json:"status_code"`
}

When an error occurs during an API request, you’ll get a response with an error HTTP status (in the 400 or 500 range), as well as a JSON response containing more information about the error.

https://www.eventbrite.co.uk/developer/v3/api_overview/errors/#ebapi-errors

func (Error) Error

func (e Error) Error() string

type Event

type Event struct {
	// Event ID
	Id string `json:"id"`
	// The event’s name
	Name MultipartText `json:"name"`
	// multipart-text: The event’s description (contents of the event page).
	// May be long and have significant formatting. (optional)
	Description MultipartText `json:"description"`
	// The URL to the event page for this event on Eventbrite
	Url string `json:"url"`
	// The start time of the event
	Start DatetimeTz `json:"start"`
	// The end time of the event
	End DatetimeTz `json:"end"`
	// When the event was created
	Created DateTime `json:"created"`
	// When the event was last changed
	Changed DateTime `json:"changed"`
	// One of canceled, live, started, ended, completed
	Status string `json:"status"`
	// The ISO 4217 currency code for this event
	Currency string `json:"currency"`
	// If this event doesn’t have a venue and is only held online
	OnlineEvent bool `json:"online_event"`
	// The venue the event is held at (optional)
	Venue   Venue  `json:"venue"`
	VenueId string `json:"venue_id"`
	// The organizer of the event
	Organizer   Organizer `json:"organizer"`
	OrganizerId string    `json:"organizer_id"`
	// The event’s format (type of event: conference, seminar, concert, etc.) (optional)
	Format   Format `json:"format"`
	FormatId string `json:"format_id"`
	// The event’s category (technology, music, science, etc.) (optional)
	Category   Category `json:"category"`
	CategoryId string   `json:"category_id"`
	// The event’s subcategory (optional)
	SubCategory   SubCategory `json:"subcategory"`
	SubCategoryId string      `json:"subcategory_id"`
	LogoID        string      `json:"logo_id"`
	Logo Image `json:"logo"`
	// The event’s refund policy (optional)
	RefundPolicy interface{} `json:"refund_policy"`
	// The bookmark information on the event. Currently returns a dictionary with the number of users who
	// have bookmarked the event as ‘count’ (i.e. {'count': 3})
	BookmarkInfo interface{} `json:"bookmark_info"`
}

Event is an object representing anything from a small birthday party to a massive stadium concert and everything in between.

https://www.eventbrite.com/developer/v3/response_formats/event/#ebapi-event

type EventCreateCannedQuestion

type EventCreateCannedQuestion struct {
	// Question displayed to the recipient
	Html string `json:"question.question.html"`
	// Is an answer to this question required for registration?
	Required bool `json:"question.required"`
	// Type of Question (Valid choices are: checkbox, dropdown, text, paragraph, radio, or waiver)
	Type string `json:"question.type"`
	// Ask this question to the ticket buyer or each attendee? (Valid choices are: ticket_buyer, or attendee)
	Respondent string `json:"question.respondent" validate:"required"`
	// Waiver content for questions of type waiver
	Waiver string `json:"question.waiver"`
	// Choices for multiple choice questions. Format:
	// [{“answer”: {“html”: “Choice goes here...”}}, {“answer”: {“html”: “Another choice goes here...”}}]
	Choices interface{} `json:"question.choices"`
	// Tickets to which to limit this question. Format: [{“id”: “1234”}, {“id”: “4567”}]
	TicketClasses interface{} `json:"question.ticket_classes"`
	// ID of Parent Question (for subquestions)
	ParentChoiceID string `json:"question.parent_choice_id"`
	// Is this question displayed on order confirmation?
	DisplayAnswerOnOrder bool `json:"question.display_answer_on_order"`
	// String value of canned_type
	CannedType string `json:"question.canned_type"`
}

EventCreateCannedQuestion is the request structure to create an Event canned question

https://www.eventbrite.com/developer/v3/endpoints/events/#ebapi-id33

type EventCreateQuestion

type EventCreateQuestion struct {
	// Question displayed to the recipient
	Html string `json:"question.question.html"`
	// Is an answer to this question required for registration?
	Required bool `json:"question.required"`
	// Type of Question (Valid choices are: checkbox, dropdown, text, paragraph, radio, or waiver)
	Type string `json:"question.type"`
	// Ask this question to the ticket buyer or each attendee? (Valid choices are: ticket_buyer, or attendee)
	Respondent string `json:"question.respondent" validate:"required"`
	// Waiver content for questions of type waiver
	Waiver string `json:"question.waiver"`
	// Choices for multiple choice questions. Format:
	// [{“answer”: {“html”: “Choice goes here...”}}, {“answer”: {“html”: “Another choice goes here...”}}]
	Choices interface{} `json:"question.choices"`
	// Tickets to which to limit this question. Format: [{“id”: “1234”}, {“id”: “4567”}]
	TicketClasses interface{} `json:"question.ticket_classes"`
	// ID of Parent Question (for subquestions)
	ParentChoiceID string `json:"question.parent_choice_id"`
	// Is this question displayed on order confirmation?
	DisplayAnswerOnOrder bool `json:"question.display_answer_on_order"`
}

EventCreateQuestion is the request structure to create an Event question

https://www.eventbrite.com/developer/v3/endpoints/events/#ebapi-id37

type EventCreateRequest

type EventCreateRequest struct {
	// The name of the event. Value cannot be empty nor whitespace.
	NameHtml string `json:"event.name.html" validate:"required"`
	// The ID of the organizer of this event
	DescriptionHtml string `json:"event.description.html"`
	// The ID of the organizer of this event
	OrganizerID string `json:"event.organizer_id"`
	// The start time of the event
	StartUtc DateTime `json:"event.start.utc" validate:"required"`
	// Yes Start time timezone (Olson format)
	StartTimezone string `json:"event.start.timezone" validate:"required"`
	// The end time of the event
	EndUtc DateTime `json:"event.end.utc" validate:"required"`
	// End time timezone (Olson format)
	EndTimezone string `json:"event.end.timezone" validate:"required"`
	// Whether the start date should be hidden
	HideStartDate bool `json:"event.hide_start_date"`
	// Whether the end date should be hidden
	HideEndDate bool `json:"event.hide_end_date"`
	// Event currency (3 letter code)
	Currency string `json:"event.currency" validate:"required"`
	// The ID of a previously-created venue to associate with this event. You can omit this field or
	// set it to null if you set online_event.
	VenueId string `json:"event.venue_id"`
	// Is the event online-only (no venue)?
	OnlineEvent bool `json:"event.online_event"`
	// If the event is publicly listed and searchable. Defaults to True.
	Listed bool `json:"event.listed"`
	// The logo for the event
	LogoID string `json:"event.logo_id"`
	// The category (vertical) of the event
	CategoryID string `json:"event.category_id"`
	// The subcategory of the event (US only)
	SubcategoryID string `json:"event.subcategory_id"`
	// The format (general type) of the event
	FormatID string `json:"event.format_id"`
	// If users can share the event on social media
	Sharable bool `json:"event.shareable"`
	// Only invited users can see the event page
	InviteOnly bool `json:"event.invite_only"`
	// Password needed to see the event in unlisted mode
	Password string `json:"event.password"`
	// Set specific capacity (if omitted, sums ticket capacities)
	Capacity int `json:"event.capacity"`
	// If the remaining number of tickets is publicly visible on the event page
	ShowRemaining bool `json:"event.show_remaining"`
	// If the event is reserved seating
	IsReservedSeating bool `json:"event.is_reserved_seating"`
	// Source of the event (defaults to API)
	Source string `json:"event.source"`
}

EventCreateRequest is the request structure for creating an Event

https://www.eventbrite.com/developer/v3/endpoints/events/#ebapi-id1

type EventCreateTicketClass

type EventCreateTicketClass struct {
	// Name of this ticket type
	Name string `json:"ticket_class.name"`
	// Description of the ticket
	Description string `json:"ticket_class.description"`
	// Total available number of this ticket
	QuantityTotal int `json:"quantity_total"`
	// Cost of the ticket (currently currency must match event currency) e.g. $45 would be ‘USD,4500’
	Cost Currency `json:"ticket_class.quantity_total"`
	// Is this a donation? (user-supplied cost)
	Donation bool `json:"ticket_class.donation"`
	// If the ticket is a free ticket
	Free bool `json:"ticket_class.free"`
	// Absorb the fee into the displayed cost
	IncludeFee bool `json:"ticket_class.include_fee"`
	// Absorb the payment fee, but show the eventbrite fee
	SplitFee bool `json:"ticket_class.split_fee"`
	// Hide the ticket description on the event page
	HideDescription bool `json:"ticket_class.hide_description"`
	// A list of all supported sales channels ([“online”], [“online”, “atd”], [“atd”])
	SalesChannels []interface{} `json:"ticket_class.sales_channels"`
	// When the ticket is available for sale (leave empty for ‘when event published’)
	SalesStart string `json:"ticket_class.sales_start"`
	// When the ticket stops being on sale (leave empty for ‘one hour before event start’)
	SalesEnd string `json:"ticket_class.sales_end"`
	// The ID of another ticket class - when it sells out, this class will go on sale.
	SalesStartAfter string `json:"ticket_class.sales_start_after"`
	// Minimum number that can be bought per order
	MinimumQuantity int `json:"ticket_class.minimum_quantity"`
	// Maximum number that can be bought per order
	MaximumQuantity int `json:"ticket_class.maximum_quantity"`
	// How many of these tickets have already been sold and confirmed (does not include tickets being checked out right now)
	QuantitySold int `json:"quantity_sold"`
	// Hide this ticket
	Hidden bool `json:"ticket_class.hidden"`
	// Hide this ticket when it is not on sale
	AutoHide bool `json:"ticket_class.auto_hide"`
	// Override reveal date for auto-hide
	AutoHideBefore string `json:"ticket_class.auto_hide_before"`
	// Override re-hide date for auto-hide
	AutoHideAfter string `json:"ticket_class.auto_hide_after"`
	// Order message per ticket type
	OrderConfirmationMessage string `json:"ticket_class.order_confirmation_message"`
}

EventGetTicketClass is the request structure to create an Event TicketClass

https://www.eventbrite.com/developer/v3/endpoints/events/#ebapi-id22

type EventDeleteTicketClass

type EventDeleteTicketClass struct {
	// Delete even if ticket sales depend on this ticket. This will start ticket sales of
	// dependents immediately
	BreakDependency bool `json:"break_dependency"`
}

EventDeleteTicketClass is the request structure to delkete an Event TicketClass

https://www.eventbrite.com/developer/v3/endpoints/events/#ebapi-id29

type EventGetAttendees

type EventGetAttendees struct {
	// Limits results to either confirmed attendees or cancelled/refunded/etc.
	// attendees (Valid choices are: attending, not_attending, or unpaid)
	Status string `json:"status"`
	// Only return attendees changed on or after the time given
	ChangedSince string `json:"changed_since"`
	// Only return attendees changed on or after the time given and with an id bigger than last item seen
	LastItemSeen int `json:"last_item_seen"`
	// Only return attendees whose ids are in this list
	AttendeeIds []interface{} `json:"attendee_ids"`
}

EventGetAttendees is the request structure to get an Event Attendees list

https://www.eventbrite.com/developer/v3/endpoints/events/#ebapi-id41

type EventGetCannedQuestions

type EventGetCannedQuestions struct {
	// Return private events and more details
	AsOwner bool `json:"as_owner"`
}

EventGetCannedQuestions is the request structure to get Event canned questions

https://www.eventbrite.com/developer/v3/endpoints/events/#ebapi-id31

type EventGetOrders

type EventGetOrders struct {
	// Limits results to either confirmed attendees or cancelled/refunded/etc.
	// attendees (Valid choices are: attending, not_attending, or unpaid)
	Status string `json:"status"`
	// Only return attendees changed on or after the time given
	ChangedSince string `json:"changed_since"`
	// Only return attendees changed on or after the time given and with an id bigger than last item seen
	LastItemSeen int `json:"last_item_seen"`
	// Only include orders placed by one of these emails
	OnlyEmails []interface{} `json:"only_emails"`
	// Don’t include orders placed by any of these emails
	ExcludeEmails []interface{} `json:"only_emails"`
	// Return only orders with selected refund requests statuses.
	// Possible values are: completed, pending, outside_policy, disputed, denied
	RefundRequestStatuses []interface{} `json:"refund_request_statuses"`
}

EventGetOrders is the request structure to get an Event Order list

https://www.eventbrite.com/developer/v3/endpoints/events/#ebapi-id45

type EventGetQuestions

type EventGetQuestions struct {
	// Return private events and more details
	AsOwner bool `json:"as_owner"`
}

EventGetQuestions is the request structure to get an Event questions

https://www.eventbrite.com/developer/v3/endpoints/events/#ebapi-id35

type EventGetTicketClass

type EventGetTicketClass struct {
	// Only return ticket classes valid for the given point of sale (Valid choices are: online, or at_the_door)
	Pos string `json:"pos"`
}

EventGetTicketClass is the request structure to get an Event TicketClass

https://www.eventbrite.com/developer/v3/endpoints/events/#ebapi-id20

type EventGetTicketClassResult

type EventGetTicketClassResult struct {
	Pagination    Pagination    `json:"pagination"`
	TicketClasses []TicketClass `json:"ticket_classes"`
}

EventGetTicketClassResult is the response structure for an Event TicketClass

https://www.eventbrite.com/developer/v3/endpoints/events/#ebapi-get-events-id-ticket-classes

type EventGetTicketGroups

type EventGetTicketGroups struct {
	// Limits results to groups with the specific status (Valid choices are: live, archived, deleted, or all)
	Status string `json:"status"`
}

EventGetTicketGroups is the request to get an Event TicketGroup list

https://www.eventbrite.com/developer/v3/endpoints/events/#ebapi-get-events-event-id-ticket-groups

type EventGetTicketGroupsTicketClasses

type EventGetTicketGroupsTicketClasses struct {
	// Limits results to groups with the specific status (Valid choices are: live, archived, deleted, or all)
	Status string `json:"status"`
}

EventGetTicketGroupsTicketClasses is the request structure to get TicketGroup TicketClass list

https://www.eventbrite.com/developer/v3/endpoints/events/#ebapi-get-events-event-id-ticket-classes-ticket-class-id-ticket-groups

type EventGetTransfers

type EventGetTransfers struct {
	ChangedSince string `json:"changed_since"`
}

EventGetTransfers is the request structure to get an Event Transfer list

https://www.eventbrite.com/developer/v3/endpoints/events/#ebapi-id61

type EventSearchRequest

type EventSearchRequest struct {
	// Return events matching the given keywords. This parameter will accept any string as a keyword.
	Query string `json:"q"`
	// Parameter you want to sort by - options are “date”, “distance” and “best”. Prefix with a
	// hyphen to reverse the order, e.g. “-date”.
	SortBy string `json:"sort_by"`
	// The address of the location you want to search for events around.
	LocationAddress string `json:"location.address"`
	// The distance you want to search around the given location. This should be an integer followed by “mi” or “km”.
	LocationWithin string `json:"location.within"`
	// The latitude of of the location you want to search for events around.
	LocationLatitude string `json:"location.latitude"`
	// The longitude of the location you want to search for events around.
	LocationLongitude string `json:"location.longitude"`
	// The latitude of the northeast corner of a viewport.
	LocationViewportNortheastLatitude string `json:"location.viewport.northeast.latitude"`
	// The longitude of the northeast corner of a viewport.
	LocationViewportNortheastLongitude string `json:"location.viewport.northeast.longitude"`
	// The latitude of the southwest corner of a viewport.
	LocationViewportSouthwestLatitude string `json:"location.viewport.southwest.latitude"`
	// The longitude of the southwest corner of a viewport.
	LocationViewportSouthwestLongitude string `json:"location.viewport.southwest.longitude"`
	// Only return events organized by the given Organizer ID.
	OrganizerId string `json:"organizer.id"`
	// Only return events owned by the given User ID.
	UserId string `json:"user.id"`
	// Append the given tracking_code to the event URLs returned.
	TrackingCode string `json:"tracking_code"`
	// Only return events under the given category IDs. This should be a comma delimited string of category IDs.
	Categories string `json:"categories"`
	// Only return events under the given subcategory IDs. This should be a comma delimited string of subcategory IDs.
	Subcategories string `json:"subcategories"`
	// Only return events with the given format IDs. This should be a comma delimited string of format IDs.
	Formats string `json:"formats"`
	//    Only return events that are “free” or “paid”
	Price string `json:"price"`
	// Only return events with start dates after the given date.
	StartDateRangeStart string `json:"start_date.range_start"`
	// Only return events with start dates before the given date.
	StartDateRangeEnd string `json:"start_date.range_end"`
	// Only return events with start dates within the given keyword date range. Keyword options are “this_week”,
	// “next_week”, “this_weekend”, “next_month”, “this_month”, “tomorrow”, “today”
	StartDateKeyword string `json:"start_date.keyword"`
	// Only return events with modified dates after the given UTC date.
	DateModifiedRangeStart string `json:"date_modified.range_start"`
	// Only return events with modified dates before the given UTC date.
	DateModifiedEnd string `json:"date_modified.range_end"`
	// Only return events with modified dates within the given keyword date range. Keyword options are “this_week”,
	// “next_week”, “this_weekend”, “next_month”, “this_month”, “tomorrow”, “today”
	DateModifiedKeyword string `json:"date_modified.keyword"`
	// Use the preconfigured settings for this type of search - Current option is “promoted”
	SearchType string `json:"search_type"`
	// Boolean for whether or not you want to see all instances of repeating events in search results.
	IncludeAllSeriesInstances bool `json:"include_all_series_instances"`
	// Boolean for whether or not you want to see events without tickets on sale.
	IncludeUnavailableEvents bool `json:"include_unavailable_events"`
	// Boolean for whether or not you want to see adult events
	IncludeAdultEvents bool `json:"include_adult_events"`
	// Incorporate additional information from the user’s historic preferences.
	IncorporateUserAffinities bool `json:"incorporate_user_affinities"`
	// Make search results prefer events in these categories. This should be a comma delimited string of category IDs.
	HighAffinityCategories string `json:"high_affinity_categories"`
}

EventSearchRequest is the request structure for searching Event

https://www.eventbrite.com/developer/v3/endpoints/events/#ebapi-parameters

type EventSearchResult

type EventSearchResult struct {
	Pagination     Pagination `json:"pagination"`
	Events         []Event    `json:"events"`
	TopMatchEvents []Event    `json:"top_match_events"`
}

EventSearchResult is the response structure for Event search

https://www.eventbrite.com/developer/v3/endpoints/events/#ebapi-events

type EventSettings

type EventSettings struct {
	// Whether to display the start date on the event listing
	ShowStartDate bool `json:"display_settings.show_start_date"`
	// Whether to display the end date on the event listing
	ShowEndDate bool `json:"display_settings.show_end_date"`
	// Whether to display event start and end time on the event listing
	ShowStartEndTime bool `json:"display_settings.show_start_end_time"`
	// Whether to display the event timezone on the event listing
	ShowTimezone bool `json:"display_settings.show_timezone"`
	// Whether to display a map to the venue on the event listing
	ShowMap bool `json:"display_settings.show_map"`
	// Whether to display the number of remaining tickets
	ShowRemaining bool `json:"display_settings.show_remaining"`
	// Whether to display a link to the organizer’s Facebook profile
	ShowOrganizerFacebook bool `json:"display_settings.show_organizer_facebook"`
	// Whether to display a link to the organizer’s Twitter profile
	ShowOrganizerTwitter bool `json:"display_settings.show_organizer_twitter"`
	// Whether to display which of the user’s Facebook friends are going
	ShowFacebookFriendsGoing bool `json:"display_settings.show_facebook_friends_going"`
	// Which terminology should be used to refer to the event (Valid choices are: tickets_vertical, or endurance_vertical)
	ShowAttendeeList bool `json:"display_settings.show_attendee_list"`
}

https://www.eventbrite.com/developer/v3/endpoints/events/#ebapi-get-events-id-display-settings

type EventUpdateDisplaySettings

type EventUpdateDisplaySettings struct {
	// Whether to display the start date on the event listing
	ShowStartDate bool `json:"display_settings.show_start_date"`
	// Whether to display the end date on the event listing
	ShowEndDate bool `json:"display_settings.show_end_date"`
	// Whether to display event start and end time on the event listing
	ShowStartEndTime bool `json:"display_settings.show_start_end_time"`
	// Whether to display the event timezone on the event listing
	ShowTimezone bool `json:"display_settings.show_timezone"`
	// Whether to display a map to the venue on the event listing
	ShowMap bool `json:"display_settings.show_map"`
	// Whether to display the number of remaining tickets
	ShowRemaining bool `json:"display_settings.show_remaining"`
	// Whether to display a link to the organizer’s Facebook profile
	ShowOrganizerFacebook bool `json:"display_settings.show_organizer_facebook"`
	// Whether to display a link to the organizer’s Twitter profile
	ShowOrganizerTwitter bool `json:"display_settings.show_organizer_twitter"`
	// Whether to display which of the user’s Facebook friends are going
	ShowFacebookFriendsGoing bool `json:"display_settings.show_facebook_friends_going"`
	// Which terminology should be used to refer to the event (Valid choices are: tickets_vertical, or endurance_vertical)
	ShowAttendeeList bool `json:"display_settings.show_attendee_list"`
}

EventUpdateDisplaySettings is the request structure for updating an Event display settings

https://www.eventbrite.com/developer/v3/endpoints/events/#ebapi-id18

type EventUpdateRequest

type EventUpdateRequest struct {
	// The name of the event. Value cannot be empty nor whitespace.
	NameHtml string `json:"event.name.html"`
	// The ID of the organizer of this event
	DescriptionHtml string `json:"event.description.html" validate:"required"`
	// The ID of the organizer of this event
	OrganizerId string `json:"event.organizer_id" validate:"required"`
	// The start time of the event
	StartUtc string `json:"event.start.utc" validate:"required"`
	// Start time timezone (Olson format)
	StartTimezone string `json:"event.start.timezone" validate:"required"`
	// The end time of the event
	EndUtc string `json:"event.end.utc" validate:"required"`
	// End time timezone (Olson format)
	EndTimezone string `json:"event.end.timezone" validate:"required"`
	// Whether the start date should be hidden
	HideStartDate bool `json:"event.hide_start_date"`
	// Whether the end date should be hidden
	HideEndDate bool `json:"event.hide_end_date"`
	// Event currency (3 letter code)
	Currency string `json:"event.currency" validate:"required"`
	// The ID of a previously-created venue to associate with this event. You can omit this field or
	// set it to null if you set online_event.
	VenueID string `json:"event.venue_id"`
	// Is the event online-only (no venue)?
	OnlineEvent bool `json:"event.online_event"`
	// If the event is publicly listed and searchable. Defaults to True.
	Listed bool `json:"event.listed"`
	// The logo for the event
	LogoID string `json:"event.logo_id"`
	// The category (vertical) of the event
	CategoryID string `json:"event.category_id"`
	// The subcategory of the event (US only)
	SubcategoryID string `json:"event.subcategory_id"`
	// The format (general type) of the event
	FormatID string `json:"event.format_id"`
	// If users can share the event on social media
	Sharable bool `json:"event.shareable"`
	// Only invited users can see the event page
	InviteOnly bool `json:"event.invite_only"`
	// Password needed to see the event in unlisted mode
	Password string `json:"event.password"`
	// Set specific capacity (if omitted, sums ticket capacities)
	Capacity int `json:"event.capacity"`
	// If the remaining number of tickets is publicly visible on the event page
	ShowRemaining bool `json:"event.show_remaining"`
	// If the event is reserved seating
	IsReservedSeating bool `json:"event.is_reserved_seating"`
	// Source of the event (defaults to API)
	Source string `json:"event.source"`
}

EventUpdateRequest is the request structure for updating an Event

https://www.eventbrite.com/developer/v3/endpoints/events/#ebapi-id5

type EventUpdateTicketClass

type EventUpdateTicketClass struct {
	// Name of this ticket type
	Name string `json:"ticket_class.name"`
	// Description of the ticket
	Description string `json:"ticket_class.description"`
	// Total available number of this ticket
	QuantityTotal int `json:"quantity_total"`
	// Cost of the ticket (currently currency must match event currency) e.g. $45 would be ‘USD,4500’
	Cost Currency `json:"ticket_class.quantity_total"`
	// Is this a donation? (user-supplied cost)
	Donation bool `json:"ticket_class.donation"`
	// If the ticket is a free ticket
	Free bool `json:"ticket_class.free"`
	// Absorb the fee into the displayed cost
	IncludeFee bool `json:"ticket_class.include_fee"`
	// Absorb the payment fee, but show the eventbrite fee
	SplitFee bool `json:"ticket_class.split_fee"`
	// Hide the ticket description on the event page
	HideDescription bool `json:"ticket_class.hide_description"`
	// A list of all supported sales channels ([“online”], [“online”, “atd”], [“atd”])
	SalesChannels []interface{} `json:"ticket_class.sales_channels"`
	// When the ticket is available for sale (leave empty for ‘when event published’)
	SalesStart string `json:"ticket_class.sales_start"`
	// When the ticket stops being on sale (leave empty for ‘one hour before event start’)
	SalesEnd string `json:"ticket_class.sales_end"`
	// The ID of another ticket class - when it sells out, this class will go on sale.
	SalesStartAfter string `json:"ticket_class.sales_start_after"`
	// Minimum number that can be bought per order
	MinimumQuantity int `json:"ticket_class.minimum_quantity"`
	// Maximum number that can be bought per order
	MaximumQuantity int `json:"ticket_class.maximum_quantity"`
	// How many of these tickets have already been sold and confirmed (does not include tickets being checked out right now)
	QuantitySold int `json:"quantity_sold"`
	// Hide this ticket
	Hidden bool `json:"ticket_class.hidden"`
	// Hide this ticket when it is not on sale
	AutoHide bool `json:"ticket_class.auto_hide"`
	// Override reveal date for auto-hide
	AutoHideBefore string `json:"ticket_class.auto_hide_before"`
	// Override re-hide date for auto-hide
	AutoHideAfter string `json:"ticket_class.auto_hide_after"`
	// Order message per ticket type
	OrderConfirmationMessage string `json:"ticket_class.order_confirmation_message"`
}

EventUpdateTicketClass is the request structure to update an Event TicketClass https://www.eventbrite.com/developer/v3/endpoints/events/#ebapi-id26

type FeeRate

type FeeRate struct {
	// The (ISO 3166 alpha-2 code of the) country
	Country CountryCode `json:"country"`
	// The (ISO 4217 3-character code of the) currency
	Currency CurrencyCode `json:"currency"`
	// The assortment package name to get the price for, one of (‘any’, ‘package1’, ‘package2’).
	// ‘any’ means that applies to all the prossible variants.
	Plan string `json:"place"`
	// The payment type to get the price for, one of (‘any’, ‘eventbrite’, ‘authnet’, ‘moneris’,
	// ‘paypal’, ‘google’, ‘manual’, ‘free’, ‘offline’, ‘cash’, ‘check’, ‘invoice’). ‘any’
	// means that applies to all the prossible variants
	PaymentType string `json:"payment_type"`
	// The sales channel. One of (‘any’, ‘atd’, ‘online’). ‘any’ means that applies to all the prossible variants
	Channel string `json:"channel"`
	// The item type for which get the price fee rates. One of (‘any’, ‘ticket’, ‘product’). ‘any’ means that
	// applies to all the prossible variants
	ItemType string `json:"item_type"`
	// FeeRate rule percent. Minimum value is ‘0’, maximum value is ‘100’. Supports two decimals
	Percent float32 `json:"percent"`
	// Name of the fee (service_fee or payment_fee).
	Name string `json:"fee_name"`
	// FeeRate rule fixed value
	Fixed Currency `json:"fixed"`
	// FeeRate rule maximum amount (Cap). Null means unlimited
	Maximum Currency `json:"maximum"`
	// FeeRate rule minimum amount. Null means that there isn’t any minimum
	Minimum Currency `json:"minimum"`
}

FeeRate is an object that details what fees are applied for a specific set of conditions.

https://www.eventbrite.com/developer/v3/response_formats/pricing/#ebapi-std:format-fee_rate

type FeeRequest

type FeeRequest struct {
	// The (ISO 3166 alpha-2 code of the) country where you want to know the fee rates
	Country CountryCode `json:"country" validate:"required"`
	//     The (ISO 4217 3-character code of the) currency where you want to know the fee rates
	Currency CurrencyCode `json:"currency" validate:"required"`
	// The assortment package name to get the price for. One of [‘any’, ‘package1’, ‘package2’].
	// If it’s not provided, or the value is ‘any’, all the existing variants will be returned.’
	Plan string `json:"plan"`
	// The payment type to get the price for. One of [‘any’, ‘eventbrite’, ‘authnet’, ‘moneris’,
	// ‘paypal’, ‘google’, ‘manual’, ‘free’, ‘offline’, ‘cash’, ‘check’, ‘invoice’]. If it’s not provided,
	// or the value is ‘any’, all the existing variants will be returned.
	PaymentType string `json:"payment_type"`
	// The sales channel. One of [‘any’, ‘atd’, ‘web’]. If it’s not provided, or the value is ‘any’,
	// all the existing variants will be returned.
	Channel string `json:"channel"`
	// The item type for which get the price fee rates. One of [‘any’, ‘ticket’, ‘product’]. If it’s not provided,
	// or the value is ‘any’, all the existing variants will be returned.
	ItemType string `json:"item_type"`
}

Returns a list of fee_rate objects for the different currencies, countries, assortments and sales channels we sell through today and in the future.

https://www.eventbrite.com/developer/v3/endpoints/pricing/#ebapi-get-pricing-fee-rates

type FeeResponse

type FeeResponse struct {
	FeeRates []FeeRate `json:"fee_rates"`
}

FeeResponse is the response structure for fee rate request

https://www.eventbrite.com/developer/v3/endpoints/pricing/#ebapi-get-pricing-fee-rates

type Format

type Format struct {
	// Format ID
	ID string `json:"id"`
	// The format name
	Name string `json:"format"`
	// A shorter name for display in sidebars and other small spaces.
	ShortName string `json:"short_name"`
}

Format is a type of event presentation - e.g. “seminar”, “workshop”, “concert”. Separate from category as you can have a “music concert” or a “music seminar”.

https://www.eventbrite.com/developer/v3/response_formats/event/#ebapi-format

type FormatResult

type FormatResult struct {
	Locale  string `json:"locale"`
	Formats []Format
}

FormatResult is the response structure for available formats

type GetTrackingBeaconForEventRequest

type GetTrackingBeaconForEventRequest struct {
	// returned format
	ReturnFmt string `json:"return_fmt"`
}

type GetTrackingBeaconForUserRequest

type GetTrackingBeaconForUserRequest struct {
	// returned format
	ReturnFmt string `json:"return_fmt"`
}

type GetTrackingBeaconRequest

type GetTrackingBeaconRequest struct {
	// returned format
	ReturnFmt string `json:"return_fmt"`
}

https://www.eventbrite.com/developer/v3/endpoints/tracking_beacons/#ebapi-id1

type GetUserEvents

type GetUserEvents struct {
	// Filter event results by name
	NameFilter string `json:"name_filter"`
	// Filter event results by currency
	CurrencyFilter string `json:"currency_filter"`
	// How to order the results (Valid choices are: start_asc, start_desc, created_asc,
	// created_desc, name_asc, or name_desc)
	OrderBy string `json:"order_by"`
	// True: Will show parent of a serie instead of children False: Will show children of a serie (Default value)
	ShowSeriesParent bool `json:"show_series_parent"`
	// Filter by events with a specific status set. This should be a comma delimited string of status.
	// Valid status: all, draft, live, canceled, started, ended
	Status string `json:"status"`
	// Filter event results by event_group_id
	EventGroupID string `json:"event_group_id"`
	// Number of records in each page
	PageSize int `json:"page_size"`
	// Limits results to either past or current & future events / orders. (Valid choices are: all, past, or current_future
	TimeFilter string `json:"time_filter"`
	// Filter event results by venue IDs
	VenueFilter []interface{} `json:"venue_filter"`
}

https://www.eventbrite.com/developer/v3/endpoints/users/#ebapi-id7

type GetUserOrdersRequest

type GetUserOrdersRequest struct {
	// Only return resource changed on or after the time given
	ChangedSince string `json:"changed_since"`
	// Limits results to either past or current & future events / orders.
	// (Valid choices are: all, past, or current_future)
	TimeFilter string `json:"time_filter"`
}

https://www.eventbrite.com/developer/v3/endpoints/users/#ebapi-id1

type GetUserOrganizersRequest

type GetUserOrganizersRequest struct {
	//     True: Will hide organizers flagged as “unsaved” False: Will show organizers
	// regardless of unsaved flag (Default value)
	HideUnsaved bool `json:"hide_unsaved"`
}

https://www.eventbrite.com/developer/v3/endpoints/users/#ebapi-id3

type GetUserOwnedEvents

type GetUserOwnedEvents struct {
	// How to order the results (Valid choices are: start_asc, start_desc, created_asc,
	// created_desc, name_asc, or name_desc)
	OrderBy string `json:"order_by"`
	// True: Will show parent of a serie instead of children False: Will show children of a serie (Default value)
	ShowSeriesParent bool `json:"show_series_parent"`
	// Filter by events with a specific status set. This should be a comma delimited string of status.
	// Valid status: all, draft, live, canceled, started, ended.
	Status string `json:"status"`
}

https://www.eventbrite.com/developer/v3/endpoints/users/#ebapi-id5

type GetUserVenuesResult

type GetUserVenuesResult struct {
	Pagination Pagination `json:"pagination"`
	Venues     []Venue    `json:"venues"`
}

https://www.eventbrite.com/developer/v3/endpoints/users/#ebapi-get-users-id-venues

type GetVenueEventsRequest

type GetVenueEventsRequest struct {
	Status              string `json:"status"`
	OrderBy             string `json:"order_by"`
	StartDateRangeStart string `json:"start_date.range_start"`
	StartDateRangeEnd   string `json:"start_date.range_end"`
	OnlyPublic          bool   `json:"only_public"`
}

https://www.eventbrite.com/developer/v3/endpoints/venues/#ebapi-id5

type Image

type Image struct {
	// The image’s ID
	ID string `json:"id"`
	// The URL of the image
	Url string `json:"url"`
}

Image is an object with details about a given image.

https://www.eventbrite.com/developer/v3/response_formats/image/#ebapi-image

type Media

type Media struct {
	// the method (always POST)
	Method string `json:"upload_method"`
	// oauth token
	Token string `json:"upload_token"`
	// the URL that should be uploaded to
	Url string `json:"url"`
	// the POST data that should be included in the POST that uploads the file
	UploadData UploadData `json:"upload_data"`
	// Specifies the POST field that the file itself should be included in (handled using HTTP multipart upload)
	FileParameterName string `json:"file_parameter_name"`
}

https://www.eventbrite.com/developer/v3/resources/uploads/

type MediaCreateUpload

type MediaCreateUpload struct {
	// The upload_token from the GET portion of the upload
	UploadToken string `json:"upload_token" validate:"required"`
	// X coordinate for top-left corner of crop mask
	TopLeftX int `json:"crop_mask.top_left.x"`
	// Y coordinate for top-left corner of crop mask
	TopLeftY int `json:"crop_mask.top_left.y"`
	// Crop mask width
	Width int `json:"crop_mask.width"`
	// Crop mask height
	Height int `json:"crop_mask.height"`
}

https://www.eventbrite.com/developer/v3/endpoints/media/#ebapi-id3

type MediaGetUpload

type MediaGetUpload struct {
	// The type of image to upload (Valid choices are: image-event-logo, image-event-logo-preserve-quality,
	// image-event-view-from-seat, image-organizer-logo, image-user-photo, or image-structured-content)
	Type string `json:"type" validate:"required"`
}

https://www.eventbrite.com/developer/v3/endpoints/media/#ebapi-id1

type MultipartText

type MultipartText struct {
	Text string `json:"text"`
	Html string `json:"html"`
}

Returned for fields which represent HTML, like event names and descriptions. The html key represents the original HTML (which _should_ be sanitized and free from injected script tags etc., but as always, be careful what you put in your DOM), while the text key is a stripped version useful for places where you can’t or don’t need to display the full HTML version.

https://www.eventbrite.com/developer/v3/response_formats/basic/#ebapi-multipart-text

type Notification

type Notification struct {
	// Notification ID
	ID string `json:"notification_id"`
	// The title of the notification
	Title string `json:"title"`
	// It is the secondary text of the notification
	Body string `json:"body"`
	// It is the call to action title associated to the notification
	Cta string `json:"cta"`
	// It is a link or a deep link associated to the notification
	Url string `json:"url"`
	// It is the date when the notification was created
	Created Date `json:"created"`
	// It is the channel (group) of the notification. The available channel ids
	// are: ticket_reminders, my_events, social, discovery and eventbrite
	ChannelId string `json:"channel_id"`
	// The image logo for the event (optional)
	ImageId Image `json:"image_id"`
}

Notification is the representation of something that Eventbrite has notified to its users.

see @https://www.eventbrite.com/developer/v3/response_formats/notification/#ebapi-std:format-notification

type NotificationsResult

type NotificationsResult struct {
	Notifications []Notification
	Pagination    Pagination
}

NotificationsResult is the response structure fornotifications

type ObjectList

type ObjectList []interface{}

type Order

type Order struct {
	// When the attendee was created (order placed)
	Created DateTime `json:"created"`
	// When the attendee was last changed
	Changed DateTime `json:"changed"`
	// The ticket buyer’s name. Use this in preference to
	// first_name/last_name if possible for forward compatibility with non-Western names
	Name string `json:"name"`
	// The ticket buyer’s first name
	FirstName string `json:"first_name"`
	// The ticket buyer’s last name
	LastName string `json:"last_name"`
	// The ticket buyer’s email address
	Email string `json:"email"`
	// Cost breakdown for this order
	Costs OrderCosts `json:"costs"`
	// The event this order is against
	Event Event `json:"event"`
	// Refund request on this order
	RefundRequests RefundRequest `json:"refund_requests"`
	//Attendees on this order
	Attendees []Attendee `json:"attendees"`
	// The event id this order is against
	EventID string `json:"event_id"`
	// The time remaining to complete this order (in seconds)
	TimeRemaining int `json:"time_remaining"`
}

Order is an object representing an order made against Eventbrite for one or more ticket classes Order objects are considered private and are only available to the event owner and the person who placed the order

https://www.eventbrite.com/developer/v3/response_formats/order/#ebapi-std:format-order

type OrderCosts

type OrderCosts struct {
	// The total amount the buyer was charged
	Gross Currency `json:"gross"`
	// The portion of gross taken by Eventbrite as a management fee
	EventbriteFee Currency `json:"eventbrite_fee"`
	// The portion of gross taken by the payment processor
	PaymentFee Currency `json:"payment_fee"`
	// The portion of gross allocated for tax (but passed onto the organizer)
	Tex Currency `json:"tax"`
}

OrderCosts contains a breakdown of the order’s costs

https://www.eventbrite.com/developer/v3/response_formats/order/#ebapi-order-costs

type Organizer

type Organizer struct {
	// The organizer name
	Name string `json:"name"`
	// The description of the organizer (may be very long and contain significant formatting)
	Description MultipartText `json:"description"`
	// The URL to the organizer’s page on Eventbrite
	Url string `json:"url"`
}

A grouping entity that Eventbrite uses to display as the owner of events. Contains name and contact information.

https://www.eventbrite.com/developer/v3/response_formats/organizer/#ebapi-std:format-organizer

type OrganizerEventsRequest

type OrganizerEventsRequest struct {
	// Only return events with a specific status set. This should be a comma delimited string of status.
	// Valid status: all, draft, live, canceled, started, ended.
	Status string `json:"status"`
	// How to order the results (Valid choices are: start_asc, start_desc, created_asc, or created_desc)
	OrderBy string `json:"order_by"`
	// Only return events with start dates after the given date
	StartDateRangeStart string `json:"start_date.range_start"`
	// Only return events with start dates after the given date
	StartDateRangeEnd string `json:"start_date.range_end"`
	// Only show public events even if viewing your own events.
	PublicOnly bool `json:"only_public"`
}

OrganizerEventsRequest is the request structure to get organizer events

https://www.eventbrite.co.uk/developer/v3/endpoints/organizers/#ebapi-id6

type OrganizerEventsResult

type OrganizerEventsResult struct {
	Events     []Event    `json:"events"`
	Pagination Pagination `json:"pagination"`
}

OrganizerEventsResult is the response structure for organizer events request

https://www.eventbrite.co.uk/developer/v3/endpoints/organizers/#ebapi-get-organizers-id-events

type Pagination

type Pagination struct {
	ObjectCount  int  `json:"object_count"`
	PageNumber   int  `json:"page_number"`
	PageSize     int  `json:"page_size"`
	PageCount    int  `json:"page_count"`
	HasMoreItems bool `json:"has_more_items"`
}

All API endpoints which return multiple objects will return paginated responses; as well as the list of objects (which will usually be under a key like events or attendees, depending on the endpoint) there will also be a pagination key:

see @https://www.eventbrite.com/developer/v3/api_overview/pagination/#ebapi-paginated-responses

type RefundItem

type RefundItem struct {
	// The event of this item
	EventID string `json:"event_id"`
	// The order of this item. Consider that this field can be null
	OrderID string `json:"order_id"`
	// the item type order for full refund, attendee for partial refund an
	// attendee or merchandise for partial refund a merchandise
	ItemType string `json:"item_type"`
	// The quantity requested for this item. If the item_type is order, quantity_requested is always 1.
	// if the item_type is attendee or merchandise, then the quantity_requested shows how
	// many items were requested
	QuantityRequested int `json:"quantity_requested"`
	// The total amount requested for this item.
	AmountRequested Currency `json:"amount_requested"`
}

RefundItem contains a refund item

https://www.eventbrite.com/developer/v3/response_formats/order/#ebapi-refund-item

type RefundRequest

type RefundRequest struct {
	// The email used to create the refund request
	FromEmail string `json:"from_email"`
	// The name used to create the refund request
	FromName string `json:"from_name"`
	// The actual status of the refund request
	Status string `json:"status"`
	// The message associated with the refund request
	Message string `json:"message"`
	// The code of the refund request’s reason
	Reason string `json:"reason"`
	// The last message associated with the last status of the refund request
	LastMessage string `json:"last_message"`
	// The last code of the refund request’s reason
	LastReason string `json:"last_reason"`
	// The items of the refund request
	Items []RefundItem `json:"items"`
}

RefundRequest contains a refund request of the order

https://www.eventbrite.com/developer/v3/response_formats/order/#ebapi-std:format-refund-request

type Region

type Region struct {
	// The associated country code to this region
	CountryCode string `json:"country_code"`
	// The region identifier as defined by the ISO 3166 standard
	Code string `json:"code"`
	// The readable name of the region
	Label string `json:"label"`
}

Region is an object with details about a region

https://www.eventbrite.com/developer/v3/response_formats/system/#ebapi-region

type Regions

type Regions struct {
	Locale     string     `json:"locale"`
	Regions    []Region   `json:"regions"`
	Pagination Pagination `json:"pagination"`
}

type ReportAttendees

type ReportAttendees struct {
	// List of public event IDs to report on
	EventIds []interface{} `json:"event_ids"`
	// Event status to filter down results by (Valid choices are: all, live, or ended)
	EventStatus string `json:"event_status"`
	// Optional start date to query
	StartDate string `json:"start_date"`
	// Optional end date to query
	EndDate string `json:"end_date"`
	// Time period to provide aggregation for in units of the selected date_facet.
	// For example, if date_facet=hour, then period=3 returns 3 hours worth of data
	// from the current time in the event timezone. Day is the default choice if no date_facet
	Period int `json:"period"`
	// Optional filters for sales/attendees data formatted as: {“ticket_ids”: [1234, 5678],
	// “currencies”: [“USD”],...}NOTE: currently only filter_by ticket_ids and one currency are supported.
	//
	// https://www.eventbrite.com/developer/v3/response_formats/basic/#ebapi-dictionary
	FilterBy interface{} `json:"filter_by"`
	// Optional field to group data on (Valid choices are: payment_method, payment_method_application,
	// ticket, ticket_application, currency, event_currency, reserved_section, event, event_ticket,
	// event_application, country, city, state, source, zone, location, access_level, device_name,
	// sales_channel_lvl_1, sales_channel_lvl_2, or sales_channel_lvl_3)
	GroupBy string `json:"group_by"`
	// Optional date aggregation level to return data for. Day is the default choice. Monthly aggregation
	// is represented by the first of the month. Weekly aggregation is represented by the ending Sunday of
	// the week, where a week is defined as Monday-Sunday. (Valid choices are: fifteen, hour, day, event_day,
	// week, month, year, or none)
	DateFacet string `json:"date_facet"`
	// Optional timezone. If unspecified picks the TZ of the first event
	Timezone string `json:"timezone"`
}

https://www.eventbrite.com/developer/v3/endpoints/reports/#ebapi-id1

type ReportRequest

type ReportRequest struct {
	// List of public event IDs to report on
	EventIds []interface{} `json:"event_ids"`
	// Event status to filter down results by (Valid choices are: all, live, or ended)
	EventStatus string `json:"event_status"`
	// Optional start date to query
	StartDate string `json:"start_date"`
	// Optional end date to query
	EndDate string `json:"end_date"`
	// Time period to provide aggregation for in units of the selected date_facet.
	// For example, if date_facet=hour, then period=3 returns 3 hours worth of data
	// from the current time in the event timezone. Day is the default choice if no date_facet
	Period int `json:"period"`
	// Optional filters for sales/attendees data formatted as: {“ticket_ids”: [1234, 5678],
	// “currencies”: [“USD”],...}NOTE: currently only filter_by ticket_ids and one currency are supported.
	//
	// https://www.eventbrite.com/developer/v3/response_formats/basic/#ebapi-dictionary
	FilterBy interface{} `json:"filter_by"`
	// Optional field to group data on (Valid choices are: payment_method, payment_method_application,
	// ticket, ticket_application, currency, event_currency, reserved_section, event, event_ticket,
	// event_application, country, city, state, source, zone, location, access_level, device_name,
	// sales_channel_lvl_1, sales_channel_lvl_2, or sales_channel_lvl_3)
	GroupBy string `json:"group_by"`
	// Optional date aggregation level to return data for. Day is the default choice. Monthly aggregation
	// is represented by the first of the month. Weekly aggregation is represented by the ending Sunday of
	// the week, where a week is defined as Monday-Sunday. (Valid choices are: fifteen, hour, day, event_day,
	// week, month, year, or none)
	DateFacet string `json:"date_facet"`
	// Optional timezone. If unspecified picks the TZ of the first event
	Timezone string `json:"timezone"`
}

https://www.eventbrite.com/developer/v3/endpoints/reports/#ebapi-parameters

type SeriesCUREventRequest

type SeriesCUREventRequest struct {
	// A list of dates for which child events should be created. In the format:
	//
	//  [
	//    {
	//      "start": { "utc": "2015-06-15T12:00:00Z", "timezone": "America/Los_Angeles" },
	//      "end": { "utc": "2015-06-15T13:00:00Z", "timezone": "America/Los_Angeles" }
	//    },
	//    { ... },
	//    ...
	//  ]
	//
	// https://www.eventbrite.co.uk/developer/v3/response_formats/basic/#ebapi-std:format-objectlist
	CreateChildren interface{} `json:"create_children"`
	// A map of event IDs to modified date objects for updating child events. In the format:
	//
	// {
	//   "1234": { "start": { "utc": "2015-06-15T12:00:00Z", "timezone": "America/Los_Angeles" },
	//   "end": { "utc": "2015-06-15T13:00:00Z", "timezone": "America/Los_Angeles" } },
	//   "5678": { ... },
	//   ...
	// }
	UpdateChildren interface{} `json:"create_children"`
	// A list of IDs for child events that should be deleted. In the format: 1234,5678,9012
	DeleteChildren []string `json:"delete_children"`
}

SeriesCUREventRequest is the request structure to make create, update, delete requests

https://www.eventbrite.co.uk/developer/v3/endpoints/events_series/#ebapi-id16

type SeriesCreateEventRequest

type SeriesCreateEventRequest struct {
	// The name of the event
	Name string `json:"series_parent.name.html" validate:"required"`
	// The description on the event page
	Description string `json:"series_parent.description.html"`
	// of the organizer of this event
	OrganizerID string `json:"series_parent.organizer_id"`
	// The start time of the event
	StartUtc DateTime `json:"series_parent.start.utc" validate:"required"`
	// Start time timezone (Olson format)
	StartTimezone string `json:"series_parent.start.timezone" validate:"required"`
	// The end time of the event
	EndUtc DateTime `json:"series_parent.end.utc" validate:"required"`
	// End time timezone (Olson format)
	EndTimezone string `json:"series_parent.end.timezone" validate:"required"`
	// Whether the start date should be hidden
	HideStartDate bool `json:"series_parent.hide_start_date"`
	// Whether the end date should be hidden
	HideEndDate bool `json:"series_parent.hide_end_date"`
	// Event currency (3 letter code)
	Currency string `json:"series_parent.currency" validate:"required"`
	// ID of the venue
	VenueID string `json:"series_parent.venue_id"`
	// Is the event online-only (no venue)?
	OnlineEvent bool `json:"series_parent.online_event"`
	// If the event is publicly listed and searchable. Defaults to true
	Listed bool `json:"series_parent.listed"`
	// (Deprecated) The logo for the event
	LogoID string `json:"series_parent.logo.id"`
	// The category (vertical) of the event
	CategoryID string `json:"series_parent.category_id"`
	// The subcategory of the event (US only)
	SubCategoryID string `json:"series_parent.subcategory_id"`
	// The format (general type) of the event
	FormatID string `json:"series_parent.format_id"`
	// If users can share the event on social media
	Sharable bool `json:"series_parent.shareable"`
	// Only invited users can see the event page
	InviteOnly bool `json:"series_parent.invite_only"`
	// Password needed to see the event in unlisted mode
	Password string `json:"series_parent.password"`
	// Set specific capacity (if omitted, sums ticket capacities)
	Capacity int `json:"series_parent.capacity"`
	// If the remaining number of tickets is publicly visible on the event page
	ShowRemaining bool `json:"series_parent.show_remaining"`
	// A list of dates for which child events should be created. In the format:
	// [
	//   {
	//     "start": { "utc": "2015-06-15T12:00:00Z", "timezone": "America/Los_Angeles" },
	//     "end": { "utc": "2015-06-15T13:00:00Z", "timezone": "America/Los_Angeles" } },
	//     { ... },
	//     ...
	// ]
	//
	// https://www.eventbrite.co.uk/developer/v3/response_formats/basic/#ebapi-std:format-objectlist
	CreateChildren interface{} `json:"create_children" validate:"required"`
}

https://www.eventbrite.co.uk/developer/v3/endpoints/events_series/#ebapi-parameters

type SeriesEventRequest

type SeriesEventRequest struct {
	// Limits results to either past or current & future events. (Valid choices are: all, past, or current_future)
	TimeFilter string `json:"time_filter"`
	// Append the given tracking_code to the event URLs returned
	TrackingCode string `json:"tracking_code"`
	// How to order the results (Valid choices are: start_asc, start_desc, created_asc, or created_desc)
	OrderBy string `json:"order_by"`
}

SeriesEventRequest is the response structure for series event

https://www.eventbrite.co.uk/developer/v3/endpoints/events_series/#ebapi-id14

type SubCategoriesResult

type SubCategoriesResult struct {
	Locale        string     `json:"locale"`
	Pagination    Pagination `json:"pagination"`
	Subcategories []Category `json:"subcategories"`
}

SubCategoriesResult is the response structure for the SubCategories

type SubCategory

type SubCategory struct {
	// Subcategory ID
	ID string `json:"id"`
	// The category name
	Name string `json:"name"`
	// The category this belongs to
	ParentCategory Category `json:"parent_category"`
}

A more specific category that an event falls into, sitting underneath a category.

https://www.eventbrite.com/developer/v3/response_formats/event/#ebapi-subcategory

type TicketClass

type TicketClass struct {
	ID string `json:"id"`
	// The ticket class’ name
	Name string `json:"name"`
	// The ticket’s description. (optional)
	Description string `json:"description"`
	// The display cost of the ticket (paid only)
	Cost Currency `json:"cost"`
	// The display fee of the ticket (paid only)
	Fee Currency `json:"fee"`
	// If the ticket is a donation
	Donation bool `json:"donation"`
	// If the ticket is a free ticket
	Free bool `json:"free"`
	// Minimum number that can be bought per order
	MinimumQuantity int `json:"minimum_quantity"`
	// Maximum number that can be bought per order
	MaximumQuantity int `json:"maximum_quantity"`
	// The event the ticket class is for
	EventID string `json:"event_id"`
	// The event the ticket class is for
	Event Event `json:"event"`
	// PRIVATE FIELDS
	// Only shown to people with event owner permission
	// How many of these tickets are available to be sold overall
	QuantityTotal int `json:"quantity_total"`
	// How many of these tickets have already been sold and confirmed (does not include tickets being checked out right now)
	QuantitySold int `json:"quantity_sold"`
	// If the ticket is hidden from the public
	Hidden bool `json:"hidden"`
	// When sales for this ticket start
	SalesStart string `json:"sales_start"`
	// When sales for this ticket end
	SalesEnd string `json:"sales_end"`
	// The ID of another ticket class that, when it sells out, will trigger sales of this class to start
	SalesStartAfter string `json:"sales_start_after"`
	// If the fee should be included in the displayed cost (cannot be set along with split_fee)
	IncludeFee bool `json:"include_fee"`
	// If the payment fee should be included in the displayed cost and the eventbrite fee is shown separately
	SplitFee bool `json:"split_fee"`
	// If the description should be hidden on the event page (will remove description from public responses too)
	HideDescription bool `json:"hide_description"`
	// If the ticket should be hidden when not on sale
	AutoHide bool `json:"auto_hide"`
	// Override the time at which auto hide disables itself to show the ticket (otherwise it’s sales_start)
	AutoHideBefore string `json:"auto_hide_before"`
	// Override the time at which auto hide enables itself to re-hide the ticket (otherwise it’s sales_end)
	AutoHideAfter string `json:"auto_hide_after"`
}

This is an object representing one of the possible ticket classes (types of ticket) for an event

https://www.eventbrite.com/developer/v3/response_formats/event/#ebapi-ticket-class

type TicketGroup

type TicketGroup struct {
	ID string `json:"id"`
	// Name of the ticket group. If it is greater than 20 characters will be truncated automatically
	Name string `json:"name"`
	// The status of the ticket group. One of transfer, live, deleted or archived. By default is live is not specified
	Status string `json:"status"`
	// A dictionary with the event ids and ticket ids, in the form {event_id: [ticket_id_1, ticket_id_2]}
	//
	// https://www.eventbrite.com/developer/v3/response_formats/basic/#ebapi-std:format-dict
	EventTicketIds interface{} `json:"event_ticket_ids"`
	// The list of ticket class that includes the id, event_id, sales_channels, variants and name.
	// Simplified version of ticket_class. By default is empty, unless the tickets expansion is used
	Tickets []TicketClass `json:"tickets"`
}

The Ticket Group object allows the users to group an arbitrary number of ticket_class

https://www.eventbrite.com/developer/v3/response_formats/ticket_group/#ebapi-std:format-ticket_group

type Timezone

type Timezone struct {
	// Timezone id
	ID string `json:"id"`
	// The timezone identifier as defined by the IANA Time Zone Database
	Timezone string `json:"timezone"`
	// The localized name for the timezone
	Label string `json:"label"`
}

Timezone is an object with details about a timezone

type Timezones

type Timezones struct {
	Locale     string     `json:"locale"`
	Timezones  []Timezone `json:"timezones"`
	Pagination Pagination `json:"pagination"`
}

type TrackingBeacon

type TrackingBeacon struct {
	// The tracking beacon id
	ID string
	// The tracking beacon third party type. Allowed types are: Facebook Pixel,
	// Twitter Ads, AdWords, Google Analytics, Simple Image Pixel, Adroll iPixel
	TrackingType string
	// The id of the event where the tracking beacon will load your tracking pixel
	EventID string
	// The id of the user where the tracking beacon will load this tracking pixel on all of their events
	UserID string
	// The third party id that they have given you to fire on your event page
	PixelID string
	// The tracking pixel meta information that determines where your pixel will fire
	Triggers interface{}
}

An entity that Eventbrite uses to allow event organizer to utilize tracking pixels on their events

https://www.eventbrite.com/developer/v3/response_formats/tracking_beacon/#ebapi-tracking-beacon

type UpdateOrganizerRequest

type UpdateOrganizerRequest struct {
	// The name of the organizer
	Name string `json:"organizer.name"`
	// The description of the organizer
	Description string `json:"organizer.description.html"`
	// The long description of the organizer
	LongDescription string `json:"organizer.long_description.html"`
	// The logo id of the organizer
	LogoId string `json:"organizer.logo.id"`
	// The website for the organizer
	Website string `json:"organizer.website"`
	// The Twitter handle for the organizer
	Twitter string `json:"organizer.twitter"`
	// The Facebook URL ID for the organizer
	Facebook string `json:"organizer.facebook"`
	// The Instagram numeric ID for the organizer
	Instagram string `json:"organizer.instagram"`
}

UpdateOrganizerRequest is the request structure for updating an organizer

https://www.eventbrite.co.uk/developer/v3/endpoints/organizers/#ebapi-id3

type UpdateRefundRequest

type UpdateRefundRequest struct {
	// The email used to create the refund request
	FromEmail string `json:"from_email" validate:"required"`
	// The name used to create the refund request
	FromName string `json:"from_name" validate:"required"`
	// The items of the refund request
	Items []RefundItem `json:"items" validate:"required"`
	// The message associated with the refund request
	Message string `json:"message" validate:"required"`
	// The code of the refund request’s reason
	Reason string `json:"reason" validate:"required"`
}

CreateRefundRequest is the request structure to update refund request

https://www.eventbrite.co.uk/developer/v3/endpoints/refund_requests/#ebapi-id3

type UpdateTicketGroupRequest

type UpdateTicketGroupRequest struct {
	// Name of ticket group
	Name string `json:"ticket_group.name"`
	// The status of ticket group. Valid choices are: live, deleted, or archived
	Status string `json:"ticket_group.status"`
	// (‘IDs of tickets by event id for this ticket group. In the format “{“event_id”: [“ticket_class_id”, “ticket_class_id”]}”.’,)
	//
	// https://www.eventbrite.com/developer/v3/response_formats/basic/#ebapi-dictionary
	Ids map[string]interface{} `json:"ticket_group.event_ticket_ids"`
}

UpdateTicketGroupRequest is the request structure to update ticket group

https://www.eventbrite.com/developer/v3/endpoints/ticket_groups/#ebapi-id5

type UpdateTrackingBeaconRequest

type UpdateTrackingBeaconRequest struct {
	// The tracking pixel third party type. Allowed types are: Facebook Pixel, Twitter Ads,
	// AdWords, Google Analytics, Simple Image Pixel, Adroll iPixel
	TrackingType string `json:"tracking_type" validate:"required"`

	// The Event ID of the event that this tracking beacon will fire in
	EventID string `json:"event_id"`

	// The User ID wherein the tracking beacon will be assigned to all of this user’s events
	UserID string `json:"user_id"`

	// The Pixel ID given by the third party that will fire when a attendee lands on the page you are tracking
	PixelID string `json:"pixel_id"`

	// The additional pixel data needed to determine which page to fire the tracking pixel on
	Triggers interface{} `json:"triggers"`
}

https://www.eventbrite.com/developer/v3/endpoints/tracking_beacons/#ebapi-id3

type UpdateVenueRequest

type UpdateVenueRequest struct {
	// The name of the venue
	Name string `json:"venue.name"`
	// The organizer this venue belongs to (optional - leave this off to use the default organizer)
	OrganizerID string `json:"venue.organizer_id"`
	// The first line of the address
	Address1 string `json:"venue.address.address_1"`
	// The second line of the address
	Address2 string `json:"venue.address.address_2"`
	// The city where the venue is
	City string `json:"venue.address.city"`
	// The region where the venue is
	Region string `json:"venue.address.region"`
	// The postal_code where the venue is
	PostalCode string `json:"venue.address.postal_code"`
	// The country where the venue is
	Country string `json:"venue.address.country"`
	// The latitude of the coordinates for the venue
	Latitude float64 `json:"venue.address.latitude"`
	// The longitude of the coordinates for the venue
	Longitude float64 `json:"venue.address.longitude"`
	// The age restrictions for the venue
	AgeRestriction string `json:"venue.age_restriction"`
	// The max capacity for the venue
	Capacity int `json:"venue.capacity"`
}

https://www.eventbrite.com/developer/v3/endpoints/venues/#ebapi-id1

type UploadData

type UploadData struct {
	AWSAccessKeyID string `json:"AWSAccessKeyId"`
	Bucket         string `json:"bucket"`
	Acl            string `json:"acl"`
	Key            string `json:"kcl"`
	Signature      string `json:"signature"`
	Policy         string `json:"policy"`
}

type User

type User struct {
	ID string `json:"id"`
	// The user’s name. Use this in preference to first_name/last_name if possible for forward compatibility with non-Western names
	Name string `json:"name"`
	// The user’s first name
	FirstName string `json:"first_name"`
	// The user’s last name
	LastName string `json:"last_name"`
	// A list of user emails
	Emails []Email `json:"emails"`
}

User is an object representing an Eventbrite user

https://www.eventbrite.com/developer/v3/response_formats/user/#ebapi-std:format-user

type UserAddContactListContactRequest

type UserAddContactListContactRequest struct {
	// Contact’s email address
	Email string `json:"email" validate:"required"`
	// Contact’s first name (or full name)
	FirstName string `json:"first_name"`
	// Contact’s last name
	LastName string `json:"last_name"`
}

type UserBookmarksRequest

type UserBookmarksRequest struct {
	// Optional bookmark list id to fetch all bookmarks from
	BookmarkListID string `json:"bookmark_list_id"`
}

https://www.eventbrite.com/developer/v3/endpoints/users/#ebapi-id35

type UserBookmarksResponse

type UserBookmarksResponse struct {
	Pagination Pagination `json:"pagination"`
	Events     []Event    `json:"events"`
}

type UserContactListContacts

type UserContactListContacts struct {
	Pagination Pagination `json:"pagination"`
	Contacts   []Contact  `json:"contacts"`
}

type UserContactListsResponse

type UserContactListsResponse struct {
	Pagination  Pagination    `json:"pagination"`
	ContactList []ContactList `json:"contact_lists"`
}

UserContactListsResponse is the response structure to get user contact lists

type UserCreateContactListsRequest

type UserCreateContactListsRequest struct {
	Name string `json:"contact_list.name" validate:"required"`
}

type UserDeleteContactListContactRequest

type UserDeleteContactListContactRequest struct {
	// Email address to remove
	Email string `json:"email"`
}

type UserEventAttendeesRequest

type UserEventAttendeesRequest struct {
	// Limits results to either confirmed attendees or cancelled/refunded/etc. attendees
	// (Valid choices are: attending, or not_attending)
	Status string `json:"status"`
	// Only return resource changed on or after the time given
	ChangedSince string `json:"changed_since"`
}

UserEventAttendeesRequest is the request structure to get a user owned event attendees

https://www.eventbrite.com/developer/v3/endpoints/users/#ebapi-id15

type UserEventAttendeesResponse

type UserEventAttendeesResponse struct {
	Pagination Pagination `json:"pagination"`
	Attendees  []Attendee `json:"attendee"`
}

UserEventAttendeesResponse is the response structure to get a user owned event attendees

https://www.eventbrite.co.uk/developer/v3/endpoints/users/#ebapi-get-users-id-owned-event-attendees

type UserEventOrders

type UserEventOrders struct {
	// Limits results to either past or current & future events / orders.
	// (Valid choices are: all, past, or current_future)
	TimeFilter string `json:"time_filter"`
	// Only return resource changed on or after the time given
	ChangedSince string `json:"changed_since"`
}

UserEventOrders is the request structure to get all order placed under the user

https://www.eventbrite.com/developer/v3/endpoints/users/#ebapi-id17

type UserEventOrdersRequest

type UserEventOrdersRequest struct {
	Status        string   `json:"status"`
	OnlyEmails    []string `json:"only_emails"`
	ExcludeEmails []string `json:"exclude_emails"`
	ChangedSince  DateTime `json:"datetime"`
}

https://www.eventbrite.com/developer/v3/endpoints/users/#ebapi-id17

type UserEventOrdersResponse

type UserEventOrdersResponse struct {
	Pagination Pagination `json:"pagination"`
	Orders     []Order    `json:"orders"`
}

https://www.eventbrite.com/developer/v3/endpoints/users/#ebapi-get-users-id-owned-event-orders

type UserEventsRequest

type UserEventsRequest struct {
}

type UserEventsResponse

type UserEventsResponse struct {
	// Filter event results by name
	NameFilter string `json:"name_filter"`
	// Filter event results by currency
	CurrencyFilter string `json:"currency_filter"`
	// How to order the results (Valid choices are: start_asc, start_desc, created_asc, created_desc, name_asc, or name_desc)
	OrderBy string `json:"order_by"`
	// True: Will show parent of a serie instead of children False: Will show children of a serie (Default value)
	ShowSeriesParent bool `json:"show_series_parent"`
	// Filter by events with a specific status set. This should be a comma delimited string of
	// status. Valid status: all, draft, live, canceled, started, ended.
	Status string `json:"status"`
	// Filter event results by event_group_id
	EventGroupID string `json:"event_group_id"`
	// Number of records in each page.
	PageSize int `json:"page_size"`
	// Limits results to either past or current & future events / orders. (Valid choices are: all, past, or current_future)
	TimeFilter string `json:"time_filter"`
	// Filter event results by venue IDs
	VenueFilter []interface{} `json:"venue_filter"`
}

type UserOrdersResult

type UserOrdersResult struct {
	Pagination Pagination `json:"pagination"`
	Orders     []Order    `json:"orders"`
}

GetUserOrdersResult is the response structure for user orders

https://www.eventbrite.co.uk/developer/v3/endpoints/users/#ebapi-get-users-id-orders

type UserOrganizerRequest

type UserOrganizerRequest struct {
	// True: Will hide organizers flagged as “unsaved” False: Will show organizers
	// regardless of unsaved flag (Default value)
	HideUnsaved bool `json:"hide_unsaved"`
}

UserOrganizerRequest is the request structure to get all organizer objects that are owned by the user

https://www.eventbrite.co.uk/developer/v3/endpoints/users/#ebapi-id3

type UserOrganizerResponse

type UserOrganizerResponse struct {
	Pagination Pagination  `json:"pagination"`
	Organizers []Organizer `json:"organizers"`
}

UserOrganizerResponse is the response structure for all organizer objects that are owned by the user

type UserOwnedEventResponse

type UserOwnedEventResponse struct {
	Pagination Pagination `json:"pagination"`
	Events     []Event    `json:"events"`
}

UserOwnedEventResponse is the response structure to get user owned events

type UserOwnedEventsRequest

type UserOwnedEventsRequest struct {
	// How to order the results (Valid choices are: start_asc, start_desc, created_asc,
	// created_desc, name_asc, or name_desc)
	OrderBy string `json:"order_by"`
	// True: Will show parent of a serie instead of children False: Will show children of a serie (Default value)
	ShowSeriesParent bool `json:"show_series_parent"`
	// Filter by events with a specific status set. This should be a comma delimited string of status.
	// Valid status: all, draft, live, canceled, started, ended
	Status string `json:"status"`
}

UserOwnedEventsRequest is the request structure to get user owned events

https://www.eventbrite.co.uk/developer/v3/endpoints/users/#ebapi-id5

type UserSaveBookmarkRequest

type UserSaveBookmarkRequest struct {
	// Event id to bookmark for the user
	EventID int `json:"event_id"`
	// Event ids to batch bookmark for the user
	EventIDs []string `json:"event_ids"`
	// Optional Bookmark list id to save the bookmark(s) to
	BookmarkListID string `json:"bookmark_list_id"`
}

type UserSetAssortmentRequest

type UserSetAssortmentRequest struct {
	// The assortments package to upgrade/downgrade to. (Valid choices are: package1, or package2)
	Plan string `json:"plan" validate:"required"`
}

type UserTicketGroupResponse

type UserTicketGroupResponse struct {
	Pagination   Pagination `json:"pagination"`
	TicketGroups []*TicketGroup
}

type UserTicketGroupsRequest

type UserTicketGroupsRequest struct {
	//     Limits results to groups with the specific status (Valid choices are: live, archived, deleted, or all)
	Status string `json:"status"`
}

type UserUnSaveBookmarkRequest

type UserUnSaveBookmarkRequest struct {
	// Event id to bookmark for the user
	EventID int `json:"event_id"`
	// Event ids to batch bookmark for the user
	EventIDs []string `json:"event_ids"`
	// Optional Bookmark list id to save the bookmark(s) to
	BookmarkListID string `json:"bookmark_list_id"`
}

type UserUpdateContactListRequest

type UserUpdateContactListRequest struct {
	Name string `json:"contact_list.name" validate:"required"`
}

type UserVenuesResponse

type UserVenuesResponse struct {
	Pagination Pagination `json:"pagination"`
	Venues     []Venue    `json:"venues"`
}

UserVenuesResponse is the response structure to get user owned venues

type Venue

type Venue struct {
	// The value name
	Name string `json:"name"`
	// The address of the venue
	Address Address `json:"address"`
}

A location where an event happens.

https://www.eventbrite.com/developer/v3/response_formats/venue/#ebapi-venue

type VenueEventsResult

type VenueEventsResult struct {
	Pagination Pagination `json:"pagination"`
	Events     []Event    `json:"events"`
}

type Webhook

type Webhook struct {
	// The url that the webhook will send data to when it is triggered
	EndpointUrl string `json:"endpoint_url"`
	// One or any combination of actions that will cause this webhook to fire
	Actions string `json:"actions"`
}

An object representing a single webhook associated with the account

type WebhooksRequest

type WebhooksRequest struct {
	// The organization for which the webhooks will be fetched
	OrganizationID string `json:"organization_id"`
}

https://www.eventbrite.com/developer/v3/endpoints/webhooks/#ebapi-id3

type WebhooksResult

type WebhooksResult struct {
	Pagination Pagination `json:"pagination"`
	Webhooks   []Webhook  `json:"webhooks"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL