func (s *SCIMService) ProvisionAndInviteSCIMUser(ctx context.Context, org string, opts *SCIMUserAttributes) (*Response, error) {
	u := fmt.Sprintf("scim/v2/organizations/%v/Users", org)
	u, err := addOptions(u, opts)
	if err != nil {
		return nil, err
	}
	req, err := s.client.NewRequest("POST", u, nil)
	if err != nil {
		return nil, err
	}
	return s.client.Do(ctx, req, nil)
}
ProvisionAndInviteSCIMUser provisions organization membership for a user, and sends an activation email to the email address.

GitHub API docs: https://docs.github.com/en/rest/reference/scim#provision-and-invite-a-scim-user
package github
import (
	"context"
	"encoding/json"
	"fmt"
)
type SCIMService service
type SCIMUserAttributes struct {
	UserName    string           `json:"userName"`               
	Name        SCIMUserName     `json:"name"`                   
	DisplayName *string          `json:"displayName,omitempty"`  
	Emails      []*SCIMUserEmail `json:"emails"`                 
	Schemas     []string         `json:"schemas,omitempty"`      
	ExternalID  *string          `json:"externalId,omitempty"`   
	Groups      []string         `json:"groups,omitempty"`       
	Active      *bool            `json:"active,omitempty"`       
}
type SCIMUserName struct {
	GivenName  string  `json:"givenName"`            
	FamilyName string  `json:"familyName"`           
	Formatted  *string `json:"formatted,omitempty"`  
}
type SCIMUserEmail struct {
	Value   string  `json:"value"`              
	Primary *bool   `json:"primary,omitempty"`  
	Type    *string `json:"type,omitempty"`     
}
type ListSCIMProvisionedIdentitiesOptions struct {
	StartIndex *int `json:"startIndex,omitempty"`  
	Count      *int `json:"count,omitempty"`       
	Filter *string `json:"filter,omitempty"`
}
func (s *SCIMService) ListSCIMProvisionedIdentities(ctx context.Context, org string, opts *ListSCIMProvisionedIdentitiesOptions) (*Response, error) {
	u := fmt.Sprintf("scim/v2/organizations/%v/Users", org)
	u, err := addOptions(u, opts)
	if err != nil {
		return nil, err
	}
	req, err := s.client.NewRequest("GET", u, nil)
	if err != nil {
		return nil, err
	}
	return s.client.Do(ctx, req, nil)
}