# Update One MongoDB Cloud User in One Organization **PATCH /api/atlas/v2/orgs/{orgId}/users/{userId}** Updates one MongoDB Cloud user in the specified organization. You can update an active user or a user that has not yet accepted the invitation to join the organization. **Note**: Only include the fields you wish to update in the request body. Supplying a field with an empty value will reset that field on the user. **Note**: This resource cannot be used to update pending users invited via the deprecated Invite One MongoDB Cloud User to Join One Project endpoint. ## Role requirements - Organization Owner [Deprecated: Invite One MongoDB Cloud User to Join One Project](https://www.mongodb.com/docs/atlas/reference/api-resources-spec/v2/#tag/Projects/operation/createProjectInvitation) ## Servers - https://cloud.mongodb.com: https://cloud.mongodb.com () ## Authentication methods - Service accounts - Digest auth ## Parameters ### Path parameters - **orgId** (string) Unique 24-hexadecimal digit string that identifies the organization that contains your projects. Use the [`/orgs`](#tag/Organizations/operation/listOrganizations) endpoint to retrieve all organizations to which the authenticated user has access. - **userId** (string) Unique 24-hexadecimal digit string that identifies the pending or active user in the organization. If you need to lookup a user's `userId` or verify a user's status in the organization, use the Return All MongoDB Cloud Users in One Organization resource and filter by `username`. ### Query parameters - **envelope** (boolean) Flag that indicates whether Application wraps the response in an `envelope` JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body. - **pretty** (boolean) Flag that indicates whether the response body should be in the prettyprint format. ### Body: application/vnd.atlas.2025-02-19+json (object) Represents the roles and teams to assign the MongoDB Cloud user. - **roles** (object) Organization and project level roles to assign the MongoDB Cloud user within one organization. - **teamIds** (array[string]) List of unique 24-hexadecimal digit strings that identifies the teams to assign the MongoDB Cloud user. ## Responses ### 200 OK #### Headers - **RateLimit-Limit** () The maximum number of requests that a user can make within a specific time window. - **RateLimit-Remaining** () The number of requests remaining in the current rate limit window before the limit is reached. #### Body: application/vnd.atlas.2025-02-19+json (object) - **id** (string) Unique 24-hexadecimal digit string that identifies the MongoDB Cloud user. - **orgMembershipStatus** (string) String enum that indicates the user's organization membership status: ACTIVE (member), PENDING (invited), `INVITATION_EXPIRED` (invitation expired), or `INVITATION_REJECTED` (invitation declined). - **roles** (object) Organization- and project-level roles assigned to one MongoDB Cloud user within one organization. - **teamIds** (array[string]) List of unique 24-hexadecimal digit strings that identifies the teams to which this MongoDB Cloud user belongs. - **username** (string(email)) Email address that represents the username of the MongoDB Cloud user. - **invitationCreatedAt** (string(date-time)) Date and time when MongoDB Cloud sent the invitation. MongoDB Cloud represents this timestamp in ISO 8601 format in UTC. This field is absent for active users. - **invitationExpiresAt** (string(date-time) | null) Date and time when the invitation from MongoDB Cloud expires. MongoDB Cloud represents this timestamp in ISO 8601 format in UTC. This field is absent for active users and null for rejected invitations. - **inviterUsername** (string(email)) Username of the MongoDB Cloud user who sent the invitation to join the organization. ### 400 Bad Request. #### Body: application/json (object) - **badRequestDetail** (object | null) Bad request detail. - **detail** (string | null) Describes the specific conditions or reasons that cause each type of error. - **error** (integer(int32)) HTTP status code returned with this error. - **errorCode** (string) Application error code returned with this error. - **parameters** (array[object]) Parameters used to give more information about the error. - **reason** (string | null) Application error message returned with this error. ### 401 Unauthorized. #### Body: application/json (object) - **badRequestDetail** (object | null) Bad request detail. - **detail** (string | null) Describes the specific conditions or reasons that cause each type of error. - **error** (integer(int32)) HTTP status code returned with this error. - **errorCode** (string) Application error code returned with this error. - **parameters** (array[object]) Parameters used to give more information about the error. - **reason** (string | null) Application error message returned with this error. ### 403 Forbidden. #### Body: application/json (object) - **badRequestDetail** (object | null) Bad request detail. - **detail** (string | null) Describes the specific conditions or reasons that cause each type of error. - **error** (integer(int32)) HTTP status code returned with this error. - **errorCode** (string) Application error code returned with this error. - **parameters** (array[object]) Parameters used to give more information about the error. - **reason** (string | null) Application error message returned with this error. ### 404 Not Found. #### Body: application/json (object) - **badRequestDetail** (object | null) Bad request detail. - **detail** (string | null) Describes the specific conditions or reasons that cause each type of error. - **error** (integer(int32)) HTTP status code returned with this error. - **errorCode** (string) Application error code returned with this error. - **parameters** (array[object]) Parameters used to give more information about the error. - **reason** (string | null) Application error message returned with this error. ### 429 Too Many Requests. #### Headers - **RateLimit-Limit** () The maximum number of requests that a user can make within a specific time window. - **RateLimit-Remaining** () The number of requests remaining in the current rate limit window before the limit is reached. - **Retry-After** () The minimum time you should wait, in seconds, before retrying the API request. This header might be returned for 429 or 503 error responses. #### Body: application/json (object) - **badRequestDetail** (object | null) Bad request detail. - **detail** (string | null) Describes the specific conditions or reasons that cause each type of error. - **error** (integer(int32)) HTTP status code returned with this error. - **errorCode** (string) Application error code returned with this error. - **parameters** (array[object]) Parameters used to give more information about the error. - **reason** (string | null) Application error message returned with this error. ### 500 Internal Server Error. #### Body: application/json (object) - **badRequestDetail** (object | null) Bad request detail. - **detail** (string | null) Describes the specific conditions or reasons that cause each type of error. - **error** (integer(int32)) HTTP status code returned with this error. - **errorCode** (string) Application error code returned with this error. - **parameters** (array[object]) Parameters used to give more information about the error. - **reason** (string | null) Application error message returned with this error. [Powered by Bump.sh](https://bump.sh)