Vanilla's API v2 has been rebuilt from the ground up to enable tighter integrations and lower-level access to all of Higher Logic Vanilla's (Vanilla) features using an API-first strategy. The initial release provides feature parity with our API v1.
đź“ť NOTE:Â New endpoints will be available as they are completed, so keep an eye out for new product announcements in our release notes.
Looking for API v1 docs?
Before we begin...
Looking for the API v2 swagger reference? You can find it in your Dashboard (Settings > API Integrations > API V2), or in our full API reference. Note that the reference in your Dashboard will always be more accurate and tailored to your site than the full reference.
Improvements in API v2
- More authentication options, including per-user access tokens
- Complete, custom API docs in your Dashboard, including examples you can use immediately
- More endpoints for additional control of your site from the API
- Cross-origin resource sharing (CORS) support
- Greater functional consistency, and higher conformance to current industry best practices
- Better automated testing to reduce regression bugs and unwanted changes
Pagination
Vanilla uses two types of pagination in the API:
Numbered pagination
- Used where possible
- Access to first, last, previous, and next pages
More pagination
- Used where querying the totals of a particular resource would not be performant
- Access to first, previous, and next pages
Resources that support pagination have page
 and limit
 parameters. For example: /api/v2/{RESOURCE}?page={PAGE_NUM}&limit={NUM_ITEMS}
Since the API returns an array of records, the paging information is sent using the Link header.
Link header example:
Link: <https://forum.example.com/api/v2/users?page=1&limit=100>; rel="first",
<https://forum.example.com/api/v2/users?page=5&limit=100>; rel="next"
đź“ť NOTE:Â The example includes a line break for readability.
Depending on the pagination type, the following rel
 values are possible:
first
- The link relation for the first page of records.last
- The link relation for the last page of records.prev
- The link relation for the immediate previous page of records. Only available if page > 1.next
- The link relation for the immediate next page of records. Only available if more records are available.
📝 NOTE: Results per page can be lower than the limit even if more pages are available. This is due to rows being removed based on the current user's permissions. It's also possible to have empty pages for the same reason. The Paging-Next
 header will always be present when more rows are available.