You can use the Events API call to retrieve information about events, and to create, update, or delete an event. You can retrieve information for all events, and just for a specific event. You can also use the Events API to retrieve the number of events.

Wild Apricot's API is intended for use by developers with technical expertise. If you need assistance, we provide support via email or through our Developers forum. If you are not an experienced programmer, consider using Integromat to build automated workflows with Wild Apricot.

You can use the Events API call to retrieve information about events, and to create, update, or delete an event. You can retrieve information for all events, and just for a specific event. You can also use the Events API to retrieve the number of events.

Events API functions

The Events API call supports the following functions. To view the Swagger documentation, click the appropriate function below.

Filtering the results

You can filter the results of the Events API call so that only those records that match the filter criteria will be included. For example, you might want to retrieve information only about upcoming events, or events between certain dates. Within your filter criteria, you can use relational operators to include ranges of events, and use logical operators to combine multiple critieria.

$filter syntax

GET
https://api.wildapricot.org/{version}/Accounts/{accountID}/Events?$filter={filterCriteria}

where {filterCriteria} is the criteria to be used to filter the search results.

Example:

GET
https://api.wildapricot.org/v2/Accounts/58293/Events?$filter=StartDate gt2015-01-15 AND StartDate lt 2015-06-15

In this example, only events between January 15th, 2015 and June 15th, 2015 will be included in the results.

Filter fields

You can filter events using the following fields:

FieldDescriptionSupported operators
ID
A list of event IDs.
in
Name
The name of the event.
eq, substringof
IsUpcoming
Indicates whether the event has yet to take place.
eq
Tags
The labels used to categorize events.
in
StartDate
The start date of the event (using the yyyymm- dd date format)
eq, gt, ge, lt, le
EndDate
The end date of the event (using the yyyymm- dd date format)
eq, gt, ge, lt, le
RegistrationEnabled
Indicates whether registration has been enabled for the event.
eq
TextIndex
Returns events that contain the specified string within the event title, description, location, start date or event tag
substringof

Relational operators

You can use the following relational operators within your search criteria.

OperatorDescriptionField typesExample
eqEqual toName, IsUpcoming, StartDate, EndDate, RegistrationEnabled
$filter=RegistrationEnabled eq true
gtGreater thanStartDate, EndDate
$filter=StartDate gt 2015-01-15
geGreat than or equal toStartDate, EndDate
$filter=EndtDate ge 2015-01-15
ltLess thanStartDate, EndDate
$filter=StartDate lt 2015-06-15
leLess than or equal toStartDate, EndDate
$filter=End tDate le 2015-01-15
inIn list of valuesTags$filter=Tags in [social, training]
substringofField includes specified value
using the following format:
substringof('field', 'value')
Name, TextIndex
$filter=substringof('Name', 'Annual')


Field names that include spaces or special characters (such as ? < & ) must be enclosed within single quotation marks.

Logical operators

You can use logical operators – AND and OR – to group multiple search criteria, and control whether either or both criteria must satisfied.

In the following example...

$filter=RegistrationEnabled eq true AND StartDate gt 2015-01-15

...events must have registration enabled and must be taking place after January 15, 2015 to be included in the results.

In this example...

$filter=substringof('Name', 'training') eq true OR $filter=Tags in [training]

...events will included in the search results if they have the word "training" in their name or their tags.

You can use brackets to control precedence – the order in which multiple criteria are evaluated within your search criteria. Normally, criteria joined by an AND operator are evaluated ahead of criteria joined by an OR operator. However, any criteria surrounded by brackets will be given priority and evaluated ahead of any other criteria.

In the following example....

$filter=A and B or C

...contacts would have to satisfy both the A and B criteria – or satisfy the C criteria alone – to be included in the results. If, however, you place brackets as shown here...

$filter=A and (B or C)

...then contacts would have to satisfy either the B or C criteria, as well as the A criteria.