Add User To Project
Add a user to a project with the specified role.
If the user doesn’t exist, a stub user is created with the email. Stub users have external_id=None until they sign up.
Requirements:
- Requires FULL_ACCESS on the project
- Cannot set project permissions for workspace owners (they always have full access)
- If the user doesn’t have workspace access, auto-creates member_limited workspace permission
Role must be a valid project role: full_access, editor, commenter, downloader, viewer
Authorizations
JWT in Authorization header. 'Bearer ' prefix optional.
Path Parameters
Body
API request schema for adding a user to a project.
If the email belongs to an unregistered user, a stub user will be created.
Note: NO_ACCESS role is only valid for MEMBER users (to block their default access). For MEMBER_LIMITED users, NO_ACCESS is invalid since they already have no access without explicit permission. This constraint is enforced at the route handler level.
Email of the user to add to project
Role to assign to the user (must be a project role: full_access, editor, commenter, downloader, viewer; no_access only valid for MEMBER users)
owner, member, member_limited, full_access, editor, commenter, downloader, viewer, no_access Response
Successful Response
API response schema for a user with project access.
User ID
User's first name
User's last name
User's email address
User's effective role on this project
owner, member, member_limited, full_access, editor, commenter, downloader, viewer, no_access Permission bitmap derived from role
User's workspace role (for determining editability)
owner, member, member_limited, full_access, editor, commenter, downloader, viewer, no_access True if user has explicit permission on this project
User's avatar URL
External user ID from auth provider (None for stub users)

