## SetRole `client.Organizations.SetRole(ctx, body) (*OrganizationSetRoleResponse, error)` **post** `/gitpod.v1.OrganizationService/SetRole` Manages organization membership and roles by setting a user's role within the organization. Use this method to: - Promote members to admin role - Change member permissions - Demote admins to regular members ### Examples - Promote to admin: Makes a user an organization administrator. ```yaml organizationId: "b0e12f6c-4c67-429d-a4a6-d9838b5da047" userId: "f53d2330-3795-4c5d-a1f3-453121af9c60" role: ORGANIZATION_ROLE_ADMIN ``` - Change to member: Changes a user's role to regular member. ```yaml organizationId: "b0e12f6c-4c67-429d-a4a6-d9838b5da047" userId: "f53d2330-3795-4c5d-a1f3-453121af9c60" role: ORGANIZATION_ROLE_MEMBER ``` ### Parameters - `body OrganizationSetRoleParams` - `OrganizationID param.Field[string]` - `UserID param.Field[string]` - `Role param.Field[OrganizationRole]` ### Returns - `type OrganizationSetRoleResponse interface{…}` ### Example ```go package main import ( "context" "fmt" "github.com/gitpod-io/gitpod-sdk-go" "github.com/gitpod-io/gitpod-sdk-go/option" "github.com/gitpod-io/gitpod-sdk-go/shared" ) func main() { client := gitpod.NewClient( option.WithBearerToken("My Bearer Token"), ) response, err := client.Organizations.SetRole(context.TODO(), gitpod.OrganizationSetRoleParams{ OrganizationID: gitpod.F("b0e12f6c-4c67-429d-a4a6-d9838b5da047"), UserID: gitpod.F("f53d2330-3795-4c5d-a1f3-453121af9c60"), Role: gitpod.F(shared.OrganizationRoleMember), }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", response) } ``` #### Response ```json {} ```