Workspace organization and access API
Private native-backend pilot, reviewed 21 September 2026. Not a stable public SDK or an OSDU partition API. These browser endpoints require a session, CSRF proof, trusted Origin/Host and a bounded JSON request.
| POST route | Fields | Permission and behavior |
|---|---|---|
/api/workspace/list |
None | Signed-in caller’s visible organizations and native projects |
/api/workspace/create |
id, name | Provisioned global creator creates an organization |
/api/workspace/detail |
organization_id | Member reads organization metadata |
/api/workspace/member |
organization_id, user_id, role or remove | Owner manages membership; last-owner protection; members may leave |
/api/workspace/project-create |
organization_id, id, name | Owner atomically creates and associates a project with their initial admin/publish/compute grant; no global promotion |
/api/workspace/bind |
organization_id, project_id | Organization owner and project admin associate an existing project; no silent transfer |
/api/access/effective |
project_id | Effective project admin sees grants, blocks and effective permissions |
/api/access/block |
project_id, user_id, blocked | Project admin blocks/unblocks one account; last effective enabled admin protected |
/api/workspace/access-preview |
organization_id, user_id | Owner previews grants in inspectable projects; unknown scopes remain explicit |
/api/workspace/offboard |
organization_id, user_id, confirm:true | Owner with every project-admin scope atomically removes membership and blocks access to all currently associated projects |
Project creation accepts an ASCII letter/digit/hyphen/underscore identifier of 1–128 characters and a nonempty name of at most 120 characters/160 UTF-8 bytes. Retry the same project ID/name as the same owner after a lost response. Conflicting reuse fails. The operation does not set the user’s global creation capability.
Blocking deletes direct/admin grants and suppresses inherited team grants inside the native authority. Re-granting direct membership cannot override a block. Unblocking restores eligibility for existing team grants, not deleted direct grants. Offboarding is bounded to 256 projects and fails atomically if any permission or last-administrator check fails. It does not revoke global sessions, change team rosters, remove access elsewhere or recall exported copies. Newly associated projects need another review. Self-offboarding requires another owner.
Organization membership alone still grants no scientific access. Membership-only removal remains distinct from offboarding. Archive/restore controls listing rather than data retention or permissions. Deletion/transfer are not implemented here.
See the user workflow, invitation and foundation scope and scientific description API.
