You can use the Invoices API call to retrieve information on a particular invoice, or for multiple invoices, filtered by date, contact, event, or unpaid invoices. You can also create, edit, void, or delete an invoice.

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.

Invoices API functions

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

Specifying filter criteria

When retrieving information for multiple invoices, you must include filter criteria. You can filter the results by specifying a contact or event, by specifying a start and/or end date, and by specifying a set of invoice ids. You can also filter the list to retrieve only unpaid invoices. You can combine multiple filter criteria to further narrow the results.

Specifying a contact or event

You can filter the invoices by specifying a particular contact and/or event.

Example:
GET https://api.wildapricot.org/v2/Accounts/58293/Invoices/?contactId=725191&eventId=11769

Specifying a start or end document date

You can filter the invoices by specifying a start date and/or an end date (using the DocumentDate field).

Example:
GET https://api.wildapricot.org/v2/Accounts/58293/Invoices/?StartDate=2016-11-01&EndDate=2016-11-30

Specifying a set of invoice IDs

You can filter the invoices by specifying a set of invoice IDs.

Example:
GET https://api.wildapricot.org/v2/Accounts/58293/Invoices/?ids=206311,206312

Retrieving only unpaid invoices

You can filter the invoices to retrieve only invoices without settled payments.

Example:
GET https://api.wildapricot.org/v2/Accounts/58293/Invoices/?UnpaidOnly

Retrieving just invoice IDs

You can retrieve just the invoice IDs that match the filter criteria by including the idsOnly parameter. This parameter is only available when you specify v2.1 as the API version. The invoice IDs will be listed by document date in descending order.

Example:
GET https://api.wildapricot.org/v2/Accounts/58293/Invoices/?eventId=11769&idsOnly=true

Paging

Using the $skip and $top parameters, you can retrieve records in sets or pages. You use the $top parameter to specify the maximum number of records to be returned, and the $skip parameter to specify the number of records to skip. The $skip parameter is incremented each call to return the next set or page of records.

Example

You want to retrieve 50 records using an application that can only process 20 records at a time. Using the following calls, the application retrieves the first set of 20 records, then a second set of 20, and finally, the remaining 10 records.

https://api.wildapricot.org/v2/Accounts/58293/Invoices?eventId=11769&$skip=0&$top=20
https://api.wildapricot.org/v2/Accounts/58293/Invoices?eventId=11769&$skip=20&$top=20
https://api.wildapricot.org/v2/Accounts/58293/Invoices?eventId=11769&$skip=40&$top=20

In this example, the $top specifies the maximum number of records to retrieve (20), and the $skip parameter is incremented from 0 to 20 to 40 to skip the records retrieved by the previous call(s).