A FastAPI application that provides a REST API interface for Odoo 18. This project allows you to interact with Odoo through modern REST API endpoints instead of direct XML-RPC calls.
Copyright (C) 2025 Dariusz Kubiak dkubiak.pl@gmail.com
This project is licensed under the GNU Affero General Public License v3.0 (AGPL-3.0) or later. See https://www.gnu.org/licenses/agpl for full license text.
- REST API interface for Odoo
- Swagger UI documentation
- Partners, Products and Sales Orders endpoints
- Easy configuration through environment variables
- Asynchronous request handling
- Python 3.11.8 or higher
- Poetry package manager
- Running Odoo 18 instance
- Access to Odoo database
- Clone the repository and set up the environment:
git clone git@github.com:dkubiak789/odoo-fastapi.git
cd odoo-fastapi
pyenv virtualenv 3.11.8 odoo-fastapi
pyenv local odoo-fastapi
pip install poetry
poetry install --no-root- Configure environment variables:
cp .env.example .env- Start the development server:
poetry run uvicorn app.main:app --reloadThe application will be available at http://127.0.0.1:8000
GET /- Welcome message and available endpoints
GET /partners- Get list of partners- Query Parameters:
limit(optional): Number of records to return (default: 10)
- Query Parameters:
GET /products- Get list of products- Query Parameters:
limit(optional): Number of records to return (default: 10)
- Query Parameters:
GET /orders- Get list of sales orders- Query Parameters:
limit(optional): Number of records to return (default: 10)
- Query Parameters:
- Swagger UI:
http://127.0.0.1:8000/docs - ReDoc:
http://127.0.0.1:8000/redoc
Dariusz Kubiak - dkubiak.pl@gmail.com
Project Link: https://github.com/dkubiak789/odoo-fastapi