| Requires any of the roles: | admin, oauthadmin | Requires any of the permissions: | /admin/store/, /admin/events/ |
| POST | /Ams/{ClientID}/Products | Create Store Product. | |
|---|---|---|---|
| PUT | /Ams/{ClientID}/Products | Update Store Product. |
| Name | Parameter | Data Type | Required | Description |
|---|---|---|---|---|
| ProductID | body | int | No | |
| Details | body | ProductDetails | No | |
| DisplayOptions | body | ProductDisplayOptions | No | |
| ItemOptions | body | ItemOptions | No | |
| PricingOptions | body | Pricing | No | |
| Financial | body | Financial | No | |
| Freestone | body | FreestoneProduct | No | |
| PathLMSProductID | body | int | No |
| Name | Parameter | Data Type | Required | Description |
|---|---|---|---|---|
| UsingRedis | form | bool | No | |
| AppInitTime | form | DateTime | No | |
| ServerID | form | string | 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 |
|---|---|---|---|---|
| ProductName | form | string | No | |
| ProductCode | form | string | No | |
| ProductActive | form | bool | No | |
| PrimaryCategory | form | string | No | |
| ProductDescription | form | string | No | |
| ProductType | form | int | No |
| Name | Parameter | Data Type | Required | Description |
|---|---|---|---|---|
| IsFeatured | form | bool | No | |
| ListInStore | form | bool? | No | |
| BuyFromStore | form | bool? | No | |
| TagLine | form | string | No | |
| ProductGroup | form | string | No |
| Name | Parameter | Data Type | Required | Description |
|---|---|---|---|---|
| RequireCustomerResponse | form | bool | No | |
| SpecialInstructions | form | string | No | |
| SizeType | form | string | No | |
| ColorOptions | form | string | No | |
| CustomFieldName | form | string | No | |
| CustomFieldOptions | form | string | No |
| Name | Parameter | Data Type | Required | Description |
|---|---|---|---|---|
| ChargeTaxVAT | form | bool | No | |
| ShippingWeight | form | double | No | |
| ShippingSurcharge | form | decimal | No | |
| NonMemberUnitPrice | form | decimal? | No | |
| MemberPricing | form | List<MemberPricing> | No |
| Name | Parameter | Data Type | Required | Description |
|---|---|---|---|---|
| MemberTypeCode | form | string | No | |
| UnitPrice | form | decimal? | No | |
| ListInStore | form | bool? | No | |
| BuyFromStore | form | bool? | No |
| Name | Parameter | Data Type | Required | Description |
|---|---|---|---|---|
| GLCode | form | string | No | |
| QuickBooksClass | form | string | No |
| Name | Parameter | Data Type | Required | Description |
|---|---|---|---|---|
| IsFreestoneProduct | form | bool | No | |
| ProductTypeId | form | int? | No | |
| CourseTypeId | form | int? | No |
| Name | Parameter | Data Type | Required | Description |
|---|---|---|---|---|
| ProductID | body | int | No | |
| Details | body | ProductDetails | No | |
| DisplayOptions | body | ProductDisplayOptions | No | |
| ItemOptions | body | ItemOptions | No | |
| PricingOptions | body | Pricing | No | |
| Financial | body | Financial | No | |
| Freestone | body | FreestoneProduct | No | |
| PathLMSProductID | body | int | 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}/Products HTTP/1.1
Host: ws.yourmembership.com
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
ProductID: 0,
Details:
{
ProductName: String,
ProductCode: String,
ProductActive: False,
PrimaryCategory: String,
ProductDescription: String,
ProductType: 0
},
DisplayOptions:
{
IsFeatured: False,
ListInStore: False,
BuyFromStore: False,
TagLine: String,
ProductGroup: String
},
ItemOptions:
{
RequireCustomerResponse: False,
SpecialInstructions: String,
SizeType: String,
ColorOptions: String,
CustomFieldName: String,
CustomFieldOptions: String
},
PricingOptions:
{
ChargeTaxVAT: False,
ShippingWeight: 0,
ShippingSurcharge: 0,
NonMemberUnitPrice: 0,
MemberPricing:
[
{
MemberTypeCode: String,
UnitPrice: 0,
ListInStore: False,
BuyFromStore: False
}
]
},
Financial:
{
GLCode: String,
QuickBooksClass: String
},
Freestone:
{
IsFreestoneProduct: False,
ProductTypeId: 0,
CourseTypeId: 0
},
PathLMSProductID: 0,
UsingRedis: True,
AppInitTime: 2025-11-16T01:53:46.1905154-05:00,
ServerID: WS-6-198-373,
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:42:06.3282841-05:00,
Device: Desktop
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
ProductID: 0,
Details:
{
ProductName: String,
ProductCode: String,
ProductActive: False,
PrimaryCategory: String,
ProductDescription: String,
ProductType: 0
},
DisplayOptions:
{
IsFeatured: False,
ListInStore: False,
BuyFromStore: False,
TagLine: String,
ProductGroup: String
},
ItemOptions:
{
RequireCustomerResponse: False,
SpecialInstructions: String,
SizeType: String,
ColorOptions: String,
CustomFieldName: String,
CustomFieldOptions: String
},
PricingOptions:
{
ChargeTaxVAT: False,
ShippingWeight: 0,
ShippingSurcharge: 0,
NonMemberUnitPrice: 0,
MemberPricing:
[
{
MemberTypeCode: String,
UnitPrice: 0,
ListInStore: False,
BuyFromStore: False
}
]
},
Financial:
{
GLCode: String,
QuickBooksClass: String
},
Freestone:
{
IsFreestoneProduct: False,
ProductTypeId: 0,
CourseTypeId: 0
},
PathLMSProductID: 0,
UsingRedis: True,
AppInitTime: 2025-11-16T01:53:46.1905154-05:00,
ServerID: WS-6-198-373,
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:42:06.3282841-05:00,
Device: Desktop
}