Clerk API allows specifying private and public metadata according to the API docs. However, this is not possible in Golang SDK:
https://github.com/clerk/clerk-sdk-go/blob/v2/organizationmembership/client.go#L28-L33
type CreateParams struct {
clerk.APIParams
UserID *string `json:"user_id,omitempty"`
Role *string `json:"role,omitempty"`
OrganizationID string `json:"-"`
}
Golang SDK is also missing the metadata endpoint to merge and update organization membership metadata specified in the docs