Overview
An API – Application Programming Interface – is a set of functions that allow programs to interact with each other.
WildApricot provides 2 separate APIs – an admin API that you can use to retrieve or update data stored in your WildApricot database, and a member API you can use to create apps for your members.
The retrieved data can be backed up, used to update another database, displayed on a web page, or passed onto another program for further processing or reporting.
For example, you could use WildApricot's API to:
- Create an Excel file that retrieves all your contacts with a single click and automatically generates a report or a chart.
- Add code to a desktop database like Access or FileMaker that would regularly check your WildApricot account for new or updated records and automatically download them.
- Automatically retrieve and store backup copies of your WildApricot contact database on a regular basis.
- Develop your own website plugin to display a specially formatted list of your contacts – if WildApricot's member directory widget is not customizable enough for your needs.
- Update WildApricot email preferences using an unsubscribe list maintained through an external email system.
- Create and update payments in WildApricot using information stored in an external accounting system.
An API consists of a number of API calls, each of which performs a specific function. For example, WildApricot's Membership Levels API call allows you to retrieve detailed information about your membership levels. As part of an API call, you can include parameters, which are instructions or information used by the API to process your request.
WildApricot's API is intended for use by developers with technical expertise. If you want to take advantage of this functionality but lack the technical knowledge, you can engage the services of an approved WildApricot partner or consider using Make to build no-code workflows with WildApricot.
If you are a developer and need assistance, we offer support through our Developers forum. By using WildApricot's API, you accept the API License Agreement.
Accessing WildApricot's APIs
WildApricot's APIs can be accessed from a third-party server or application, or from a WildApricot site page. For information on the differences between the two, see API access options.
WildApricot's API adheres to RESTful web service principles. Version 2 API calls take the form of HTML GET, PUT, POST, or DELETE requests formatted in either JSON (JavaScript Object Notation) or XML (Extensible Markup Language). Multiple API requests can be combined in a batch request using the BATCH method.
Authentication
Each WildApricot API call must include authentication information that verifies your account and prevents others from accessing your data. The required authentication information – and how it is passed – differs depending on whether you are accessing the API from a third-party server or application, or from a WildApricot site page. For more information, see API access options.
Versioning
The version number of the WildApricot API is included in the API call to allow existing applications to function after new versions are released.
In the following example, the v2
value directs the call to version 2 of the WildApricot admin API.
GET https://api.wildapricot.org/v2/Accounts
A call to the base API – https://api.wildapricot.org – will return a list of available API versions.
API responses
Results from WildApricot API calls can be returned in either JSON (JavaScript Object Notation) or XML (Extensible Markup Language) formats. The default format is JSON.
To specify the response format, include the following field in the HTTP header:
Accept: application/{format}
where {format}
can be either json
or xml
.
You can compress the response by including the following field in the HTTP header:
Accept-Encoding: gzip, deflate
For more information on compressing data in server responses, see HTTP compression.
API request limits
Currently, the limits on the number of API requests per minute are:
- 40 requests per minute to get a list of contacts
- 120 requests per minute to get a contact by identifier
- 400 for other request types.
Batch requests are limited to 5 subrequests per batch.
Transitioning from API Version 1
You should keep the following in mind when you transition your application from Version 1 of WildApricot's API to Version 2.
- Version 2 of WildApricot API's uses the OAuth authentication standard and issues OAuth authentication tokens. With Version 2, server-side authentication is a two-step process. In the first step, the client application requests an authentication token from the authentication server. In the second step, the authentication server returns an authentication token, which the client application uses in the API call.
- When accessing version 2 of WildApricot's API, an 3rd-party server or application must first be authorized to access your WildApricot account. During authorization, the application will be assigned a unique API key. Using the API key, your application can request an authentication token. For more information, see API access options.
- The root node for an XML response to an asynchronous Contacts API call is now ApiResponse. With Version 1, it was AsyncResult.