Skip to content

certtools/intelmq-api

Repository files navigation

intelmq-api

Tests Status Package Status

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.

Development usage

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

Security note

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.

Type checking

The code can be typechecked with mypy. To run the type checker, use:

mypy intelmq_api/