All methods take a `config` object of options which can optionally contain:
| Parameter | Description
|:-----------:|----------------
| url | Completely override the URL to use
| prefix | Use a different prefix or host for calling the endpoint.
| urlParams | replacement parameters for the endpoint. for example, if the endpoint is specified as `booking/{id}/`, urlParams should be an object containing an `id` key and the string to replace it with, e.g: `{ id: '123' }` would result in the endpoint being modified to `booking/123/`
| queryParams | An object containing key-value pairs which will be mapped to a query string. E.g. `{ first_name: 'John', last_name: 'Smith' }` would result in the endpoint being modified to `booking/123/?first_name=John&last_name=Smith`
| data | Data object to send with the POST/PUT request. Will be converted to JSON.
It is important to note the `config.prefix` option. You will almost always need to specify this
to match the `API_URL_PREFIX` setting in your django settings. This can be done by including it in
your template view as e.g. a data attribute on a element and then accessing it through the `dataset`