Skip to content

[HWORKS-3005] Document the API key scopes - #646

Open
jimdowling wants to merge 7 commits into
logicalclocks:mainfrom
jimdowling:HWORKS-3005-api-key-scopes
Open

[HWORKS-3005] Document the API key scopes#646
jimdowling wants to merge 7 commits into
logicalclocks:mainfrom
jimdowling:HWORKS-3005-api-key-scopes

Conversation

@jimdowling

Copy link
Copy Markdown
Contributor

The API key guide told the reader to "select the required scopes" but nothing in the docs said what any scope grants; the only sources were the @ApiKeyRequired annotations in hopsworks-ee or the scope name inside a 403 320004 error.

Adds user_guides/projects/api_key/api_key_scopes.md: a reference table of every ApiScope and the endpoint groups it unlocks, which scopes are privileged (HOPS_ADMIN only), which scopes each account role may select, the scopes a hops setup key carries, and what the 320004 error looks like. Linked from the create-key guide and the projects index; nav entry under Api Keys.

The hops setup scope list matches logicalclocks/hopsworks-ee#3264 after its 2026-09-03 follow-up commit, which adds KAFKA, PYTHON_LIBRARIES, GIT, TRINO and SUPERSET to the token-flow defaults.

Verification

  • markdownlint-cli2 on the three changed pages: 0 issues.
  • hopsworks-docs check (strict mkdocs build -s, the CI gate): passes locally with the Python client installed from the sibling hopsworks-api checkout.
  • Scope descriptions were derived from the @ApiKeyRequired(acceptedScopes = ...) annotations across every resource under hopsworks-api/src/main/java in hopsworks-ee at the HWORKS-3005 branch head.

🤖 Generated with Claude Code

jimdowling and others added 6 commits May 21, 2026 09:09
https://hopsworks.atlassian.net/browse/HWORKS-3005

The API key guide told the reader to "select the required scopes" but
nothing in the docs said what any scope grants, so the only way to find
out was to read the @ApiKeyRequired annotations in hopsworks-ee or hit a
403 320004 and read the scope name out of the error.

Add a reference page listing every scope with the endpoint groups it
unlocks, which scopes are privileged, which scopes each account role may
select, the scopes hops setup grants, and what the 320004 error looks
like. Link it from the create-key guide and the projects index, and add
it to the nav under Api Keys.

Signed-off-by: Jim Dowling <jim@logicalclocks.com>
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
https://hopsworks.atlassian.net/browse/HWORKS-3005

The command blocks in .claude/CLAUDE.md (AGENTS.md is a symlink to it)
and .claude/docs/README.md still installed from a requirements-docs.txt
that no longer exists and built with a hand-made docs/javadoc stub, which
fails strict mode with a nav warning. CI uses the repo's own uv project
and hopsworks-docs CLI, so list those: uv sync --extra cli, the sibling
hopsworks-api install, and hopsworks-docs check / serve / markdownlint /
snakeoil / linkchecker.

Signed-off-by: Jim Dowling <jim@logicalclocks.com>
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
https://hopsworks.atlassian.net/browse/HWORKS-3005

hopsworks-ee removes both scopes, since no endpoint ever accepted them,
so the reference no longer lists them as reserved and the service-user
row no longer excludes KUBE.

Signed-off-by: Jim Dowling <jim@logicalclocks.com>
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@jimdowling
jimdowling marked this pull request as ready for review September 3, 2026 11:30
…-scopes

# Conflicts:
#	.claude/CLAUDE.md
#	.claude/docs/README.md
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant