https://github.com/certtools/intelmq-api
FastAPI-based API for the IntelMQ project
https://github.com/certtools/intelmq-api
fastapi intelmq
Last synced: about 2 months ago
JSON representation
FastAPI-based API for the IntelMQ project
- Host: GitHub
- URL: https://github.com/certtools/intelmq-api
- Owner: certtools
- Created: 2020-11-19T10:12:57.000Z (over 5 years ago)
- Default Branch: develop
- Last Pushed: 2026-02-12T09:13:02.000Z (4 months ago)
- Last Synced: 2026-02-12T18:09:54.713Z (4 months ago)
- Topics: fastapi, intelmq
- Language: Python
- Homepage: https://docs.intelmq.org/latest/user/api/
- Size: 248 KB
- Stars: 1
- Watchers: 2
- Forks: 6
- Open Issues: 6
-
Metadata Files:
- Readme: README.rst
- Changelog: CHANGELOG.rst
- License: LICENSES/AGPL-3.0-or-later.txt
Awesome Lists containing this project
README
..
SPDX-FileCopyrightText: 2020 Birger Schacht
SPDX-License-Identifier: AGPL-3.0-or-later
###########
intelmq-api
###########
|Tests Status| |Package Status|
.. |Tests Status| image:: https://github.com/certtools/intelmq-api/actions/workflows/python-unittests.yml/badge.svg
:target: https://github.com/certtools/intelmq-api/actions/workflows/python-unittests.yml
.. |Package Status| image:: https://github.com/certtools/intelmq-api/actions/workflows/debian-package.yml/badge.svg
:target: https://github.com/certtools/intelmq-api/actions/workflows/debian-package.yml
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:
.. code-block:: bash
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:
.. code-block:: bash
./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:
.. code-block:: bash
mypy intelmq_api/