intelmq-api is a FastAPI based API for the intelmq project.
Extensive documentation regarding the installation, configuration and usage of the intelmq-api can be found in the intelmq documentation.
You could create a preferred virtual environment, and then install the package using:
pip install -e .
For development purposes, you can run the API using the scripts/run_dev.sh script. It serves the API on the local 8000 port and watches for file changes, with the automated reloading on change.
The interactive documentation is served on the /docs endpoint.
To set the API configuration, please export the INTELMQ_API_CONFIG environment variable with path to the JSON config file in the shell you want to use. For the config reference, please check the intelmq_api/config.py and the example from contrib/api-config.json.
If you configured the session store, you will need to authorize every request. The /v1/login returns the authorization token. You can use the following command to register the user:
./scripts/intelmq-api-adduser --user UserName
Please be careful when deploying the API. At the current stage, it is not designed to run on publicly exposed endpoints without additional pre-cautions.
The code can be typechecked with mypy
. To run the type checker, use:
mypy intelmq_api/