# Api

The Openstad API is a REST based api. It manages the data of the submitted ideas, votes, etc. It is the interface to the OpenStad data that is stored in a MySQL database. It uses the [Sequelize](https://sequelize.org/) framework for Object modeling.

## Resources

* [Site](https://docs.openstad.org/openstad/technical/api/resource-site)
* [Idea](https://docs.openstad.org/openstad/technical/api/resource-idea)
* [Argument](https://docs.openstad.org/openstad/technical/api/resource-argument)
* [Vote](https://docs.openstad.org/openstad/technical/api/resource-vote)
* [Article](https://docs.openstad.org/openstad/technical/api/resource-article)
* [Newsletter Signup](https://docs.openstad.org/openstad/technical/api/resource-newslettersignup)
* [User](https://docs.openstad.org/openstad/technical/api/resource-user)

## Authentication and JWT

Authentication of API call is done with a JWT. The API issues one after connecting with the auth server via the oAuth2 protocol.

See:

* [Auth](https://docs.openstad.org/openstad/technical/api/auth)
* [Sequelize authorization](https://docs.openstad.org/openstad/technical/api/sequelize-authorization)

## Miscellaneous

* [Pagination and search](https://docs.openstad.org/openstad/technical/api/pagination-and-search)
* [Email settings](https://docs.openstad.org/openstad/technical/api/email)
* [Database migrations](https://docs.openstad.org/openstad/technical/api/db-changes)
* [Configuration](https://docs.openstad.org/openstad/technical/api/api-configuration)
