auth_api_key_group
in server-auth · source on GitHub
Allow grouping API keys together. Grouping per se does nothing. This feature is supposed to be used by other modules to limit access to services or records based on groups of keys.
Camptocamp · LGPL-3
| Series | Status | Details | Code |
|---|---|---|---|
| 16.0 | ✓Installs | · run 2026-08-21 · 16.0.1.0.0 | on GitHub |
| 17.0 | ✓Installs | · run 2026-08-20 · 17.0.1.0.1 | on GitHub |
| 18.0 | ✓Installs | · run 2026-08-19 · 18.0.1.0.0 | on GitHub |
| 19.0 | ✓Installs | · run 2026-08-19 · 19.0.1.0.0 | on GitHub |
| 20.0 | —Not tested | no branch |
Odoo 20.0 dev — development line
A different statement from the table above. There: the module as published, on a released platform. Here: the module’s code with its manifest version mechanically raised, on a platform that has not been released and changes daily.
| Status | Details |
|---|---|
| ✗fails | The same code installs on 19.0; on the development line it does not. The difference belongs to the platform. (import_gone) · failed in a file of ANOTHER module: auth_api_key/hooks.py · version 19.0.1.0.0 → 19.5.1.0.0, code unchanged · run 2026-09-10 · odoo 19.5 · modidx/odoo:master-deps-20260910 |
Log excerpt, 20.0 dev
@tools.ormcache("key")
2026-09-10 20:50:55,548 1 CRITICAL job_96e1493c9e32 odoo.modules.module: Couldn't load module auth_api_key
2026-09-10 20:50:55,562 1 WARNING job_96e1493c9e32 odoo.modules.loading: Transient module states were reset
2026-09-10 20:50:55,564 1 ERROR job_96e1493c9e32 odoo.registry: Failed to load registry
2026-09-10 20:50:55,564 1 CRITICAL job_96e1493c9e32 odoo.service.server: Failed to initialize database `job_96e1493c9e32`.
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/odoo/service/server.py", line 1559, in preload_registries
registry = Registry.new(dbname, update_module=update_module, install_modules=config['init'], upgrade_modules=config['update'], reinit_modules=config['reinit'])
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/odoo/tools/func.py", line 67, in locked
return func(inst, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/odoo/orm/registry.py", line 222, in new
contextvars.Context().run(
File "/usr/lib/python3/dist-packages/odoo/modules/loading.py", line 446, in load_modules
load_module_graph(
File "/usr/lib/python3/dist-packages/odoo/modules/loading.py", line 172, in load_module_graph
load_openerp_module(package.name)
File "/usr/lib/python3/dist-packages/odoo/modules/module.py", line 541, in load_openerp_module
__import__(qualname)
File "/mnt/pool/auth_api_key/__init__.py", line 2, in <module>
from .hooks import post_load_hook
File "/mnt/pool/auth_api_key/hooks.py", line 7, in <module>
from odoo.http import Dispatcher
ImportError: cannot import name 'Dispatcher' from 'odoo.http' (/usr/lib/python3/dist-packages/odoo/http/__init__.py)
2026-09-10 20:50:55,569 1 INFO job_96e1493c9e32 odoo.service.server.ThreadedServer: Initiating shutdown
2026-09-10 20:50:55,569 1 INFO job_96e1493c9e32 odoo.service.server.ThreadedServer: Hit CTRL-C again or send a second signal to force the shutdown.
2026-09-10 20:50:55,569 1 INFO job_96e1493c9e32 odoo.addons.bus.websocket: Disconnecting 0 websockets
2026-09-10 20:50:55,670 1 INFO job_96e1493c9e32 odoo.sql_db: ConnectionPool(read/write;used=0/count=0/max=64): Closed 1 connectionsProvenance: __manifest__.py sha256 6c0d265cfe2001ab… · tree of 20 files without the manifest, sha256 32d08ea492adf833…
This does not say the module is compatible with Odoo 20.0, and does not say it installs on Odoo 20.0 — on a stock platform it will not, until its maintainer raises the version. Why we raise the version
Odoo 20.0 — the branch itself
The same frozen code, run again against the real 20.0 branch. The run above used Odoo’s development line before the branch was cut; this one used the branch, pinned to one commit.
| Status | Details |
|---|---|
| ✗fails | The same code installs on 19.0; on the development line it does not. The difference belongs to the platform. (import_gone) · failed in a file of ANOTHER module: auth_api_key/hooks.py · version 19.0.1.0.0 → 20.0.1.0.0, code unchanged · run 2026-09-18 · odoo 20.0 · modidx/odoo:20.0-deps-20260918 |
Log excerpt, 20.0 dev
@tools.ormcache("key")
2026-09-18 18:35:59,707 1 CRITICAL job_1478ba46fa3d odoo.modules.module: Couldn't load module auth_api_key
2026-09-18 18:35:59,717 1 WARNING job_1478ba46fa3d odoo.modules.loading: Transient module states were reset
2026-09-18 18:35:59,718 1 ERROR job_1478ba46fa3d odoo.registry: Failed to load registry
2026-09-18 18:35:59,718 1 CRITICAL job_1478ba46fa3d odoo.service.server: Failed to initialize database `job_1478ba46fa3d`.
Traceback (most recent call last):
File "/opt/odoo/odoo/service/server.py", line 1520, in preload_registries
registry = Registry.new(dbname, update_module=update_module, install_modules=config['init'], upgrade_modules=config['update'], reinit_modules=config['reinit'])
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/odoo/odoo/tools/func.py", line 67, in locked
return func(inst, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/odoo/odoo/orm/registry.py", line 222, in new
contextvars.Context().run(
File "/opt/odoo/odoo/modules/loading.py", line 449, in load_modules
load_module_graph(
File "/opt/odoo/odoo/modules/loading.py", line 172, in load_module_graph
load_openerp_module(package.name)
File "/opt/odoo/odoo/modules/module.py", line 541, in load_openerp_module
__import__(qualname)
File "/mnt/pool/auth_api_key/__init__.py", line 2, in <module>
from .hooks import post_load_hook
File "/mnt/pool/auth_api_key/hooks.py", line 7, in <module>
from odoo.http import Dispatcher
ImportError: cannot import name 'Dispatcher' from 'odoo.http' (/opt/odoo/odoo/http/__init__.py)
2026-09-18 18:35:59,721 1 INFO job_1478ba46fa3d odoo.service.server.ThreadedServer: Initiating shutdown
2026-09-18 18:35:59,721 1 INFO job_1478ba46fa3d odoo.service.server.ThreadedServer: Hit CTRL-C again or send a second signal to force the shutdown.
2026-09-18 18:35:59,722 1 INFO job_1478ba46fa3d odoo.addons.bus.websocket: Disconnecting 0 websockets
2026-09-18 18:35:59,823 1 INFO job_1478ba46fa3d odoo.sql_db: ConnectionPool(read/write;used=0/count=0/max=64): Closed 1 connectionsProvenance: __manifest__.py sha256 6c0d265cfe2001ab… · tree of 20 files without the manifest, sha256 32d08ea492adf833…
This does not say the module is compatible with Odoo 20.0, and does not say it installs on Odoo 20.0 — on a stock platform it will not, until its maintainer raises the version. Why we raise the version
The module’s code on 19.0
| Lines of code | python 116 · xml 56 |
| Tests | yes: 1 file(s), 46 lines |
| Migration scripts | no |
| Models | 1 new · 1 extensions |
Lines are physical, blanks and comments included, as wc -l. Tests are test_*.py files under tests/. Models are lines holding _name = and _inherit =. These are facts about the code, not a judgement: more lines is neither better nor worse. Measured 2026-08-28 on tree 08e059a5fd40.
The apps.odoo.com catalogue has a listing under the same technical name on 16.0, 17.0, 18.0, 19.0: apps.odoo.com/apps/modules/19.0/auth_api_key_group. A matching name does not prove matching code — how we counted this.
Depends on
| Module | Status | Checked |
|---|---|---|
| auth_api_key | ✓Installs | 2026-08-19 |
Depended on by
1 module on 19.0 declares this one as a dependency.
History
| Last change | 2026-04-22 |
| Code commits, 12 months | 10 |
| Most active | Simone Orsi, Maksym Yankin, thien |
| Files | 21 |
Translation and bot commits are excluded from the commit count.
Result looks wrong? Tell us — we will show the log or run it again. Report a wrong result