Create project role assignment

Grants a user or group an explicit role on a project. Returns 409 if that principal already has an explicit assignment on the project.Set principalType to user or group:- `user`: principalId is the user email (string) - `group`: principalId is the group id (positive integer)Assign to a user: ``json { "principalType": "user", "principalId": "alice@company.com", "projectId": 187520, "roleId": "3fa85f64-5717-4562-b3fc-2c963f66afa6" } ``Assign to a group: ``json { "principalType": "group", "principalId": 42, "projectId": 187520, "roleId": "3fa85f64-5717-4562-b3fc-2c963f66afa6" } ``

post/user-management/1/project-role-assignments

Authorizations

Authorizationstringrequired

Contact Amplitude Support to obtain your organization's org API key and org secret key.Send them as HTTP Basic credentials on every request: org API key in the username field, org secret key in the password field. Also include orgId as a query parameter for your organization.401: invalid credentials. 403 (org_not_enrolled): your organization is not enabled for this API.

Query parameters

orgIdintegerrequired

Organization id for the authenticated API caller. Must match the organization tied to the org key pair in the Authorization header.

Constraints:min: 1

Body

application/json
projectIdintegerrequired
Constraints:min: 0
roleIdstringrequired
Constraints:format: uuid
principalTypestringrequired
Allowed values:group
principalIdintegerrequired
Constraints:min: 0

Response

application/json
201· Project role assignment created
idstringrequired
Constraints:min length: 1
principalTypestringrequired

Whether the assignment targets an individual user (user) or a group (group)

Allowed values:usergroup
Example:user
principalIdstringrequired
Constraints:min length: 1
projectIdintegerrequired
Constraints:min: 0
roleIdstringrequired
Constraints:format: uuid
400· Invalid request parameters or body
typestringrequired

RFC 7807 problem type URI

Constraints:format: uri
titlestringrequired
statusintegerrequired
detailstring
Constraints:nullable
instancestring
Constraints:nullable
error_codestringrequired
Allowed values:invalid_requestauthentication_requiredinsufficient_permissionsorg_id_mismatchorg_not_enrollednot_foundconflictrate_limitedinternal_error
retryablebooleanrequired
retry_after_secondsinteger
Constraints:nullable
401· Missing or invalid credentials
typestringrequired

RFC 7807 problem type URI

Constraints:format: uri
titlestringrequired
statusintegerrequired
detailstring
Constraints:nullable
instancestring
Constraints:nullable
error_codestringrequired
Allowed values:invalid_requestauthentication_requiredinsufficient_permissionsorg_id_mismatchorg_not_enrollednot_foundconflictrate_limitedinternal_error
retryablebooleanrequired
retry_after_secondsinteger
Constraints:nullable
403· Not allowed (org not enrolled, orgId mismatch, or insufficient permissions)
typestringrequired

RFC 7807 problem type URI

Constraints:format: uri
titlestringrequired
statusintegerrequired
detailstring
Constraints:nullable
instancestring
Constraints:nullable
error_codestringrequired
Allowed values:invalid_requestauthentication_requiredinsufficient_permissionsorg_id_mismatchorg_not_enrollednot_foundconflictrate_limitedinternal_error
retryablebooleanrequired
retry_after_secondsinteger
Constraints:nullable
409· This user or group already has an explicit role assignment on this project
typestringrequired

RFC 7807 problem type URI

Constraints:format: uri
titlestringrequired
statusintegerrequired
detailstring
Constraints:nullable
instancestring
Constraints:nullable
error_codestringrequired
Allowed values:invalid_requestauthentication_requiredinsufficient_permissionsorg_id_mismatchorg_not_enrollednot_foundconflictrate_limitedinternal_error
retryablebooleanrequired
retry_after_secondsinteger
Constraints:nullable
429· Rate limit exceeded
typestringrequired

RFC 7807 problem type URI

Constraints:format: uri
titlestringrequired
statusintegerrequired
detailstring
Constraints:nullable
instancestring
Constraints:nullable
error_codestringrequired
Allowed values:invalid_requestauthentication_requiredinsufficient_permissionsorg_id_mismatchorg_not_enrollednot_foundconflictrate_limitedinternal_error
retryablebooleanrequired
retry_after_secondsinteger
Constraints:nullable
500· Unexpected server error
typestringrequired

RFC 7807 problem type URI

Constraints:format: uri
titlestringrequired
statusintegerrequired
detailstring
Constraints:nullable
instancestring
Constraints:nullable
error_codestringrequired
Allowed values:invalid_requestauthentication_requiredinsufficient_permissionsorg_id_mismatchorg_not_enrollednot_foundconflictrate_limitedinternal_error
retryablebooleanrequired
retry_after_secondsinteger
Constraints:nullable

Was this helpful?