Again, there are examples of this in the template. You must use the ```@using_materials``` decorator before the route function definition. This will give you access to a ```Materials``` client object which you can use to make requests.
```python
@home_blueprint.route('')
@login_required# Indicate that the user must be logged in (via LDAP)
@using_materials# Indicate that we want to access the Materials API
**Important:** if using other decorators such as ```@login_required``` provided by the [imperial_ldap package](https://gitlab.doc.ic.ac.uk/paas-packages/imperial_ldap), the parameters to the function appear in inverse order. For example, in the code above, the login decorator appears first, so the ```user``` parameter provided by it goes last.
## The API
### ```Materials``` class:
- Creating a new client given a username and password: