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 Make (formerly Integromat) to build automated workflows with Wild Apricot.
Events API functions
The Events API call supports the following functions. To view the Swagger documentation, click the appropriate function below.
- Retrieve information for all events
- Retrieve information for a specific event
- Update event details
- Create a new event
- Delete an event
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:
Field | Description | Supported 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 yyyy-mm-dd date format) | eq, gt, ge, lt, le |
EndDate | The end date of the event (using the yyyy-mm-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.
Operator | Description | Field types | Example |
---|---|---|---|
eq | Equal to | Name, IsUpcoming, StartDate, EndDate, RegistrationEnabled | $filter=RegistrationEnabled eq true |
gt | Greater than | StartDate, EndDate | $filter=StartDate gt 2015-01-15 |
ge | Great than or equal to | StartDate, EndDate | $filter=EndtDate ge 2015-01-15 |
lt | Less than | StartDate, EndDate | $filter=StartDate lt 2015-06-15 |
le | Less than or equal to | StartDate, EndDate | $filter=End tDate le 2015-01-15 |
in | In list of values | Tags | $filter=Tags in [social, training] |
substringof | Field 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.