Introduction

The new Dash API was built to provide transparent access to the large collection of objects which comprise the Dash system.

Where it excels:

  • Tasks centered around single objects, eg. fetch a customer and some of their relationships - family members, registrations, invoices

  • Tasks which require filtering of a collection. eg. fetch all events for a given date range.

Where it performs poorly:

  • Tasks which require fetching thousands of records. When this is the primary object of the query, this is mitigated through paging. When the large collection is a relationship of a primary object, the collection is not paged and can cause out of memory exceptions and slow response times (will see improvements later)

  • Batch create & update. We don't currently accept multiple objects in POST and PATCH requests. This requires each object be a separate request which can make batch updates slow and unwieldy.