YM REST Services

<back to all web services

MemberGroups

Requires Authentication
Requires any of the roles:admin, oauthadmin, member, oauthmember
The following routes are available for this service:
POST/Ams/{ClientID}/MemberGroupsCreate relationships between the supplied Member ID and Group Code.There are three types of relationships that may be created for a group: Member, Administrator and Representative. When adding a member to a group as a member, 'IsPrimaryGroup' should be specified. When adding a member to a group as a 'Representative', a Title should be specified in the 'AddGroupRepTitle' argument. If the title does not exist, it will be created automatically.
PUT/Ams/{ClientID}/MemberGroupsRemove relationships between the supplied Member ID and Group Code.There are three types of relationships that may be removed for a group: Member, Administrator and Representative. When removing a member from a group as a 'Representative', a 'Title' should be specified.
GET/Ams/{ClientID}/Member/{MemberID}/GroupsReturn a list of groups for a member.
MemberGroups Parameters:
NameParameterData TypeRequiredDescription
PageNumberbodyintNo
PageSizebodyintNo
OffSetbodyintNo
StatusbodyStatusNo

Allowable Values

  • None
  • Joined
  • Pending
  • NotJoined
  • JoinedOrPending
GroupTypeIdbodyintNo
SearchTermbodystringNo
AddAsMemberbodybool?No
IsPrimaryGroupbodybool?No
AddAsGroupAdminbodybool?No
AddGroupRepTitlebodystringNo
RemoveAsMemberbodybool?No
RemoveAsGroupAdminbodybool?No
RemoveGroupRepTitlebodystringNo
IDbodyint?No
GroupCodebodystringNo
MemberBaseSharedDto Parameters:
NameParameterData TypeRequiredDescription
MemberIDformintNo
BaseSharedDto Parameters:
NameParameterData TypeRequiredDescription
ClientIDformintNo
ResponseStatusformResponseStatusNo
BypassCacheformboolNo
DateCachedformDateTimeNo
DeviceformDeviceNo
MemberGroupsResponse Parameters:
NameParameterData TypeRequiredDescription
GroupTypeListformList<GroupType>No
GroupType Parameters:
NameParameterData TypeRequiredDescription
IdformintNo
TypeNameformstringNo
SortIndexformdouble?No
GroupsformList<Group>No
Group Parameters:
NameParameterData TypeRequiredDescription
IdformintNo
NameformstringNo
StatusformStatus?No
JoinOptionformJoinOption?No

To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv

HTTP + JSV

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /Ams/{ClientID}/MemberGroups HTTP/1.1 
Host: ws.yourmembership.com 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	PageNumber: 0,
	PageSize: 0,
	OffSet: 0,
	Status: None,
	GroupTypeId: 0,
	SearchTerm: String,
	AddAsMember: False,
	IsPrimaryGroup: False,
	AddAsGroupAdmin: False,
	AddGroupRepTitle: String,
	RemoveAsMember: False,
	RemoveAsGroupAdmin: False,
	RemoveGroupRepTitle: String,
	ID: 0,
	GroupCode: String,
	MemberID: 0,
	ClientID: 0,
	ResponseStatus: 
	{
		ErrorCode: String,
		Message: String,
		StackTrace: String,
		Errors: 
		[
			{
				ErrorCode: String,
				FieldName: String,
				Message: String,
				Meta: 
				{
					String: String
				}
			}
		],
		Meta: 
		{
			String: String
		}
	},
	BypassCache: False,
	DateCached: 2024-05-03T02:12:31.1833824-04:00,
	Device: Desktop
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	GroupTypeList: 
	[
		{
			Id: 0,
			TypeName: String,
			SortIndex: 0,
			Groups: 
			[
				{
					Id: 0,
					Name: String,
					Status: None,
					JoinOption: CanJoin
				}
			]
		}
	],
	PageNumber: 0,
	PageSize: 0,
	OffSet: 0,
	Status: None,
	GroupTypeId: 0,
	SearchTerm: String,
	AddAsMember: False,
	IsPrimaryGroup: False,
	AddAsGroupAdmin: False,
	AddGroupRepTitle: String,
	RemoveAsMember: False,
	RemoveAsGroupAdmin: False,
	RemoveGroupRepTitle: String,
	ID: 0,
	GroupCode: String,
	MemberID: 0,
	ClientID: 0,
	ResponseStatus: 
	{
		ErrorCode: String,
		Message: String,
		StackTrace: String,
		Errors: 
		[
			{
				ErrorCode: String,
				FieldName: String,
				Message: String,
				Meta: 
				{
					String: String
				}
			}
		],
		Meta: 
		{
			String: String
		}
	},
	BypassCache: False,
	DateCached: 2024-05-03T02:12:31.2074290-04:00,
	Device: Desktop
}