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

16.0✓Installs
17.0✓Installs
18.0✓Installs
19.0✓Installs
20.0×Not in this series
SeriesStatusDetailsCode
16.0✓Installs · run 2026-08-21 · 16.0.1.0.0on GitHub
17.0✓Installs · run 2026-08-20 · 17.0.1.0.1on GitHub
18.0✓Installs · run 2026-08-19 · 18.0.1.0.0on GitHub
19.0✓Installs · run 2026-08-19 · 19.0.1.0.0on GitHub
20.0—Not testedno 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.

StatusDetails
✗failsThe 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 connections

Provenance: __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.

StatusDetails
✗failsThe 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 connections

Provenance: __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 codepython 116 · xml 56
Testsyes: 1 file(s), 46 lines
Migration scriptsno
Models1 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

ModuleStatusChecked
auth_api_key✓Installs2026-08-19

Depended on by

1 module on 19.0 declares this one as a dependency.

History

Last change2026-04-22
Code commits, 12 months10
Most activeSimone Orsi, Maksym Yankin, thien
Files21

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

Get told when this module changes state

Data updated 2026-10-07 13:00 UTC · build 4aa2dbe · we publish the install log with a date, not a vendor rating · CSV and JSON are open

Questions or a wrong result: open an issue or hello@allservices.one

Privacy · Terms

Independent project. Not affiliated with Odoo S.A. or the Odoo Community Association.