Odoo REST API Pro | REST API Framework | COQL Query Language | OAuth2 JWT API Key | OpenAPI Swagger ReDoc | Webhooks Bulk Batch | HAL JSON | API Tester
by echoBitz IT Solutions Pvt. Ltd. https://www.echobitzit.com$ 148.68
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
Discuss (mail)
|
| Lines of code | 12305 |
| Technical Name |
eb_rest_api |
| License | OPL-1 |
| Website | https://www.echobitzit.com |
| Versions | 17.0 18.0 19.0 |
One Framework. Every API Capability.
From resource-oriented CRUD to a SQL-like query language, four authentication methods and live OpenAPI docs - everything an enterprise integration needs, built in and standards-first.
Language
Query Odoo like SQL - safely. A Zoho-style query language compiled to the ORM, so every call respects access rights, record rules and multi-company scoping.
Versioned /api/v1 routes over any Odoo model - GET / POST / PATCH / PUT / DELETE, dynamic model exposure, HAL/HATEOAS links, sub-resources, named shortcuts and RPC-style ORM action calls. No controllers to write.
Move data at scale: atomic or partial bulk writes, independent multi-request batches, create-or-update upsert, CSV / XLSX export and Idempotency-Key replay for safe retries.
Push model events to any endpoint with signed payloads, field-level triggers and value conditions, retry with backoff, update coalescing and a full delivery log.
Authentication
Four strategies, one framework - pick the right auth for every client and govern it with scopes, fine-grained access rules and per-credential rate limits.
A live, auto-generated specification that always matches your endpoints - interactive Swagger UI, polished ReDoc reference docs, and automatic registration of your custom endpoints.
A Postman-like client inside Odoo: environments, collections, history, auth presets, pretty JSON and file previews - plus a Model Explorer that prefills requests in one click.
DB-backed sliding-window rate limits with standard RateLimit-* headers, a forensic-grade request audit log, and a public health endpoint for monitoring.
filter[field__op] params
updated_since)
?fields=
?expand=
problem+json errors
lang
Watch It in Action
See the REST API Pro in action. Every clip shows the actual Odoo environment and API calls - no mockups, no fakes.
REST API Pro Overview
The five-minute tour: what the framework does, why it is different, and how it turns any Odoo model into a clean, secure REST API - no custom controllers.
Authentication Deep Dive
API Key, JWT, OAuth 2.1 + PKCE and Basic - pick and configure each method.
CRUD Operations
Create, read, update and delete any model with real REST verbs.
Upsert API
Create-or-update by match fields or domain - idempotent ERP sync.
Bulk & Batch Operations
Atomic bulk writes and multi-request batches with safe retries.
Filtering, Sorting & Pagination
Domains, filter params, multi-field sort, offset and cursor paging.
Files & Attachment APIs
Upload binaries, download attachments and render PDF reports.
OpenAPI Docs & API Explorer
Live Swagger UI, ReDoc and the built-in Postman-like tester.
OpenAPI ReDoc
Clean, beautiful and interactive ReDoc documentation for your endpoints.
A fair, factual comparison with typical Odoo REST API modules. Confirm details on Odoo Apps before purchase.
| Feature | REST API Pro | Typical REST Modules |
|---|---|---|
| Architecture & API design | ||
|
API style
GET/POST/PATCH/PUT/DELETE on /records/{model} with
navigable links.
|
Resource-oriented REST + HAL/HATEOAS | Verb-in-path RPC |
| Versioned API surface | Stable /api/v1 with deprecation headers | Unversioned routes |
|
Query language (COQL)
SELECT / WHERE / GROUP BY / ORDER BY with relational paths
and aggregates.
|
SQL-like, ORM-backed, injection-proof | Not offered |
| Dynamic model exposure | Any model + configurable shortcuts | Fixed endpoint list |
| Authentication & security | ||
| Authentication methods | API Key - JWT - OAuth 2.1 + PKCE - Basic | API key / Basic only |
| Scopes & fine-grained access rules | Per-credential model/operation allow-lists | All-or-nothing access |
| Rate limiting | Sliding window + RateLimit-* headers | None or fixed per-IP |
| Request audit log | Every call logged with request IDs | Not available |
| Data operations at scale | ||
| Bulk - batch - upsert | All three, atomic or partial | Batch create/write only |
| Pagination | Offset + O(1) cursor, RFC 8288 Link | limit/offset only |
|
Conditional requests & idempotency
Optimistic locking and safe retries for unreliable
networks.
|
ETag / If-Match / Idempotency-Key | Not documented |
| Files & reports | Attachments + PDF/JSON report APIs | Limited or missing |
| Developer experience | ||
| API documentation | Live OpenAPI 3.1 + Swagger + ReDoc | Static or none |
| Built-in API tester | Postman-like client + Model Explorer | External tools required |
| Webhooks | HMAC-signed, retries, delivery log | Separate paid module |
| Error format | RFC 9457 problem+json | Ad-hoc {error: ...} JSON |
| Extra Python dependencies | None beyond Odoo core | Often require pip installs |
| Odoo compatibility | Enterprise + Community + Odoo.sh | Enterprise + Community |
Authentication that fits every client
From simple keys to full OAuth 2.1 - pick the strategy each integration needs
Scoped, IP-whitelisted, expiring, hashed. Header,
X-API-Key or query param.
Stateless tokens with in-app generator and RSA key management.
Authorization Code + PKCE, Client Credentials, refresh rotation and token revocation.
Login + password or native Odoo API key, for quick server-to-server scripts.
Query Odoo like SQL - safely
The COQL Query API (POST /api/v1/query) accepts a
compact, Zoho-style query that references model and field names -
compiled to the ORM, so it fully respects access rights, record
rules and multi-company scoping.
GROUP BY,
COUNT/SUM/AVG, BETWEEN,
LIKE, IN, IS NULL.
A world-class developer experience
Explore, test and document your API without leaving Odoo
Build requests, switch environments, save collections and replay history - all inside the backend.
Browse models, fields and callable methods, then prefill a request in one click.
Swagger UI and ReDoc served straight from the live OpenAPI 3.1 spec - always in sync.
Feature Deep Dive
Switch tabs to explore each capability - visuals will be added shortly
Built-in API Tester
A Postman-like HTTP client living inside Odoo - build, send and organize requests without ever leaving the backend.
1. Querying the public health endpoint to verify API connectivity and server status
2. Reviewing the request history panel to replay past API calls and analyze responses
3. Accessing the API Catalog for quick links to live OpenAPI and Swagger documentation
4. Using the Model Explorer to inspect model fields and auto-generate callable method payloads
5. Toggling the built-in dark mode interface for comfortable late-night debugging
Four Authentication Methods
From simple keys to full OAuth 2.1 - pick the right strategy for every client, all managed from the backend.
1. Generating a scoped, expiring API Key bound to a specific run-as user
2. Issuing a stateless JWT token using the built-in HS256/RS256 generator
3. Configuring an OAuth 2.1 application for secure third-party authorization
4. Managing active OAuth 2.1 tokens, expiration times, and revocation
Resource-Oriented CRUD
Real REST verbs over any model under/api/v1/records/{model}- no controllers to write.
1. Fetching a specific record's data securely via a standard GET request
2. Creating a new record automatically validating fields and enforcing required data
3. Applying partial updates to a record using the PATCH HTTP method
4. Safely deleting a record with built-in reference constraint handling
5. Fetching deep relational data efficiently using the powerful expand query parameter
COQL Query Language
SQL-like queries compiled to the ORM - permission-aware, read-only and injection-proof by design.
1. Executing a permission-aware COQL query to filter and sort records securely
2. Calculating grouped sums and counts using the built-in COQL aggregate functions
3. Applying complex relational filters using dotted field paths and IN operators
OpenAPI 3.1 - Swagger - ReDoc
A live specification that always matches your endpoints - interactive and shareable out of the box.
1. Exploring the auto-generated Swagger UI interface mapped to your live endpoints
2. Sending live API requests directly from the interactive OpenAPI documentation
Outbound Webhooks
Notify external systems on model events - reliably, securely and with full observability.
1. Configuring an outbound webhook trigger for specific models and field events
2. Creating a webhook via the API and generating a secure HMAC signature secret
3. Managing webhook filters, active triggers, and advanced update conditions in the backend form
Security & Access Control
Enterprise governance layered on top of Odoo's own ACLs, record rules and multi-company model.
1. Enforcing strict access control by defining read/write scopes on API keys
2. Configuring global rate limits and enabling comprehensive audit logging
3. Monitoring API usage and investigating issues using the detailed Audit Log
4. Introspecting the current user's security permissions and model access via the API
Bulk & Batch Operations
Perform multiple operations at once to minimize network overhead and maximize throughput.
1. Executing atomic bulk operations to create multiple records in a single API call
2. Verifying the successfully created bulk records within the Odoo backend
3. Upserting a record by defining a matching key to create it if it doesn't exist
4. Reviewing the newly created contact from the initial upsert API call
5. Sending a subsequent upsert request with modified data to update the existing record
6. Confirming the successful update of the contact record via the Odoo chatter log
Version 19.0.1.0.0 (Initial Release)
- Odoo 19 full-featured REST API framework for robust frontend and external app integration.
- Support for 4 modern authentication methods: API Keys, JWT, OAuth 2.1, and Basic Auth.
- Comprehensive CRUD capabilities with fully formed JSON responses and relation fetching.
- Advanced COQL query endpoint for complex nested filtering and analytical groupings.
- Secure file streaming and multi-part upload handling.
It is a powerful Odoo 19 module that provides a complete, secure, and production-ready RESTful API framework to interact with any Odoo data without writing custom Python controllers.
The API fully supports scoped API Keys, stateless JWT (RS256/HS256), OAuth 2.1 (Auth Code / Client Credentials), and Basic Auth.
Yes. You can use dot-notation in your field requests to securely fetch related record data in a single API call.
Absolutely. All API requests are executed within the exact security context of the authenticated Odoo user, strictly enforcing all Record Rules and Access Rights.
Every Endpoint at a Glance
One consistent, versioned surface under /api/v1
Engineered for Production
Performance, security, reliability and extensibility - designed in from day one
O(1) cursor pagination, sparse fieldsets, ETag caching and a DB-backed sliding-window limiter keep responses fast at any scale.
OAuth 2.1, hashed keys, IP whitelisting, HMAC-signed webhooks - all on top of native Odoo ACLs and record rules.
Idempotent writes, RFC 9457 errors, request IDs, a full audit trail and automatic webhook retries with backoff.
No-code custom endpoints, configurable shortcuts and settings, and OpenAPI auto-registration make it yours.
Built on Standards
Aligned with modern HTTP / REST specifications, not one-off conventions
Book a Demo or See It in Action
Talk to our team, or watch the walkthrough (video coming soon).
Scan and Connect with echoBitz
Book a meeting, start a WhatsApp chat, or email us from one simple card - the fastest way to move from evaluation to a real REST API Pro rollout for your Odoo project.
Discover More Solutions by echoBitz
Explore our other Odoo apps & integrations
Ship a production-grade Odoo API in minutes
Install Odoo REST API Pro, create your first API key, and start integrating with authentication, COQL, webhooks and full OpenAPI docs out of the box.
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
Discuss (mail)
|
| Lines of code | 12305 |
| Technical Name |
eb_rest_api |
| License | OPL-1 |
| Website | https://www.echobitzit.com |
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