6.13. Iris¶
6.13.1. Spaces API: Iris Integration and User Filtering¶
The /api/spaces/
endpoint now supports filtering spaces by username to determine what spaces a user can access. This feature allows Hub Admins to query a user’s space access based on their group memberships and permissions.
Additionally, spaces and their associated sites are marked with an iris field to indicate whether they are Versity S3 presented.
6.13.2. Iris state¶
iris: true - The space (and its associated sites) is Versity S3 presented.
iris: false - The space is not Versity S3 presented.
6.13.3. Filtering Spaces by Username¶
This functionality is gated behind the iris-beta
feature flag.
See feature flags for more information.
To Enable the feature
ngclient features enable iris-beta
6.13.4. REST API¶
GET /api/spaces/?username=<target_username>
The authenticated user must have admin privileges.
When username is not provided, the API returns spaces for the authenticated user by default.
6.13.5. Example Response with Iris Spaces¶
{
"count": 1,
"next": null,
"previous": null,
"results": [
{
"url": "http://10.201.2.195:8000/api/spaces/2/",
"id": 2,
"uuid": "67d887c4-50c6-40f1-95f5-f1c346b12494",
"name": "space-67",
"mountpoint": "/mmfs1/data/space-67",
"sites": [
{
"id": 2,
"name": "siteA",
"label": "siteA",
"pool": "sas1",
"usage": null,
"iris": true
},
],
"created": "2025-06-17T11:05:41.815258Z",
"size": 10737418240,
"snapshot_schedule": {
"id": 1,
"frequency": "1 00:00:00",
"time": "00:05:00",
"duration": "7 00:00:00",
"space": 2
},
"on_sites": {
"qatest-pmohanraja-smoketest-siteA": {
"name": "space-67",
"size": 10737418240,
"present": true
}
},
"immutable": false,
"editable": true,
"color": [191, 99, 64],
"permission_mode": null,
"relationships": {
"shares": [],
"policies": [],
"schedules": []
},
"nested_shares": {
"samba": [],
"nfs": []
},
"is_ready": true
}
]
}
6.13.6. Example Response When User Has No Accessible Spaces¶
{
"count": 0,
"next": null,
"previous": null,
"results": []
}
6.13.7. Summary¶
Returns spaces for the authenticated user if username is not provided.
Returns empty result if the target user does not exist.
Returns empty result if the user exists but has no group memberships.
Returns empty result if user’s groups do not have view_space permission.
Returns all spaces where user’s groups have view_space permission.
Supports additional filtering by site_id when both username and site_id are provided.