Skip to content
DocsOpenAPI spec

    Update Organization Membership

    client.Organizations.Memberships.Update(ctx, organizationID, membershipID, body) (*OrganizationMembership, error)
    PATCH/v1/organizations/{organization_id}/memberships/{membership_id}

    Change the role of a member of an organization. Owners may assign any role. Admins may assign admin, billing or member, and cannot change the role of an owner. The last owner cannot be demoted, and members cannot change their own role except for an owner stepping down while another owner remains.

    ParametersExpand Collapse
    organizationID string
    membershipID string
    body MembershipUpdateParams
    Role param.Field[MembershipUpdateParamsRole]

    Role of the user in the organization.

    const MembershipUpdateParamsRoleOwner MembershipUpdateParamsRole = "owner"
    const MembershipUpdateParamsRoleAdmin MembershipUpdateParamsRole = "admin"
    const MembershipUpdateParamsRoleBilling MembershipUpdateParamsRole = "billing"
    const MembershipUpdateParamsRoleMember MembershipUpdateParamsRole = "member"
    ReturnsExpand Collapse
    type OrganizationMembership struct{…}

    Organization membership details.

    ID string

    Membership ID.

    CreatedAt Time

    When the membership was created.

    formatdate-time
    OrganizationID string

    Organization ID.

    Role OrganizationMembershipRole

    Role of the user in the organization.

    One of the following:
    const OrganizationMembershipRoleOwner OrganizationMembershipRole = "owner"
    const OrganizationMembershipRoleAdmin OrganizationMembershipRole = "admin"
    const OrganizationMembershipRoleBilling OrganizationMembershipRole = "billing"
    const OrganizationMembershipRoleMember OrganizationMembershipRole = "member"
    UpdatedAt Time

    When the membership was updated.

    formatdate-time
    UserID string

    User ID.

    Update Organization Membership

    package main
    
    import (
      "context"
      "fmt"
    
      "github.com/nirvana-labs/nirvana-go"
      "github.com/nirvana-labs/nirvana-go/option"
      "github.com/nirvana-labs/nirvana-go/organizations"
    )
    
    func main() {
      client := nirvana.NewClient(
        option.WithAPIKey("My API Key"),
      )
      organizationMembership, err := client.Organizations.Memberships.Update(
        context.TODO(),
        "organization_id",
        "membership_id",
        organizations.MembershipUpdateParams{
          Role: organizations.MembershipUpdateParamsRoleOwner,
        },
      )
      if err != nil {
        panic(err.Error())
      }
      fmt.Printf("%+v\n", organizationMembership.ID)
    }
    
    {
      "id": "987e6543-e89b-12d3-a456-426614174000",
      "created_at": "2025-01-01T00:00:00Z",
      "organization_id": "123e4567-e89b-12d3-a456-426614174000",
      "role": "owner",
      "updated_at": "2025-01-01T00:00:00Z",
      "user_id": "456e7890-e89b-12d3-a456-426614174000"
    }
    Returns Examples
    {
      "id": "987e6543-e89b-12d3-a456-426614174000",
      "created_at": "2025-01-01T00:00:00Z",
      "organization_id": "123e4567-e89b-12d3-a456-426614174000",
      "role": "owner",
      "updated_at": "2025-01-01T00:00:00Z",
      "user_id": "456e7890-e89b-12d3-a456-426614174000"
    }