Product
Endpoints for Product
Endpoints for Product
GET/api/v1/products
Authentication: Bearer token (JWT)
pagenumberOptional1minimum: 1takenumberOptional10minimum: 1maximum: 50orderDirectionstringOptional"desc"Allowed values: "asc", "desc"orderBystringOptional"createdAt"Allowed values: "createdAt", "id", "updatedAt", "name", "price"isOptionalbooleanOptionalstatusstringOptional"draft", "published", "archived"namestringOptionalitemsarray of ProductResponseRequired36 fieldsitemsproductCategorystringRequired when parent is presentField path: items[].productCategorycurlcurl https://api.subrite.no/api/v1/products \
--header 'Authorization: Bearer <token>'POST/api/v1/products
Authentication: Bearer token (JWT)
application/jsonproductCategoryProductCategoryRequired"digital_subscription", "physical_subscription", "physical", "event_ticket", "PHYSICAL_PRODUCT"hasInternationalShippingbooleanOptionalcirculationTypeGET/api/v1/products/all
Authentication: Bearer token (JWT)
isOptionalbooleanOptionalstatusstringOptional"draft", "published", "archived"namestringOptionalGET/api/v1/products/{id}
Authentication: Bearer token (JWT)
idnumberRequiredSame fields as Create a new product (201).
DELETE/api/v1/products/{id}
Authentication: Bearer token (JWT)
idnumberRequiredThis response has no body.
PATCH/api/v1/products/{id}
Authentication: Bearer token (JWT)
idnumberRequiredapplication/jsonproductCategoryProductCategoryOptional"digital_subscription", "physical_subscription", "physical", "event_ticket", "PHYSICAL_PRODUCT"GET/api/v1/products/{productId}/content-channels
Authentication: Bearer token (JWT)
productIdnumberRequired"digital_subscription""physical_subscription""physical""event_ticket""PHYSICAL_PRODUCT"tenantIdnumberRequired when parent is presentField path: items[].tenantIdnamestringRequired when parent is presentField path: items[].nameuuidstringRequired when parent is presentField path: items[].uuidisOptionalbooleanRequired when parent is presentField path: items[].isOptionalpricenumberRequired when parent is presentField path: items[].pricecurrencystringRequired when parent is presentField path: items[].currencytaxnumberRequired when parent is presentField path: items[].taxstocknumberRequired when parent is presentField path: items[].stockmaxQuantityPerOrdernumberRequired when parent is presentField path: items[].maxQuantityPerOrdereanstringRequired when parent is presentField path: items[].eanallowFutureStartDatebooleanRequired when parent is presentField path: items[].allowFutureStartDateassignSeatToOwnerbooleanRequired when parent is presentField path: items[].assignSeatToOwnersupportsIpAccessbooleanRequired when parent is presentField path: items[].supportsIpAccessstatusstringRequired when parent is presentField path: items[].status"draft", "published", "archived"propertiesobjectRequired when parent is presentField path: items[].propertiesshippingChargesarray of ShippingChargeRequired when parent is presentField path: items[].shippingCharges2 fieldsitems[].shippingChargescountrystringRequired when parent is presentField path: items[].shippingCharges[].countrychargenumberRequired when parent is presentField path: items[].shippingCharges[].chargedescriptionstringRequired when parent is presentField path: items[].descriptioncirculationTypestringRequired when parent is presentField path: items[].circulationType"subscription", "single_copy"publicationDaysstringRequired when parent is presentField path: items[].publicationDaysdiProductCodestringRequired when parent is presentField path: items[].diProductCodetenantTenantRequired when parent is presentField path: items[].tenantNested fields omitted: field limit.entityTagsarray of EntityTagRequired when parent is presentField path: items[].entityTags13 fieldsitems[].entityTagsproductIdnumberRequired when parent is presentField path: items[].entityTags[].productIdtagIdnumberRequired when parent is presentField path: items[].entityTags[].tagIdsubscriptionPlanIdnumberRequired when parent is presentField path: items[].entityTags[].subscriptionPlanIdtagTagRequired when parent is presentField path: items[].entityTags[].tagNested fields omitted: depth limit.productProductRequired when parent is presentField path: items[].entityTags[].productNested fields omitted: depth limit.subscriptionPlanSubscriptionPlanRequired when parent is presentField path: items[].entityTags[].subscriptionPlanNested fields omitted: depth limit.visualWorkflowIdnumberRequired when parent is presentField path: items[].entityTags[].visualWorkflowIdvisualWorkflowVisualWorkflowRequired when parent is presentField path: items[].entityTags[].visualWorkflowNested fields omitted: depth limit.idnumberRequired when parent is presentField path: items[].entityTags[].idcreatedAtstring (date-time)Required when parent is presentField path: items[].entityTags[].createdAtupdatedAtstring (date-time)Required when parent is presentField path: items[].entityTags[].updatedAtdeletedAtstring (date-time)Required when parent is presentField path: items[].entityTags[].deletedAtmetaDataobjectRequired when parent is presentField path: items[].entityTags[].metaDatasubscriptionPlanProductsarray of SubscriptionPlanProductRequired when parent is presentField path: items[].subscriptionPlanProducts13 fieldsitems[].subscriptionPlanProductssubscriptionPlanIdnumberRequired when parent is presentField path: items[].subscriptionPlanProducts[].subscriptionPlanIdproductIdnumberRequired when parent is presentField path: items[].subscriptionPlanProducts[].productIdpricenumberRequired when parent is presentField path: items[].subscriptionPlanProducts[].pricepropertiesOptionalProductPropertiesRequired when parent is presentField path: items[].subscriptionPlanProducts[].propertiesNested fields omitted: depth limit.subscriptionPlanSubscriptionPlanRequired when parent is presentField path: items[].subscriptionPlanProducts[].subscriptionPlanNested fields omitted: depth limit.productProductRequired when parent is presentField path: items[].subscriptionPlanProducts[].productNested fields omitted: depth limit.tenantIdnumberRequired when parent is presentField path: items[].subscriptionPlanProducts[].tenantIdtenantTenantRequired when parent is presentField path: items[].subscriptionPlanProducts[].tenantNested fields omitted: depth limit.idnumberRequired when parent is presentField path: items[].subscriptionPlanProducts[].idcreatedAtstring (date-time)Required when parent is presentField path: items[].subscriptionPlanProducts[].createdAtupdatedAtstring (date-time)Required when parent is presentField path: items[].subscriptionPlanProducts[].updatedAtdeletedAtstring (date-time)Required when parent is presentField path: items[].subscriptionPlanProducts[].deletedAtmetaDataobjectRequired when parent is presentField path: items[].subscriptionPlanProducts[].metaDatapackageProductsarray of PackageProductRequired when parent is presentField path: items[].packageProductsNested fields omitted: field limit.memberPackageProductsarray of MemberPackageProductRequired when parent is presentField path: items[].memberPackageProductsNested fields omitted: field limit.orderItemarray of OrderItemRequired when parent is presentField path: items[].orderItemNested fields omitted: field limit.productContentsarray of ProductContentRequired when parent is presentField path: items[].productContentsNested fields omitted: field limit.idnumberRequired when parent is presentField path: items[].idcreatedAtstring (date-time)Required when parent is presentField path: items[].createdAtupdatedAtstring (date-time)Required when parent is presentField path: items[].updatedAtdeletedAtstring (date-time)Required when parent is presentField path: items[].deletedAtmetaDataobjectRequired when parent is presentField path: items[].metaDatatagsarray of stringField path: items[].tagsmemberFieldsarray of stringField path: items[].memberFields"email", "fullName", "phone", "address"hasInternationalShippingbooleanField path: items[].hasInternationalShippingmetaPageMetaRequired6 fieldsmetapagenumberRequiredField path: meta.pagetakenumberRequiredField path: meta.takecountnumberRequiredField path: meta.countpageCountnumberRequiredField path: meta.pageCounthasPreviousPagebooleanRequiredField path: meta.hasPreviousPagehasNextPagebooleanRequiredField path: meta.hasNextPage{
"items": [
{
"properties": {},
"shippingCharges": [],
"entityTags": [],
"subscriptionPlanProducts": [],
"packageProducts": [],
"memberPackageProducts": [],
"orderItem": [],
"productContents": [],
"metaData": {},
"tags": [],
"memberFields": []
}
],
"meta": {
"page": 0,
"take": 0,
"count": 0,
"pageCount": 0,
"hasPreviousPage": true,
"hasNextPage": true
}
}Query validation failed; field codes in errors[]
messageCodestringRequired"badRequest", "internalServerError"messagestringerrorsarray of FieldErrorRequired7 fieldserrorsfieldstringRequired when parent is presentField path: errors[].fieldfieldValuestringRequired when parent is presentField path: errors[].fieldValueidentifierstringRequired when parent is presentField path: errors[].identifieridentifierValuestringRequired when parent is presentField path: errors[].identifierValuemessageCodestringRequired when parent is presentField path: errors[].messageCodemessagestringField path: errors[].messageerrorTypestringRequired when parent is present{
"messageCode": "badRequest",
"message": "string",
"errors": [
{}
]
}unauthorized
This response has no body.
forbiddenResource
messageCodestringRequiredmessagestringerrorsarray of FieldErrorRequired7 fieldserrorsfieldstringRequired when parent is presentField path: errors[].fieldfieldValuestringRequired when parent is presentField path: errors[].fieldValueidentifierstringRequired when parent is presentField path: errors[].identifieridentifierValuestringRequired when parent is presentField path: errors[].identifierValuemessageCodestringRequired when parent is presentField path: errors[].messageCodemessagestringField path: errors[].messageerrorTypestringRequired when parent is presentField path: errors[].errorType{
"messageCode": "string",
"message": "string",
"errors": [
{}
]
}CIRCULATION_TYPE"subscription", "single_copy"publicationDaysstringOptionalpattern: /^(?=.)1?2?3?4?5?6?7?$/diProductCodestringOptionalpattern: /^[A-Za-z0-9]{1,5}$/namestringRequiredpricenumberRequiredminimum: 0currencystringRequiredtaxnumberRequiredminimum: 0maximum: 1stocknumberRequiredminimum: -1maxQuantityPerOrdernumberRequiredminimum: 0allowFutureStartDatebooleanRequiredstatusstringRequired"draft", "published", "archived"isOptionalbooleanRequiredtagsarray of stringRequiredeanstringOptionaldescriptionstringOptionalassignSeatToOwnerbooleanOptionalsupportsIpAccessbooleanOptional{
"productCategory": "digital_subscription",
"hasInternationalShipping": true,
"circulationType": "subscription",
"publicationDays": "4",
"diProductCode": "ABC",
"name": "string",
"price": 0,
"currency": "string",
"tax": 0,
"stock": -1,
"maxQuantityPerOrder": 0,
"allowFutureStartDate": true,
"status": "draft",
"isOptional": true,
"tags": [
"string"
],
"ean": "string",
"description": "string",
"assignSeatToOwner": true,
"supportsIpAccess": true
}productCategorystringRequired"digital_subscription", "physical_subscription", "physical", "event_ticket", "PHYSICAL_PRODUCT"tenantIdnumberRequirednamestringRequireduuidstringRequiredisOptionalbooleanRequiredpricenumberRequiredcurrencystringRequiredtaxnumberRequiredstocknumberRequiredmaxQuantityPerOrdernumberRequiredeanstringRequiredallowFutureStartDatebooleanRequiredassignSeatToOwnerbooleanRequiredsupportsIpAccessbooleanRequiredstatusstringRequired"draft", "published", "archived"propertiesobjectRequiredshippingChargesarray of ShippingChargeRequired2 fieldsshippingChargescountrystringRequired when parent is presentField path: shippingCharges[].countrychargenumberRequired when parent is presentField path: shippingCharges[].chargedescriptionstringRequiredcirculationTypestringRequired"subscription", "single_copy"publicationDaysstringRequireddiProductCodestringRequiredtenantTenantRequiredNested fields omitted: field limit.entityTagsarray of EntityTagRequired13 fieldsentityTagsproductIdnumberRequired when parent is presentField path: entityTags[].productIdtagIdnumberRequired when parent is presentField path: entityTags[].tagIdsubscriptionPlanIdnumberRequired when parent is presentField path: entityTags[].subscriptionPlanIdtagTagRequired when parent is presentField path: entityTags[].tagNested fields omitted: field limit.productProductRequired when parent is presentField path: entityTags[].productNested fields omitted: field limit.subscriptionPlanProductsarray of SubscriptionPlanProductRequired13 fieldssubscriptionPlanProductssubscriptionPlanIdnumberRequired when parent is presentField path: subscriptionPlanProducts[].subscriptionPlanIdproductIdnumberRequired when parent is presentField path: subscriptionPlanProducts[].productIdpricenumberRequired when parent is presentField path: subscriptionPlanProducts[].pricepropertiesOptionalProductPropertiesRequired when parent is presentField path: subscriptionPlanProducts[].properties2 fieldspackageProductsarray of PackageProductRequired13 fieldspackageProductspackageIdnumberRequired when parent is presentField path: packageProducts[].packageIdproductIdnumberRequired when parent is presentField path: packageProducts[].productIdpricenumberRequired when parent is presentField path: packageProducts[].pricepropertiesOptionalProductPropertiesRequired when parent is presentField path: packageProducts[].propertiesNested fields omitted: field limit.packagePackagememberPackageProductsarray of MemberPackageProductRequiredNested fields omitted: field limit.orderItemarray of OrderItemRequiredNested fields omitted: field limit.productContentsarray of ProductContentRequiredNested fields omitted: field limit.idnumberRequiredcreatedAtstring (date-time)RequiredupdatedAtstring (date-time)RequireddeletedAtstring (date-time)RequiredmetaDataobjectRequiredtagsarray of stringmemberFieldsarray of string"email", "fullName", "phone", "address"hasInternationalShippingbooleanBody validation failed; field codes in errors[]. productNameAlreadyExists arrives in errors[] against name when a live product of the same type (main or optional) already uses it
Same fields as Get all products of the tenant (400).
{
"messageCode": "badRequest",
"message": "string",
"errors": [
{}
]
}unauthorized
This response has no body.
forbiddenResource
Same fields as Get all products of the tenant (403).
{
"messageCode": "string",
"message": "string",
"errors": [
{}
]
}curlcurl https://api.subrite.no/api/v1/products \
--request POST \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"productCategory": "digital_subscription",
"hasInternationalShipping": true,
"circulationType": "subscription",
"publicationDays": "4",
"diProductCode": "ABC",
"name": "string",
"price": 0,
"currency": "string",
"tax": 0,
"stock": -1,
"maxQuantityPerOrder": 0,
"allowFutureStartDate": true,
"status": "draft",
"isOptional": true,
"tags": [
"string"
],
"ean": "string",
"description": "string",
"assignSeatToOwner": true,
"supportsIpAccess": true
}'productCategorystringRequired when parent is present"digital_subscription", "physical_subscription", "physical", "event_ticket", "PHYSICAL_PRODUCT"tenantIdnumberRequired when parent is presentnamestringRequired when parent is presentuuidstringRequired when parent is presentisOptionalbooleanRequired when parent is presentpricenumberRequired when parent is presentcurrencystringRequired when parent is presenttaxnumberRequired when parent is presentstocknumberRequired when parent is presentmaxQuantityPerOrdernumberRequired when parent is presenteanstringRequired when parent is presentallowFutureStartDatebooleanRequired when parent is presentassignSeatToOwnerbooleanRequired when parent is presentsupportsIpAccessbooleanRequired when parent is presentstatusstringRequired when parent is present"draft", "published", "archived"propertiesobjectRequired when parent is presentshippingChargesarray of ShippingChargeRequired when parent is present2 fields[].shippingChargescountrystringRequired when parent is presentField path: [].shippingCharges[].countrychargenumberRequired when parent is presentField path: [].shippingCharges[].chargedescriptionstringRequired when parent is presentcirculationTypestringRequired when parent is present"subscription", "single_copy"publicationDaysstringRequired when parent is presentdiProductCodestringRequired when parent is presenttenantTenantRequired when parent is presentNested fields omitted: field limit.entityTagsarray of EntityTagRequired when parent is present13 fields[].entityTagsproductIdnumberRequired when parent is presentField path: [].entityTags[].productIdtagIdnumberRequired when parent is presentField path: [].entityTags[].tagIdsubscriptionPlanIdnumberRequired when parent is presentField path: [].entityTags[].subscriptionPlanIdtagTagRequired when parent is presentField path: [].entityTags[].tagNested fields omitted: field limit.productProductRequired when parent is presentsubscriptionPlanProductsarray of SubscriptionPlanProductRequired when parent is present13 fields[].subscriptionPlanProductssubscriptionPlanIdnumberRequired when parent is presentField path: [].subscriptionPlanProducts[].subscriptionPlanIdproductIdnumberRequired when parent is presentField path: [].subscriptionPlanProducts[].productIdpricenumberRequired when parent is presentField path: [].subscriptionPlanProducts[].pricepropertiesOptionalProductPropertiesRequired when parent is presentField path: [].subscriptionPlanProducts[].propertiespackageProductsarray of PackageProductRequired when parent is present13 fields[].packageProductspackageIdnumberRequired when parent is presentField path: [].packageProducts[].packageIdproductIdnumberRequired when parent is presentField path: [].packageProducts[].productIdpricenumberRequired when parent is presentField path: [].packageProducts[].pricepropertiesOptionalProductPropertiesRequired when parent is presentField path: [].packageProducts[].propertiesNested fields omitted: field limit.memberPackageProductsarray of MemberPackageProductRequired when parent is presentNested fields omitted: field limit.orderItemarray of OrderItemRequired when parent is presentNested fields omitted: field limit.productContentsarray of ProductContentRequired when parent is presentNested fields omitted: field limit.idnumberRequired when parent is presentcreatedAtstring (date-time)Required when parent is presentupdatedAtstring (date-time)Required when parent is presentdeletedAtstring (date-time)Required when parent is presentmetaDataobjectRequired when parent is presenttagsarray of stringmemberFieldsarray of string"email", "fullName", "phone", "address"hasInternationalShippingboolean[
{
"productCategory": "digital_subscription",
"tenantId": 0,
"name": "string",
"uuid": "string",
"isOptional": true,
"price": 0,
"currency": "string",
"tax": 0,
"stock": 0,
"maxQuantityPerOrder": 0,
"ean": "string",
"allowFutureStartDate": true,
"assignSeatToOwner": true,
"supportsIpAccess": true,
"status": "draft",
"properties": {},
"shippingCharges": [],
"description": "string",
"circulationType": "subscription",
"publicationDays": "string",
"diProductCode": "string",
"tenant": {
"additionalFeatures": [],
"disabledFeatures": [],
"taxRates": [],
"products": [],
"users": [],
"members": [],
"roles": [],
"subscriptionPlans": [],
"packages": [],
"invoices": [],
"orders": [],
"paymentProviders": [],
"newslettersProviderConfig": [],
"paymentProviderConfigs": [],
"oidcClients": [],
"oauthProviders": [],
"activityLogs": [],
"m2m_api_clients": [],
"customProperties": [],
"consents": [],
"communicationTemplates": [],
"additionalHostnames": [],
"exportHistory": [],
"arReportHistory": [],
"mypageCardsSettings": [],
"webhooks": [],
"customOrders": [],
"customOrderSources": [],
"brandKits": [],
"communicationReceivers": [],
"metaData": {}
},
"entityTags": [],
"subscriptionPlanProducts": [],
"packageProducts": [],
"memberPackageProducts": [],
"orderItem": [],
"productContents": [],
"id": 0,
"createdAt": "2019-08-24T14:15:22Z",
"updatedAt": "2019-08-24T14:15:22Z",
"deletedAt": "2019-08-24T14:15:22Z",
"metaData": {},
"tags": [],
"memberFields": [],
"hasInternationalShipping": true
}
]Query validation failed; field codes in errors[]
Same fields as Get all products of the tenant (400).
{
"messageCode": "badRequest",
"message": "string",
"errors": [
{}
]
}unauthorized
This response has no body.
forbiddenResource
Same fields as Get all products of the tenant (403).
{
"messageCode": "string",
"message": "string",
"errors": [
{}
]
}curlcurl https://api.subrite.no/api/v1/products/all \
--header 'Authorization: Bearer <token>'{
"productCategory": "digital_subscription",
"tenantId": 0,
"name": "string",
"uuid": "string",
"isOptional": true,
"price": 0,
"currency": "string",
"tax": 0,
"stock": 0,
"maxQuantityPerOrder": 0,
"ean": "string",
"allowFutureStartDate": true,
"assignSeatToOwner": true,
"supportsIpAccess": true,
"status": "draft",
"properties": {},
"shippingCharges": [
{}
],
"description": "string",
"circulationType": "subscription",
"publicationDays": "string",
"diProductCode": "string",
"tenant": {
"market": "NO",
"productName": "enterprise",
"additionalFeatures": [],
"disabledFeatures": [],
"name": "string",
"isActive": true,
"defaultLanguage": "en",
"hostName": "string",
"logo": "string",
"favicon": "string",
"authLogo": "string",
"authLogoHeight": 0,
"siteUrl": "string",
"termsUrl": "string",
"privacyUrl": "string",
"gtm": "string",
"taxRates": [],
"smsOtp": true,
"emailProvider": "brevo",
"tenantContact": "string",
"registeredBusinessNo": "string",
"bankAccountNo": "string",
"swiftCode": "string",
"iban": "<iban>",
"defaultLogoutURL": "string",
"postalAddress": "<postalAddress>",
"otpTemplateId": {},
"smsSenderId": 0,
"emailSenderId": 0,
"smsSender": {
"metaData": {}
},
"emailSender": {
"metaData": {}
},
"products": [],
"users": [],
"members": [],
"roles": [],
"subscriptionPlans": [],
"packages": [],
"invoices": [],
"orders": [],
"paymentProviders": [],
"newslettersProviderConfig": [],
"paymentProviderConfigs": [],
"oidcClients": [],
"oauthProviders": [],
"activityLogs": [],
"m2m_api_clients": [],
"customProperties": [],
"consents": [],
"preference": {
"inputFieldConfig": [],
"customFieldsOnMemberCard": [],
"customFieldsOnInvoice": [],
"visibleAdditionalFieldsOnMypage": [],
"metaData": {}
},
"settings": {
"aiResidency": {},
"metaData": {}
},
"communicationTemplates": [],
"additionalHostnames": [],
"exportHistory": [],
"arReportHistory": [],
"mypageCardsSettings": [],
"webhooks": [],
"customOrders": [],
"customOrderSources": [],
"brandKits": [],
"communicationReceivers": [],
"id": 0,
"createdAt": "2019-08-24T14:15:22Z",
"updatedAt": "2019-08-24T14:15:22Z",
"deletedAt": "2019-08-24T14:15:22Z",
"metaData": {}
},
"entityTags": [
{
"metaData": {}
}
],
"subscriptionPlanProducts": [
{
"metaData": {}
}
],
"packageProducts": [
{
"metaData": {}
}
],
"memberPackageProducts": [
{
"memberPackageProductEmailDomains": [],
"memberPackageProductIps": [],
"seats": [],
"recipients": [],
"metaData": {}
}
],
"orderItem": [
{
"metaData": {}
}
],
"productContents": [
{}
],
"id": 0,
"createdAt": "2019-08-24T14:15:22Z",
"updatedAt": "2019-08-24T14:15:22Z",
"deletedAt": "2019-08-24T14:15:22Z",
"metaData": {},
"tags": [
"string"
],
"memberFields": [
"email"
],
"hasInternationalShipping": true
}The id is not an integer
messageCodestringRequired"badRequest"messagestringerrorsarray of FieldErrorRequired7 fieldserrorsfieldstringRequired when parent is presentField path: errors[].fieldfieldValuestringRequired when parent is presentField path: errors[].fieldValueidentifierstringRequired when parent is presentField path: errors[].identifieridentifierValuestringRequired when parent is presentField path: errors[].identifierValuemessageCodestringRequired when parent is presentField path: errors[].messageCodemessagestringField path: errors[].messageerrorTypestringRequired when parent is present{
"messageCode": "badRequest",
"message": "string",
"errors": [
{}
]
}unauthorized
This response has no body.
forbiddenResource
Same fields as Get all products of the tenant (403).
{
"messageCode": "string",
"message": "string",
"errors": [
{}
]
}productNotFound
messageCodestringRequired"productNotFound"messagestringerrorsarray of FieldErrorRequired7 fieldserrorsfieldstringRequired when parent is presentField path: errors[].fieldfieldValuestringRequired when parent is presentField path: errors[].fieldValueidentifierstringRequired when parent is presentField path: errors[].identifieridentifierValuestringRequired when parent is presentField path: errors[].identifierValuemessageCodestringRequired when parent is presentField path: errors[].messageCodemessagestringField path: errors[].messageerrorTypestringRequired when parent is present{
"messageCode": "productNotFound",
"message": "string",
"errors": [
{}
]
}curlcurl 'https://api.subrite.no/api/v1/products/{id}' \
--header 'Authorization: Bearer <token>'application/jsonThe id is not an integer, or the product is still referenced by a plan, package or channel
messageCodestringRequired"badRequest", "productUsedInSubscriptionPlans", "productUsedInPackages", "productUsedInContentChannels"messagestringerrorsarray of FieldErrorRequired7 fieldserrorsfieldstringRequired when parent is presentField path: errors[].fieldfieldValuestringRequired when parent is presentField path: errors[].fieldValueidentifierstringRequired when parent is presentField path: errors[].identifieridentifierValuestringRequired when parent is presentField path: errors[].identifierValuemessageCodestringRequired when parent is presentField path: errors[].messageCodemessagestringField path: errors[].messageerrorTypestringRequired when parent is presentField path: errors[].errorType{
"messageCode": "badRequest",
"message": "string",
"errors": [
{}
]
}unauthorized
This response has no body.
forbiddenResource
Same fields as Get all products of the tenant (403).
{
"messageCode": "string",
"message": "string",
"errors": [
{}
]
}productNotFound
Same fields as Get a product by id (404).
{
"messageCode": "productNotFound",
"message": "string",
"errors": [
{}
]
}curlcurl 'https://api.subrite.no/api/v1/products/{id}' \
--request DELETE \
--header 'Authorization: Bearer <token>'hasInternationalShippingbooleanOptionalcirculationTypeCIRCULATION_TYPEOptional"subscription", "single_copy"publicationDaysstringOptionalpattern: /^(?=.)1?2?3?4?5?6?7?$/diProductCodestringOptionalpattern: /^[A-Za-z0-9]{1,5}$/memberFieldsarray of MemberFieldsOptional"email", "fullName", "phone", "address"namestringOptionalpricenumberOptionalminimum: 0currencystringOptionaltaxnumberOptionalminimum: 0maximum: 1stocknumberOptionalminimum: -1maxQuantityPerOrdernumberOptionalminimum: 0allowFutureStartDatebooleanOptionalstatusstringOptional"draft", "published", "archived"isOptionalbooleanOptionaltagsarray of stringOptionaleanstringOptionaldescriptionstringOptionalassignSeatToOwnerbooleanOptionalsupportsIpAccessbooleanOptional{
"productCategory": "digital_subscription",
"hasInternationalShipping": true,
"circulationType": "subscription",
"publicationDays": "4",
"diProductCode": "ABC",
"memberFields": [
"email"
],
"name": "string",
"price": 0,
"currency": "string",
"tax": 0,
"stock": -1,
"maxQuantityPerOrder": 0,
"allowFutureStartDate": true,
"status": "draft",
"isOptional": true,
"tags": [
"string"
],
"ean": "string",
"description": "string",
"assignSeatToOwner": true,
"supportsIpAccess": true
}Same fields as Create a new product (201).
{
"productCategory": "digital_subscription",
"tenantId": 0,
"name": "string",
"uuid": "string",
"isOptional": true,
"price": 0,
"currency": "string",
"tax": 0,
"stock": 0,
"maxQuantityPerOrder": 0,
"ean": "string",
"allowFutureStartDate": true,
"assignSeatToOwner": true,
"supportsIpAccess": true,
"status": "draft",
"properties": {},
"shippingCharges": [
{}
],
"description": "string",
"circulationType": "subscription",
"publicationDays": "string",
"diProductCode": "string",
"tenant": {
"market": "NO",
"productName": "enterprise",
"additionalFeatures": [],
"disabledFeatures": [],
"name": "string",
"isActive": true,
"defaultLanguage": "en",
"hostName": "string",
"logo": "string",
"favicon": "string",
"authLogo": "string",
"authLogoHeight": 0,
"siteUrl": "string",
"termsUrl": "string",
"privacyUrl": "string",
"gtm": "string",
"taxRates": [],
"smsOtp": true,
"emailProvider": "brevo",
"tenantContact": "string",
"registeredBusinessNo": "string",
"bankAccountNo": "string",
"swiftCode": "string",
"iban": "<iban>",
"defaultLogoutURL": "string",
"postalAddress": "<postalAddress>",
"otpTemplateId": {},
"smsSenderId": 0,
"emailSenderId": 0,
"smsSender": {
"metaData": {}
},
"emailSender": {
"metaData": {}
},
"products": [],
"users": [],
"members": [],
"roles": [],
"subscriptionPlans": [],
"packages": [],
"invoices": [],
"orders": [],
"paymentProviders": [],
"newslettersProviderConfig": [],
"paymentProviderConfigs": [],
"oidcClients": [],
"oauthProviders": [],
"activityLogs": [],
"m2m_api_clients": [],
"customProperties": [],
"consents": [],
"preference": {
"inputFieldConfig": [],
"customFieldsOnMemberCard": [],
"customFieldsOnInvoice": [],
"visibleAdditionalFieldsOnMypage": [],
"metaData": {}
},
"settings": {
"aiResidency": {},
"metaData": {}
},
"communicationTemplates": [],
"additionalHostnames": [],
"exportHistory": [],
"arReportHistory": [],
"mypageCardsSettings": [],
"webhooks": [],
"customOrders": [],
"customOrderSources": [],
"brandKits": [],
"communicationReceivers": [],
"id": 0,
"createdAt": "2019-08-24T14:15:22Z",
"updatedAt": "2019-08-24T14:15:22Z",
"deletedAt": "2019-08-24T14:15:22Z",
"metaData": {}
},
"entityTags": [
{
"metaData": {}
}
],
"subscriptionPlanProducts": [
{
"metaData": {}
}
],
"packageProducts": [
{
"metaData": {}
}
],
"memberPackageProducts": [
{
"memberPackageProductEmailDomains": [],
"memberPackageProductIps": [],
"seats": [],
"recipients": [],
"metaData": {}
}
],
"orderItem": [
{
"metaData": {}
}
],
"productContents": [
{}
],
"id": 0,
"createdAt": "2019-08-24T14:15:22Z",
"updatedAt": "2019-08-24T14:15:22Z",
"deletedAt": "2019-08-24T14:15:22Z",
"metaData": {},
"tags": [
"string"
],
"memberFields": [
"email"
],
"hasInternationalShipping": true
}Body validation failed, the id is not an integer, or IP ranges are still registered. memberSeatsCannotBeDecreased arrives in errors[] against maxQuantityPerOrder, and productNameAlreadyExists against name
messageCodestringRequired"badRequest", "internalServerError", "cannotDisableIpAccessWhileIpRangesExist"messageunauthorized
This response has no body.
forbiddenResource
Same fields as Get all products of the tenant (403).
{
"messageCode": "string",
"message": "string",
"errors": [
{}
]
}productNotFound
Same fields as Get a product by id (404).
{
"messageCode": "productNotFound",
"message": "string",
"errors": [
{}
]
}The seat expansion could not be queued; nothing was saved
messageCodestringRequired"productOwnerAccessPropagationFailed"messagestringcurlcurl 'https://api.subrite.no/api/v1/products/{id}' \
--request PATCH \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"productCategory": "digital_subscription",
"hasInternationalShipping": true,
"circulationType": "subscription",
"publicationDays": "4",
"diProductCode": "ABC",
"memberFields": [
"email"
],
"name": "string",
"price": 0,
"currency": "string",
"tax": 0,
"stock": -1,
"maxQuantityPerOrder": 0,
"allowFutureStartDate": true,
"status": "draft",
"isOptional": true,
"tags": [
"string"
],
"ean": "string",
"description": "string",
"assignSeatToOwner": true,
"supportsIpAccess": true
}'array of ProductContentChannelDtocontentChannelIdnumberRequired when parent is presentcontentChannelNamestringRequired when parent is present[
{
"contentChannelId": 0,
"contentChannelName": "string"
}
]The productId is not an integer
Same fields as Get a product by id (400).
{
"messageCode": "badRequest",
"message": "string",
"errors": [
{}
]
}unauthorized
This response has no body.
forbiddenResource
Same fields as Get all products of the tenant (403).
{
"messageCode": "string",
"message": "string",
"errors": [
{}
]
}productNotFound
Same fields as Get a product by id (404).
{
"messageCode": "productNotFound",
"message": "string",
"errors": [
{}
]
}curlcurl 'https://api.subrite.no/api/v1/products/{productId}/content-channels' \
--header 'Authorization: Bearer <token>'subscriptionPlanSubscriptionPlanRequired when parent is presentField path: entityTags[].subscriptionPlanNested fields omitted: field limit.visualWorkflowIdnumberRequired when parent is presentField path: entityTags[].visualWorkflowIdvisualWorkflowVisualWorkflowRequired when parent is presentField path: entityTags[].visualWorkflowNested fields omitted: field limit.idnumberRequired when parent is presentField path: entityTags[].idcreatedAtstring (date-time)Required when parent is presentField path: entityTags[].createdAtupdatedAtstring (date-time)Required when parent is presentField path: entityTags[].updatedAtdeletedAtstring (date-time)Required when parent is presentField path: entityTags[].deletedAtmetaDataobjectRequired when parent is presentField path: entityTags[].metaDatasubscriptionPlanProducts[].propertiesisRequiredbooleanRequired when parent is presentField path: subscriptionPlanProducts[].properties.isRequiredquantityRangenumberRequired when parent is presentField path: subscriptionPlanProducts[].properties.quantityRangesubscriptionPlanSubscriptionPlanRequired when parent is presentField path: subscriptionPlanProducts[].subscriptionPlanNested fields omitted: field limit.productProductRequired when parent is presentField path: subscriptionPlanProducts[].productNested fields omitted: field limit.tenantIdnumberRequired when parent is presentField path: subscriptionPlanProducts[].tenantIdtenantTenantRequired when parent is presentField path: subscriptionPlanProducts[].tenantNested fields omitted: field limit.idnumberRequired when parent is presentField path: subscriptionPlanProducts[].idcreatedAtstring (date-time)Required when parent is presentField path: subscriptionPlanProducts[].createdAtupdatedAtstring (date-time)Required when parent is presentField path: subscriptionPlanProducts[].updatedAtdeletedAtstring (date-time)Required when parent is presentField path: subscriptionPlanProducts[].deletedAtmetaDataobjectRequired when parent is presentField path: subscriptionPlanProducts[].metaDataproductProductRequired when parent is presentField path: packageProducts[].productNested fields omitted: field limit.tenantIdnumberRequired when parent is presentField path: packageProducts[].tenantIdtenantTenantRequired when parent is presentField path: packageProducts[].tenantNested fields omitted: field limit.idnumberRequired when parent is presentField path: packageProducts[].idcreatedAtstring (date-time)Required when parent is presentField path: packageProducts[].createdAtupdatedAtstring (date-time)Required when parent is presentField path: packageProducts[].updatedAtdeletedAtstring (date-time)Required when parent is presentField path: packageProducts[].deletedAtmetaDataobjectRequired when parent is presentField path: packageProducts[].metaData{
"productCategory": "digital_subscription",
"tenantId": 0,
"name": "string",
"uuid": "string",
"isOptional": true,
"price": 0,
"currency": "string",
"tax": 0,
"stock": 0,
"maxQuantityPerOrder": 0,
"ean": "string",
"allowFutureStartDate": true,
"assignSeatToOwner": true,
"supportsIpAccess": true,
"status": "draft",
"properties": {},
"shippingCharges": [
{}
],
"description": "string",
"circulationType": "subscription",
"publicationDays": "string",
"diProductCode": "string",
"tenant": {
"market": "NO",
"productName": "enterprise",
"additionalFeatures": [],
"disabledFeatures": [],
"name": "string",
"isActive": true,
"defaultLanguage": "en",
"hostName": "string",
"logo": "string",
"favicon": "string",
"authLogo": "string",
"authLogoHeight": 0,
"siteUrl": "string",
"termsUrl": "string",
"privacyUrl": "string",
"gtm": "string",
"taxRates": [],
"smsOtp": true,
"emailProvider": "brevo",
"tenantContact": "string",
"registeredBusinessNo": "string",
"bankAccountNo": "string",
"swiftCode": "string",
"iban": "<iban>",
"defaultLogoutURL": "string",
"postalAddress": "<postalAddress>",
"otpTemplateId": {},
"smsSenderId": 0,
"emailSenderId": 0,
"smsSender": {
"metaData": {}
},
"emailSender": {
"metaData": {}
},
"products": [],
"users": [],
"members": [],
"roles": [],
"subscriptionPlans": [],
"packages": [],
"invoices": [],
"orders": [],
"paymentProviders": [],
"newslettersProviderConfig": [],
"paymentProviderConfigs": [],
"oidcClients": [],
"oauthProviders": [],
"activityLogs": [],
"m2m_api_clients": [],
"customProperties": [],
"consents": [],
"preference": {
"inputFieldConfig": [],
"customFieldsOnMemberCard": [],
"customFieldsOnInvoice": [],
"visibleAdditionalFieldsOnMypage": [],
"metaData": {}
},
"settings": {
"aiResidency": {},
"metaData": {}
},
"communicationTemplates": [],
"additionalHostnames": [],
"exportHistory": [],
"arReportHistory": [],
"mypageCardsSettings": [],
"webhooks": [],
"customOrders": [],
"customOrderSources": [],
"brandKits": [],
"communicationReceivers": [],
"id": 0,
"createdAt": "2019-08-24T14:15:22Z",
"updatedAt": "2019-08-24T14:15:22Z",
"deletedAt": "2019-08-24T14:15:22Z",
"metaData": {}
},
"entityTags": [
{
"metaData": {}
}
],
"subscriptionPlanProducts": [
{
"metaData": {}
}
],
"packageProducts": [
{
"metaData": {}
}
],
"memberPackageProducts": [
{
"memberPackageProductEmailDomains": [],
"memberPackageProductIps": [],
"seats": [],
"recipients": [],
"metaData": {}
}
],
"orderItem": [
{
"metaData": {}
}
],
"productContents": [
{}
],
"id": 0,
"createdAt": "2019-08-24T14:15:22Z",
"updatedAt": "2019-08-24T14:15:22Z",
"deletedAt": "2019-08-24T14:15:22Z",
"metaData": {},
"tags": [
"string"
],
"memberFields": [
"email"
],
"hasInternationalShipping": true
}subscriptionPlanSubscriptionPlanRequired when parent is presentField path: [].entityTags[].subscriptionPlanNested fields omitted: field limit.visualWorkflowIdnumberRequired when parent is presentField path: [].entityTags[].visualWorkflowIdvisualWorkflowVisualWorkflowRequired when parent is presentField path: [].entityTags[].visualWorkflowNested fields omitted: field limit.idnumberRequired when parent is presentField path: [].entityTags[].idcreatedAtstring (date-time)Required when parent is presentField path: [].entityTags[].createdAtupdatedAtstring (date-time)Required when parent is presentField path: [].entityTags[].updatedAtdeletedAtstring (date-time)Required when parent is presentField path: [].entityTags[].deletedAtmetaDataobjectRequired when parent is presentField path: [].entityTags[].metaData[].subscriptionPlanProducts[].propertiesisRequiredbooleanRequired when parent is presentField path: [].subscriptionPlanProducts[].properties.isRequiredquantityRangenumberRequired when parent is presentField path: [].subscriptionPlanProducts[].properties.quantityRangesubscriptionPlanSubscriptionPlanRequired when parent is presentField path: [].subscriptionPlanProducts[].subscriptionPlanNested fields omitted: field limit.productProductRequired when parent is presentField path: [].subscriptionPlanProducts[].productNested fields omitted: field limit.tenantIdnumberRequired when parent is presentField path: [].subscriptionPlanProducts[].tenantIdtenantTenantRequired when parent is presentField path: [].subscriptionPlanProducts[].tenantNested fields omitted: field limit.idnumberRequired when parent is presentField path: [].subscriptionPlanProducts[].idcreatedAtstring (date-time)Required when parent is presentField path: [].subscriptionPlanProducts[].createdAtupdatedAtstring (date-time)Required when parent is presentField path: [].subscriptionPlanProducts[].updatedAtdeletedAtstring (date-time)Required when parent is presentField path: [].subscriptionPlanProducts[].deletedAtmetaDataobjectRequired when parent is presentField path: [].subscriptionPlanProducts[].metaDatapackagePackageRequired when parent is presentproductProductRequired when parent is presentField path: [].packageProducts[].productNested fields omitted: field limit.tenantIdnumberRequired when parent is presentField path: [].packageProducts[].tenantIdtenantTenantRequired when parent is presentField path: [].packageProducts[].tenantNested fields omitted: field limit.idnumberRequired when parent is presentField path: [].packageProducts[].idcreatedAtstring (date-time)Required when parent is presentField path: [].packageProducts[].createdAtupdatedAtstring (date-time)Required when parent is presentField path: [].packageProducts[].updatedAtdeletedAtstring (date-time)Required when parent is presentField path: [].packageProducts[].deletedAtmetaDataobjectRequired when parent is presentField path: [].packageProducts[].metaDatastringerrorsarray of FieldErrorRequired7 fieldserrorsfieldstringRequired when parent is presentField path: errors[].fieldfieldValuestringRequired when parent is presentField path: errors[].fieldValueidentifierstringRequired when parent is presentField path: errors[].identifieridentifierValuestringRequired when parent is presentField path: errors[].identifierValuemessageCodestringRequired when parent is presentField path: errors[].messageCodemessagestringField path: errors[].messageerrorTypestringRequired when parent is presentField path: errors[].errorType{
"messageCode": "badRequest",
"message": "string",
"errors": [
{}
]
}errorsarray of FieldErrorRequirederrorsfieldstringRequired when parent is presentField path: errors[].fieldfieldValuestringRequired when parent is presentField path: errors[].fieldValueidentifierstringRequired when parent is presentField path: errors[].identifieridentifierValuestringRequired when parent is presentField path: errors[].identifierValuemessageCodestringRequired when parent is presentField path: errors[].messageCodemessagestringField path: errors[].messageerrorTypestringRequired when parent is presentField path: errors[].errorType{
"messageCode": "productOwnerAccessPropagationFailed",
"message": "string",
"errors": [
{}
]
}