Skip to content

[OPIK-5535] Fix 403 on get_blueprint() when resolving project by name#6051

Merged
ldaugusto merged 2 commits intomainfrom
daniela/opik-5535-retrieve-project-403
Apr 2, 2026
Merged

[OPIK-5535] Fix 403 on get_blueprint() when resolving project by name#6051
ldaugusto merged 2 commits intomainfrom
daniela/opik-5535-retrieve-project-403

Conversation

@ldaugusto
Copy link
Copy Markdown
Contributor

Details

get_blueprint() calls POST /v1/private/projects/retrieve to resolve a project name to its ID. This endpoint was missing from the PUBLIC_ENDPOINTS whitelist in RemoteAuthService, causing a 403 Forbidden for users with viewer/public access — even though the project was accessible via all other (GET-based) API paths.

The equivalent POST /v1/private/datasets/retrieve was already whitelisted. This adds the same for projects.

Change checklist

  • User facing
  • Documentation update

Issues

  • OPIK-5535

AI-WATERMARK

AI-WATERMARK: yes

  • If yes:
    • Tools: Claude Code
    • Model(s): Claude Opus 4.6
    • Scope: one-line fix
    • Human verification: root cause confirmed by tracing SDK call path to missing whitelist entry

Testing

One-line addition to a static whitelist — no new runtime behavior to test beyond existing auth integration tests.

Documentation

No documentation changes needed.

The SDK's get_blueprint() resolves project name to ID via
POST /v1/private/projects/retrieve, but this endpoint was missing
from the PUBLIC_ENDPOINTS whitelist — causing 403 for users with
viewer/public access. The equivalent datasets/retrieve endpoint
was already whitelisted.
@ldaugusto ldaugusto requested a review from a team as a code owner April 2, 2026 10:23
@github-actions github-actions bot added java Pull requests that update Java code Backend labels Apr 2, 2026
…ace test

Add verifyVisibility check to ProjectService.retrieveByName(),
consistent with getById(). Without this, the newly public
projects/retrieve endpoint would expose private projects to
unauthenticated users falling back to Visibility.PUBLIC.

Add test verifying that retrieving a project by name from a different
workspace returns 404.
@github-actions github-actions bot added the tests Including test files, or tests related like configuration. label Apr 2, 2026
@ldaugusto ldaugusto merged commit 7511a9a into main Apr 2, 2026
84 of 86 checks passed
@ldaugusto ldaugusto deleted the daniela/opik-5535-retrieve-project-403 branch April 2, 2026 12:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Backend java Pull requests that update Java code tests Including test files, or tests related like configuration.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants