| Requires any of the roles: | admin, oauthadmin, member, oauthmember |
| POST | /Ams/{ClientID}/MemberGroups | Create 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}/MemberGroups | Remove 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}/Groups | Return a list of groups for a member. |
| Name | Parameter | Data Type | Required | Description |
|---|---|---|---|---|
| PageNumber | body | int | No | |
| PageSize | body | int | No | |
| OffSet | body | int | No | |
| Status | body | Status | No | Allowable Values
|
| GroupTypeId | body | int | No | |
| SearchTerm | body | string | No | |
| AddAsMember | body | bool? | No | |
| IsPrimaryGroup | body | bool? | No | |
| AddAsGroupAdmin | body | bool? | No | |
| AddGroupRepTitle | body | string | No | |
| RemoveAsMember | body | bool? | No | |
| RemoveAsGroupAdmin | body | bool? | No | |
| RemoveGroupRepTitle | body | string | No | |
| ID | body | int? | No | |
| GroupCode | body | string | No |
| Name | Parameter | Data Type | Required | Description |
|---|---|---|---|---|
| MemberID | form | int | No |
| Name | Parameter | Data Type | Required | Description |
|---|---|---|---|---|
| ClientID | form | int | No | |
| ResponseStatus | form | ResponseStatus | No | |
| BypassCache | form | bool | No | |
| DateCached | form | DateTime | No | |
| Device | form | Device | No |
| Name | Parameter | Data Type | Required | Description |
|---|---|---|---|---|
| GroupTypeList | form | List<GroupType> | No |
| Name | Parameter | Data Type | Required | Description |
|---|---|---|---|---|
| Id | form | int | No | |
| TypeName | form | string | No | |
| SortIndex | form | double? | No | |
| Groups | form | List<Group> | No |
| Name | Parameter | Data Type | Required | Description |
|---|---|---|---|---|
| Id | form | int | No | |
| Name | form | string | No | |
| Status | form | Status? | No | |
| JoinOption | form | JoinOption? | No |
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=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: 2025-11-16T04:39:47.7938486-05: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: 2025-11-16T04:39:47.8094731-05:00,
Device: Desktop
}