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,
which takes a seat; only a workspace admin’s add can buy that seat (
purchase_seat)
Role must be a valid project role: full_access, editor, commenter, downloader, viewer
Authorizations
Aspect API key (sk_...) in Authorization header. 'Bearer ' 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 On Pro with no open seat, when the person is new to the workspace and the caller is a workspace admin, buy one seat (prorated, charged now) before adding; ignored otherwise
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)