IQSS / IQSS/dataverse

Feature Request: Return permissions from My Data API

Open
#12,619 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Type: Feature
Dominant language
Java
Stars
1.1k
Forks
564
Avg merge
2d 2h
Merged PRs (30d)
29

Description

Overview of the Feature Request

Enhance the GET api/mydata/retrieve API response so that each returned dataset includes a permissions object describing the effective permissions available through the user’s assigned roles.

Currently, the API returns role names as strings.

Image

API clients must understand Dataverse role definitions and duplicate backend logic to determine what those roles allow the user to do. This request proposes exposing the resolved permissions directly in the response, so clients can use the permission information without reimplementing Dataverse’s role-to-permission mapping.

What kind of user is the feature intended for?
(Example users roles: API User, Curator, Depositor, Guest, Superuser, Sysadmin)

API Users, SPA?

What inspired the request?

The current response includes the user’s roles for each returned dataset, but only as role names. Since roles are configurable in Dataverse, API clients cannot reliably infer permissions from role names alone unless they duplicate the internal mapping from role names to permissions. This creates unnecessary complexity.

What existing behavior do you want changed?

For each dataset returned by GET api/mydata/retrieve, keep the existing role information but add a structured permissions object that lists the permissions granted to the user for that dataset (same format as userPermissions API).

Image

Any open or closed issues related to this feature request?

None as far as I know.

Are you thinking about creating a pull request for this feature?
Help is always welcome, is this feature something you or your organization plan to implement?

Yes, we are open to that

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the GET api/mydata/retrieve endpoint and compare its current role-name response with the format returned by the userPermissions API. Trace how effective permissions are resolved for each dataset, then confirm that the response preserves roles and adds a structured permissions object matching that format.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
api, authorization
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.