| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
Discuss (mail)
|
| Lines of code | 1592 |
| Technical Name |
oe_rest_api |
| License | OPL-1 |
| Website | https://odooengineering.com |
| Versions | 16.0 17.0 18.0 19.0 |
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
Discuss (mail)
|
| Lines of code | 1592 |
| Technical Name |
oe_rest_api |
| License | OPL-1 |
| Website | https://odooengineering.com |
| Versions | 16.0 17.0 18.0 19.0 |
OE REST API: RESTful API for Odoo
Expose a complete RESTful API for any Odoo model with zero configuration. Built for developers, integrators, and power users who need programmatic access to their Odoo data.
Enhanced Features in This Version
Professional Capabilities for Your Business
Full CRUD on any model via /api/v1/ (search, read, create, update, delete)
Auto-generated OpenAPI 3.0 / Swagger documentation at /api/v1/docs
API key management UI with key rotation, expiry, and field-level access control
Rate limiting / throttling per key or per IP
Full request audit logging with searchable log viewer
CORS support via system parameter (rest_default_cors)
Multi-database support via ?db= parameter
Pagination, sorting, and field filtering on list endpoints
Framework for custom controllers via @rest_route decorator
Professional support and documentation
Before & After OE REST API: RESTful API for Odoo
Before
|
After
|
What's Included
Core Features
|
Additional Components
|
Global Language Support (20+)
Available in 20+ languages: es_ES, fr_FR, it_IT, pt_BR, nl_NL, da_DK, de_DE, pl_PL, ar_001, zh_CN, ru_RU, ja_JP, tr_TR, id_ID, th_TH, vi_VN, ko_KR, pt_PT, sv_SE, cs_CZ.
How to Use This Module
Step-by-Step Instructions to Get Started
Installation & Setup
- Install the module: Go to Apps -> Search for "oe_rest_api" -> Click Install
- Configure permissions: Navigate to Settings -> Technical -> REST API to assign API key management and audit log access to administrators
- Initial configuration: Set the CORS origin in System Parameters (rest_default_cors) if your frontend runs on a different domain
Basic Usage
- Generate an API key: Go to Settings -> Technical -> REST API -> API Keys and create a new key with the desired access scope
- Explore the API: Navigate to /api/v1/docs to see the auto-generated Swagger UI with all available endpoints and models
- Make your first call: Use curl, Postman, or any HTTP client to call GET /api/v1/res.partner with your API key in the Authorization header
- Create custom endpoints: Use the Custom Endpoint builder in Settings to define domain-based queries, server actions, or Python code endpoints
Tips & Best Practices
- Start with API Key authentication for internal integrations - it is the simplest to configure and most performant
- Enable rate limiting early to prevent accidental abuse during development and testing
- Use the audit log to monitor which integrations are making the most calls and identify optimization opportunities
- For public-facing APIs, use OAuth2 with the Authorization Code grant for maximum security
Important Notes
The oauthlib Python package is required. Install it via pip if not already present. For production deployments, configure HTTPS and set strong rate limits. API keys grant access to the models they are scoped to - review field-level permissions carefully.
Frequently Asked Questions
Q: Which Odoo versions and authentication methods are supported?
A: ``oe_rest_api`` targets Odoo Community and Enterprise editions. Supported authentication methods include OAuth1, OAuth2 (Authorization Code, Implicit, Resource Owner Password, Client Credentials), API Key, and Basic Auth. The module also supports multi-database routing via the ?db= query parameter.
Q: Do I need to write code to expose my custom models?
A: No. Every Odoo model is automatically available via /api/v1/ endpoints with full CRUD operations. You only need to write code if you want custom business logic endpoints, which you can build using the Settings UI custom endpoint builder or the @rest_route decorator.
Q: How does rate limiting work and can I configure it per user or per key?
A: Rate limiting can be configured per API key and per IP address. Set limits in the API key form or via system parameters. When a limit is exceeded, the API returns a 429 Too Many Requests response with a Retry-After header.
Q: Can I use this module with mobile apps or single-page applications?
A: Yes. The module supports CORS configuration via the rest_default_cors system parameter, making it suitable for SPAs, mobile apps, and any client-side application. OAuth2 Implicit and Authorization Code grants are ideal for browser-based and mobile clients.
Launch Demo Instance
Explore OE REST API: RESTful API for Odoo in a live environment
Try It NowProudly American-Owned & Operated
Built for American Businesses First
At Odoo Engineering, we understand the unique needs of American businesses. Our modules are designed with clear, English-first terminology and workflows that align with US business practices, while maintaining universal accessibility for companies worldwide.
Why Choose Odoo Engineering
| Professional Excellence Enterprise-grade modules built to the highest standards | 90-Day Warranty Full support and bug fixes guaranteed | Clear Documentation English-first terminology that everyone understands |
| US Business Hours Support when American businesses need it most | Clean Code Well-documented, easily extensible modules | Expert Team Dedicated professionals focused on your success |
Quality Odoo modules that are easily extended at reasonable prices â that's the Odoo Engineering promise.
Complete AI Business Intelligence Suite
Powered by our open-sourced oe_ai_job_base framework - Build or Buy AI Extensions
This module is part of our AI Business Intelligence ecosystem. Purchase individual modules or contact us for custom AI solutions built on this proven framework.
Data CleanerAuto-fixes addresses, names, phones with smart AI rules |
Message AnalysisSentiment, urgency, and topic extraction for partners |
Advanced SearchNatural language queries across your database |
QuickBooks BridgeAI-guided sync with QuickBooks Online |
Want something custom? We build AI integrations tailored to your business.
Support & Services
Get HelpNeed assistance? Our support team is here to help with installation, configuration, and troubleshooting. Contact Support |
Custom DevelopmentLooking for custom features or integrations? We offer professional Odoo development services. Request Quote |
Ready to Get Started?
Install OE REST API: RESTful API for Odoo today and experience the difference quality makes.
Launch Demo Get in Touch© 2025 Odoo Engineering. All rights reserved.
Professional Odoo modules built with excellence in the USA.
Odoo Proprietary License v1.0 This software and associated files (the "Software") may only be used (executed, modified, executed after modifications) if you have purchased a valid license from the authors, typically via Odoo Apps, or if you have received a written agreement from the authors of the Software (see the COPYRIGHT file). You may develop Odoo modules that use the Software as a library (typically by depending on it, importing it and using its resources), but without copying any source code or material from the Software. You may distribute those modules under the license of your choice, provided that this license is compatible with the terms of the Odoo Proprietary License (For example: LGPL, MIT, or proprietary licenses similar to this one). It is forbidden to publish, distribute, sublicense, or sell copies of the Software or modified copies of the Software. The above copyright notice and this permission notice must be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Please log in to comment on this module