# Manifest

> The `manifest.json` file of an integration: its domain, name, integration owners, requirements, and how it can be discovered.

Source: https://contributors.home-assistant.io/glossary/manifest/

- In code: `manifest.json`

Home Assistant reads the manifest before it loads any code of an integration. It tells which other integrations need to be set up first, which Python packages to install, whether the integration has a config flow, and on which networks or buses it can be discovered.

The manifest is also where the [IoT class](https://contributors.home-assistant.io/glossary/iot-class/) and the [quality scale](https://contributors.home-assistant.io/glossary/quality-scale/) of an integration are set.

## Related terms

- [Integration](https://contributors.home-assistant.io/glossary/integration/): A package of code that connects Home Assistant to a device, service, or protocol, or adds a feature like automations.
- [Requirement](https://contributors.home-assistant.io/glossary/requirement/): A Python package from PyPI that an integration needs, listed with a pinned version in its manifest.
- [Integration owner](https://contributors.home-assistant.io/glossary/integration-owner/): A person or team responsible for an integration, listed in its manifest, who gets notified about its issues and asked to review its pull requests.
- [Discovery](https://contributors.home-assistant.io/glossary/discovery/): Finding devices and services, like on the network or over Bluetooth, so Home Assistant can offer to set them up.
- [IoT class](https://contributors.home-assistant.io/glossary/iot-class/): How an integration gets its data: locally or from the cloud, and by polling or push. Set in the manifest.
