Events API

Returns a list of events for the specified time period, where each event cost is less than or equal to the price argument.

Location

https://calendar.byu.edu/api/Events

Example: https://calendar.byu.edu/api/Events?categories=10+6&event[min][date]=2017-04-01&event[max][date]=2017-04-30&price=5

Parameters

Parameter
Description
categories
A list of the category ID's, separated by a "+" (e.g., 9+6+151). You can also specify "all" to include all categories. Including all main categories means to inclue all events (as one main level category is required for all events).
event[min][date]
(Optional) The starting date of the time period (in the format yyyy-mm-dd).
event[max][date]
(Optional) The ending date of the time period (in the format yyyy-mm-dd).
price
(Optional) The max price. Provide an integer or decimal. Free events and events without tickets will always be included.

NOTE: If either a min or a max date is provided, but not the other, all events get returned regardless of min/max date argument.

Example: https://calendar.byu.edu/api/Events?categories=10+6&event[min][date]=2017-01-20&price=5

 

Return Values

Name
Description
EventId
The unique ID for the event.
Title
Title of the event.
Description
Description of the event if there is one. Limited to 250 characters.
ShortDescription
Shorter description of the event. Limited to 75 characters.
IsFeatured
True if it's featured on the homepage. False if it isn't.
LowPrice
The low price of the event.
HighPrice
The high price of the event.
PriceDescription
Additional description for the price.
LocationName
Name of the event's location.
Latitude
Corresponds with google maps api latitude. This is no longer supported. This returns as empty.
Longitude
Corresponds with google maps api longitude. This is no longer supported. This returns as empty.
ImgUrl
Url associated with a thumbnail picture corresponding to the event.
StartDateTime
MM-dd-yyyy HH:mm:ss
EndDateTime
MM-dd-yyyy HH:mm:ss
AllDay
True if the event occurs all day. False if the event doesn't.
MoreInformationUrl
Url for a link to additional information page.
IsPublishedNotMainCalendar
True if it is on the BYU calendar. False if it isn't. (Sometimes a department may wish to add their events through the BYU Calendar but not display them on calendar.byu.edu. Then they can use this API to display them on their own website(s).
OccurrenceId
Unique id associated with each occurance. This will now always be the same as the event id.
CategoryId
The ID for the categories. This corresponds with category names that can be found in the Category ID's section of this document.
CategoryName
The corresponding category name.
FullUrl
Displays the full url to the event on calendar.byu.edu.
IsFree
True/False if marked free. Note: Some events don't have tickets at all.
TagsIds
Displays comma separated list of tag ids.
TagsNames
Displays comma separated list of tag names.
DeptsIds
Displays comma separated list of internal category ids. This will include parent ids as this field includes hierarchical category information.
DeptNames
Displays comma separated list of internal category names. This will include parent names as this field includes hierarchical category information.
TicketsExist
Ticket display logic will check if tickets exist before it checks if it's free or priced.
TicketsUrl
Checks for a URL associated with the tickets, if they exist.

 

Return Format

XML is returned by default, but the format can be specified explicitly in the URL.

XML Example

https://calendar.byu.edu/api/Events.xml?categories=10+6&event[min][date]=2017-04-01&event[max][date]=2017-04-30&price=5

 

JSON Example

https://calendar.byu.edu/api/Events.json?categories=10+6&event[min][date]=2017-04-01&event[max][date]=2017-04-30&price=5

 

Changes 

Parameters

Old Value
New Value
Note
startdate=mm-dd-yyyy
event[min][date]=yyyy-mm-dd
The paramater format and value format have both changed slightly. Note that now it takes dates in the format of yyyy-mm-dd.
enddate=mm-dd-yyyy
event[max][date]=yyyy-mm-dd
The paramater format and value format have both changed slightly. Note that now it takes dates in the format of yyyy-mm-dd.

 

Return Values

Old Value
New Value
Note
<ArrayOfPublicEventViewModel> 
<result>  
This is the wrapper around the entire list. Only the name of the tag has changed. 
<PublicEventViewModel> 
<item> 
This is the wrapper around a single event. Only the name of the tag has changed.
<CategoryId >25</CategoryId> 
<CategoryId>6</CategoryId> 
Category ID now only referes to one of the 7 main categories (as listed on the calendar site) 
<CategoryName>Basketball (W)</CategoryName> 
<CategoryName>Conferences</CategoryName> 
Category Name now only referes to one of the 7 main categories (as listed on the calendar site)  
<ImgUrl>/Content/uploads/images/w-basketball.jpg</ImgUrl>  
The full URL is now used for images. 
<Latitude>40.25409</Latitude> 
<Latitude></Latitude> 
Latitued is now empty, though a value may be added.
<LocationName>Marriott Center, East University Parkway, Provo, UT</LocationName>
 
An event is no longer required to have a location name and can be empty.
<Longitude>-111.64934299999999</Longitude>
<Longitude></Longitude>
Longitude is now empty, though a value may be added.
<OccurrenceId>17851</OccurrenceId>
<OccurrenceId>17851</OccurrenceId>
Previously, Occurrence ID could have been different than Event ID. Now, Occurrence ID will always be the same as Event ID. Each individual instance of an event will now be it's own event.  

 

New Values

  • FullUrl
  • IsFree
  • TagsIds
  • TagsNames
  • DeptIds
  • DeptNames
  • TicketsExist
  • TicketsUrl

 

Removed Values

  • ShortUrl
  • TimeZone