Generated from the backend route definitions. The complete machine-readable document is available as openapi.json.
Schemas
Reusable request and response schemas referenced by the operations above.
snowbee.SbPublicApiAuthorizeRequestGrantType
{
"type": "string",
"description": "OAuth2 grant type",
"enum": [
"client_credentials"
],
"title": "SbPublicApiAuthorizeRequestGrantType"
}
kotlin.String
{
"type": "string",
"description": "Discount type",
"enum": [
"PERCENTAGE",
"AMOUNT"
],
"example": "PERCENTAGE",
"title": "String"
}
snowbee.SbPublicApiOAuthTokenRequest
{
"type": "object",
"description": "OAuth 2.0 client credentials token request",
"properties": {
"client_id": {
"type": [
"null",
"string"
],
"description": "Client ID when using client_secret_post. Omit when using HTTP Basic.",
"title": "String"
},
"client_secret": {
"type": [
"null",
"string"
],
"description": "Client secret when using client_secret_post. Omit when using HTTP Basic.",
"title": "String"
},
"grant_type": {
"$ref": "#/components/schemas/snowbee.SbPublicApiAuthorizeRequestGrantType",
"description": "OAuth 2.0 grant type"
},
"resource": {
"type": [
"null",
"string"
],
"description": "eCom store ID for ecom or loyalty program ID for loyalty_programs. Omit for demand_planning.",
"title": "String"
},
"scope": {
"$ref": "#/components/schemas/kotlin.String",
"description": "API scope to request"
},
"tenant_id": {
"type": "string",
"description": "SnowBee tenant ID",
"example": "019c1234-5678-7abc-8def-123456789012",
"title": "String"
}
},
"required": [
"grant_type",
"scope",
"tenant_id"
],
"title": "SbPublicApiOAuthTokenRequest"
}
snowbee.SbPublicApiAuthorizeResponse
{
"type": "object",
"description": "OAuth2 token response",
"properties": {
"access_token": {
"type": "string",
"description": "JWT access token to use for API requests",
"example": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"title": "String"
},
"expires_in": {
"type": "integer",
"format": "int32",
"description": "Token expiration time in seconds",
"example": "3600",
"title": "Int"
},
"scope": {
"type": "string",
"description": "Scope granted to the access token",
"example": "ecom",
"title": "String"
},
"token_type": {
"$ref": "#/components/schemas/kotlin.String",
"description": "OAuth 2.0 token type"
}
},
"required": [
"access_token",
"expires_in",
"scope",
"token_type"
],
"title": "SbPublicApiAuthorizeResponse"
}
snowbee.SbPublicApiOAuthErrorResponse
{
"type": "object",
"description": "OAuth 2.0 token error response",
"properties": {
"error": {
"type": "string",
"description": "OAuth 2.0 error code",
"example": "invalid_request",
"title": "String"
},
"error_description": {
"type": "string",
"description": "Human-readable error description",
"example": "The tenant_id parameter is required",
"title": "String"
},
"resolution": {
"type": "string",
"description": "Suggested next action",
"example": "Add tenant_id to the form-encoded request and retry",
"title": "String"
}
},
"required": [
"error",
"error_description",
"resolution"
],
"title": "SbPublicApiOAuthErrorResponse"
}
snowbee.SbPublicApiAuthorizeRequest
{
"type": "object",
"description": "OAuth2 token request",
"properties": {
"client_id": {
"type": "string",
"description": "Client ID from your API credentials",
"example": "your-client-id",
"title": "String"
},
"client_secret": {
"type": "string",
"description": "Client secret from your API credentials",
"example": "your-client-secret",
"title": "String"
},
"grant_type": {
"$ref": "#/components/schemas/snowbee.SbPublicApiAuthorizeRequestGrantType",
"description": "OAuth2 grant type"
},
"resource": {
"type": [
"null",
"string"
],
"description": "Resource identifier: the eCom store ID for the ecom scope, the loyalty program ID for the loyalty_programs scope. Not used by the tenant-wide demand_planning scope.",
"title": "String"
},
"scope": {
"$ref": "#/components/schemas/kotlin.String",
"description": "API scope to request access to"
}
},
"required": [
"client_id",
"client_secret",
"grant_type",
"scope"
],
"title": "SbPublicApiAuthorizeRequest"
}
snowbee.SbPublicApiEcomStoreProductAttributesNameEntityResponse
{
"type": "object",
"description": "Named entity with localized name",
"properties": {
"id": {
"type": "string",
"description": "Entity identifier",
"example": "01234567-89ab-cdef-0123-456789abcdef",
"title": "String"
},
"name": {
"$ref": "#/components/schemas/snowbee.SbPublicApiLocalizedString",
"description": "Localized entity name"
}
},
"required": [
"id",
"name"
],
"title": "SbPublicApiEcomStoreProductAttributesNameEntityResponse"
}
snowbee.SbPublicApiLocalizedString
{
"type": "object",
"example": "{\"NO\":\"Norsk tekststreng\",\"EN\":\"English string\"}",
"properties": {
"value": {
"type": "object",
"additionalProperties": {
"type": "string"
}
}
},
"required": [
"value"
],
"title": "SbPublicApiLocalizedString"
}
snowbee.SbPublicApiEcomStoreBrandsResponse
{
"type": "object",
"description": "List of brands",
"properties": {
"brands": {
"type": "array",
"description": "Available brands",
"items": {
"$ref": "#/components/schemas/snowbee.SbPublicApiEcomStoreProductAttributesNameEntityResponse"
},
"title": "List<SbPublicApiEcomStoreProductAttributesNameEntityResponse>"
}
},
"required": [
"brands"
],
"title": "SbPublicApiEcomStoreBrandsResponse"
}
snowbee.ApiErrorResponse
{
"type": "object",
"description": "API error response",
"properties": {
"error": {
"type": "string",
"description": "Stable error code",
"example": "INVALID_REQUEST",
"title": "String"
},
"message": {
"type": "string",
"description": "Human-readable error message",
"example": "Invalid customer ID format",
"title": "String"
},
"resolution": {
"type": "string",
"description": "Suggested next action",
"example": "Correct the customer ID and retry the request",
"title": "String"
}
},
"required": [
"error",
"message",
"resolution"
],
"title": "ApiErrorResponse"
}
snowbee.SbPublicApiEcomStoreProductCategoryResponse
{
"type": "object",
"description": "Product category",
"properties": {
"code": {
"type": [
"null",
"string"
],
"description": "Product category code",
"example": "CAT-001",
"title": "String"
},
"id": {
"type": "string",
"description": "Entity identifier",
"example": "01234567-89ab-cdef-0123-456789abcdef",
"title": "String"
},
"name": {
"$ref": "#/components/schemas/snowbee.SbPublicApiLocalizedString",
"description": "Localized entity name"
}
},
"required": [
"id",
"name"
],
"title": "SbPublicApiEcomStoreProductCategoryResponse"
}
snowbee.SbPublicApiEcomStoreProductCategoriesResponse
{
"type": "object",
"description": "List of product categories",
"properties": {
"productCategories": {
"type": "array",
"description": "Product categories",
"items": {
"$ref": "#/components/schemas/snowbee.SbPublicApiEcomStoreProductCategoryResponse"
},
"title": "List<SbPublicApiEcomStoreProductCategoryResponse>"
}
},
"required": [
"productCategories"
],
"title": "SbPublicApiEcomStoreProductCategoriesResponse"
}
snowbee.SbPublicApiEcomStoreMainProductGroupResponse
{
"type": "object",
"description": "Main product group",
"properties": {
"code": {
"type": "string",
"description": "Group code",
"example": "MPG-001",
"title": "String"
},
"id": {
"type": "string",
"description": "Group identifier",
"example": "01234567-89ab-cdef-0123-456789abcdef",
"title": "String"
},
"name": {
"$ref": "#/components/schemas/snowbee.SbPublicApiLocalizedString",
"description": "Localized group name"
},
"productCategoryId": {
"type": "string",
"description": "Product category this group belongs to",
"example": "01234567-89ab-cdef-0123-456789abcdef",
"title": "String"
}
},
"required": [
"code",
"id",
"name",
"productCategoryId"
],
"title": "SbPublicApiEcomStoreMainProductGroupResponse"
}
snowbee.SbPublicApiEcomStoreMainProductGroupsResponse
{
"type": "object",
"description": "List of main product groups",
"properties": {
"mainProductGroups": {
"type": "array",
"description": "Main product groups",
"items": {
"$ref": "#/components/schemas/snowbee.SbPublicApiEcomStoreMainProductGroupResponse"
},
"title": "List<SbPublicApiEcomStoreMainProductGroupResponse>"
}
},
"required": [
"mainProductGroups"
],
"title": "SbPublicApiEcomStoreMainProductGroupsResponse"
}
snowbee.SbPublicApiEcomStoreSubProductGroupResponse
{
"type": "object",
"description": "Sub product group",
"properties": {
"code": {
"type": "string",
"description": "Group code",
"example": "SPG-001",
"title": "String"
},
"id": {
"type": "string",
"description": "Group identifier",
"example": "01234567-89ab-cdef-0123-456789abcdef",
"title": "String"
},
"mainProductGroupId": {
"type": "string",
"description": "Parent main product group",
"example": "01234567-89ab-cdef-0123-456789abcdef",
"title": "String"
},
"name": {
"$ref": "#/components/schemas/snowbee.SbPublicApiLocalizedString",
"description": "Localized group name"
}
},
"required": [
"code",
"id",
"mainProductGroupId",
"name"
],
"title": "SbPublicApiEcomStoreSubProductGroupResponse"
}
snowbee.SbPublicApiEcomStoreSubProductGroupsResponse
{
"type": "object",
"description": "List of sub product groups",
"properties": {
"subProductGroups": {
"type": "array",
"description": "Sub product groups",
"items": {
"$ref": "#/components/schemas/snowbee.SbPublicApiEcomStoreSubProductGroupResponse"
},
"title": "List<SbPublicApiEcomStoreSubProductGroupResponse>"
}
},
"required": [
"subProductGroups"
],
"title": "SbPublicApiEcomStoreSubProductGroupsResponse"
}
snowbee.SbPublicApiEcomStoreProductConceptsResponse
{
"type": "object",
"description": "List of product concepts",
"properties": {
"productConcepts": {
"type": "array",
"description": "Product concepts",
"items": {
"$ref": "#/components/schemas/snowbee.SbPublicApiEcomStoreProductAttributesNameEntityResponse"
},
"title": "List<SbPublicApiEcomStoreProductAttributesNameEntityResponse>"
}
},
"required": [
"productConcepts"
],
"title": "SbPublicApiEcomStoreProductConceptsResponse"
}
snowbee.SbPublicApiEcomStoreExclusivityLevelsResponse
{
"type": "object",
"description": "List of exclusivity levels",
"properties": {
"exclusivityLevels": {
"type": "array",
"description": "Exclusivity levels",
"items": {
"$ref": "#/components/schemas/snowbee.SbPublicApiEcomStoreProductAttributesNameEntityResponse"
},
"title": "List<SbPublicApiEcomStoreProductAttributesNameEntityResponse>"
}
},
"required": [
"exclusivityLevels"
],
"title": "SbPublicApiEcomStoreExclusivityLevelsResponse"
}
snowbee.SbPublicApiEcomStoreMainActivitiesResponse
{
"type": "object",
"description": "List of main activities",
"properties": {
"mainActivities": {
"type": "array",
"description": "Main activities",
"items": {
"$ref": "#/components/schemas/snowbee.SbPublicApiEcomStoreProductAttributesNameEntityResponse"
},
"title": "List<SbPublicApiEcomStoreProductAttributesNameEntityResponse>"
}
},
"required": [
"mainActivities"
],
"title": "SbPublicApiEcomStoreMainActivitiesResponse"
}
snowbee.SbPublicApiEcomStoreProductAttributesProductColorResponse
{
"type": "object",
"description": "Product color information",
"properties": {
"code": {
"type": "string",
"description": "Color code",
"example": "BLK",
"title": "String"
},
"id": {
"type": "string",
"description": "Color identifier",
"example": "01234567-89ab-cdef-0123-456789abcdef",
"title": "String"
},
"name": {
"$ref": "#/components/schemas/snowbee.SbPublicApiLocalizedString",
"description": "Localized color name"
}
},
"required": [
"code",
"id",
"name"
],
"title": "SbPublicApiEcomStoreProductAttributesProductColorResponse"
}
snowbee.SbPublicApiEcomStoreProductColorsResponse
{
"type": "object",
"description": "List of product colors",
"properties": {
"productColors": {
"type": "array",
"description": "Product colors",
"items": {
"$ref": "#/components/schemas/snowbee.SbPublicApiEcomStoreProductAttributesProductColorResponse"
},
"title": "List<SbPublicApiEcomStoreProductAttributesProductColorResponse>"
}
},
"required": [
"productColors"
],
"title": "SbPublicApiEcomStoreProductColorsResponse"
}
snowbee.SbPublicApiEcomStoreSizeResponse
{
"type": "object",
"description": "Product size information",
"properties": {
"code": {
"type": "string",
"description": "Size code",
"example": "M",
"title": "String"
},
"id": {
"type": "string",
"description": "Size identifier",
"example": "01234567-89ab-cdef-0123-456789abcdef",
"title": "String"
},
"name": {
"$ref": "#/components/schemas/snowbee.SbPublicApiLocalizedString",
"description": "Localized size name"
},
"sizeGroup": {
"type": "string",
"description": "Size group this size belongs to",
"example": "CLOTHING",
"title": "String"
},
"sizeGroupId": {
"type": "string",
"description": "Id of size group this size belongs to",
"example": "01234567-89ab-cdef-0123-456789abcdef",
"title": "String"
},
"sortFactor": {
"type": "integer",
"format": "int32",
"description": "Sort order factor",
"example": "3",
"title": "Int"
},
"status": {
"$ref": "#/components/schemas/snowbee.SbPublicApiEntityStatus",
"description": "Size status"
}
},
"required": [
"code",
"id",
"name",
"sizeGroup",
"sizeGroupId",
"sortFactor",
"status"
],
"title": "SbPublicApiEcomStoreSizeResponse"
}
snowbee.SbPublicApiEntityStatus
{
"type": "string",
"description": "Entity status",
"enum": [
"ACTIVE",
"INACTIVE"
],
"title": "SbPublicApiEntityStatus"
}
snowbee.SbPublicApiEcomStoreSizesResponse
{
"type": "object",
"description": "List of sizes",
"properties": {
"sizes": {
"type": "array",
"description": "Available sizes",
"items": {
"$ref": "#/components/schemas/snowbee.SbPublicApiEcomStoreSizeResponse"
},
"title": "List<SbPublicApiEcomStoreSizeResponse>"
}
},
"required": [
"sizes"
],
"title": "SbPublicApiEcomStoreSizesResponse"
}
snowbee.SbPublicApiEcomStoreProductAttributesDynamicAttributeResponse
{
"anyOf": [
{
"$ref": "#/components/schemas/snowbee.SbPublicApiEcomStoreProductAttributesDynamicAttributeResponse.SbPublicApiEcomStoreProductAttributesDynamicAttributeResponseBoolean"
},
{
"$ref": "#/components/schemas/snowbee.SbPublicApiEcomStoreProductAttributesDynamicAttributeResponse.SbPublicApiEcomStoreProductAttributesDynamicAttributeResponseMultiSelect"
},
{
"$ref": "#/components/schemas/snowbee.SbPublicApiEcomStoreProductAttributesDynamicAttributeResponse.SbPublicApiEcomStoreProductAttributesDynamicAttributeResponseRange"
},
{
"$ref": "#/components/schemas/snowbee.SbPublicApiEcomStoreProductAttributesDynamicAttributeResponse.SbPublicApiEcomStoreProductAttributesDynamicAttributeResponseSingleSelect"
},
{
"$ref": "#/components/schemas/snowbee.SbPublicApiEcomStoreProductAttributesDynamicAttributeResponse.SbPublicApiEcomStoreProductAttributesDynamicAttributeResponseText"
}
],
"description": "Dynamic attribute definition",
"title": "SbPublicApiEcomStoreProductAttributesDynamicAttributeResponse"
}
snowbee.SbPublicApiEcomStoreProductAttributesDynamicAttributeResponse.SbPublicApiEcomStoreProductAttributesDynamicAttributeResponseBoolean
{
"type": "object",
"description": "Boolean dynamic attribute definition",
"properties": {
"attributeType": {
"$ref": "#/components/schemas/snowbee.SbPublicApiEcomStoreProductDynamicAttributeValueTypeResponse",
"description": "Attribute type"
},
"id": {
"type": "string",
"description": "Dynamic attribute identifier",
"example": "01234567-89ab-cdef-0123-456789abcdef",
"title": "String"
},
"name": {
"$ref": "#/components/schemas/snowbee.SbPublicApiLocalizedString",
"description": "Localized attribute name"
}
},
"required": [
"attributeType",
"id",
"name"
],
"title": "SbPublicApiEcomStoreProductAttributesDynamicAttributeResponse.SbPublicApiEcomStoreProductAttributesDynamicAttributeResponseBoolean"
}
snowbee.SbPublicApiEcomStoreProductDynamicAttributeValueTypeResponse
{
"type": "string",
"enum": [
"BOOLEAN",
"RANGE",
"SINGLE_SELECT",
"MULTI_SELECT",
"TEXT"
],
"title": "SbPublicApiEcomStoreProductDynamicAttributeValueTypeResponse"
}
snowbee.SbPublicApiEcomStoreProductAttributesDynamicAttributeResponse.SbPublicApiEcomStoreProductAttributesDynamicAttributeResponseMultiSelect
{
"type": "object",
"description": "Multi-select dynamic attribute definition",
"properties": {
"attributeType": {
"$ref": "#/components/schemas/snowbee.SbPublicApiEcomStoreProductDynamicAttributeValueTypeResponse",
"description": "Attribute type"
},
"id": {
"type": "string",
"description": "Dynamic attribute identifier",
"example": "01234567-89ab-cdef-0123-456789abcdef",
"title": "String"
},
"name": {
"$ref": "#/components/schemas/snowbee.SbPublicApiLocalizedString",
"description": "Localized attribute name"
}
},
"required": [
"attributeType",
"id",
"name"
],
"title": "SbPublicApiEcomStoreProductAttributesDynamicAttributeResponse.SbPublicApiEcomStoreProductAttributesDynamicAttributeResponseMultiSelect"
}
snowbee.SbPublicApiEcomStoreProductAttributesDynamicAttributeResponse.SbPublicApiEcomStoreProductAttributesDynamicAttributeResponseRange
{
"type": "object",
"description": "Range/numeric dynamic attribute definition with min, max and step",
"properties": {
"attributeType": {
"$ref": "#/components/schemas/snowbee.SbPublicApiEcomStoreProductDynamicAttributeValueTypeResponse",
"description": "Attribute type"
},
"id": {
"type": "string",
"description": "Dynamic attribute identifier",
"example": "01234567-89ab-cdef-0123-456789abcdef",
"title": "String"
},
"name": {
"$ref": "#/components/schemas/snowbee.SbPublicApiLocalizedString",
"description": "Localized attribute name"
},
"from": {
"type": "string",
"format": "BigDecimal",
"description": "Minimum value",
"example": "0.0",
"title": "BigDecimalAsString"
},
"step": {
"type": "string",
"format": "BigDecimal",
"description": "Step increment",
"example": "1.0",
"title": "BigDecimalAsString"
},
"to": {
"type": "string",
"format": "BigDecimal",
"description": "Maximum value",
"example": "100.0",
"title": "BigDecimalAsString"
}
},
"required": [
"attributeType",
"from",
"id",
"name",
"step",
"to"
],
"title": "SbPublicApiEcomStoreProductAttributesDynamicAttributeResponse.SbPublicApiEcomStoreProductAttributesDynamicAttributeResponseRange"
}
snowbee.SbPublicApiEcomStoreProductAttributesDynamicAttributeResponse.SbPublicApiEcomStoreProductAttributesDynamicAttributeResponseSingleSelect
{
"type": "object",
"description": "Single-select dynamic attribute definition",
"properties": {
"attributeType": {
"$ref": "#/components/schemas/snowbee.SbPublicApiEcomStoreProductDynamicAttributeValueTypeResponse",
"description": "Attribute type"
},
"id": {
"type": "string",
"description": "Dynamic attribute identifier",
"example": "01234567-89ab-cdef-0123-456789abcdef",
"title": "String"
},
"name": {
"$ref": "#/components/schemas/snowbee.SbPublicApiLocalizedString",
"description": "Localized attribute name"
}
},
"required": [
"attributeType",
"id",
"name"
],
"title": "SbPublicApiEcomStoreProductAttributesDynamicAttributeResponse.SbPublicApiEcomStoreProductAttributesDynamicAttributeResponseSingleSelect"
}
snowbee.SbPublicApiEcomStoreProductAttributesDynamicAttributeResponse.SbPublicApiEcomStoreProductAttributesDynamicAttributeResponseText
{
"type": "object",
"description": "Text dynamic attribute definition",
"properties": {
"attributeType": {
"$ref": "#/components/schemas/snowbee.SbPublicApiEcomStoreProductDynamicAttributeValueTypeResponse",
"description": "Attribute type"
},
"id": {
"type": "string",
"description": "Dynamic attribute identifier",
"example": "01234567-89ab-cdef-0123-456789abcdef",
"title": "String"
},
"name": {
"$ref": "#/components/schemas/snowbee.SbPublicApiLocalizedString",
"description": "Localized attribute name"
},
"contentFormat": {
"type": "string",
"description": "Content format: PLAIN or MARKDOWN",
"example": "PLAIN",
"title": "String"
}
},
"required": [
"attributeType",
"contentFormat",
"id",
"name"
],
"title": "SbPublicApiEcomStoreProductAttributesDynamicAttributeResponse.SbPublicApiEcomStoreProductAttributesDynamicAttributeResponseText"
}
snowbee.SbPublicApiEcomStoreDynamicAttributesResponse
{
"type": "object",
"description": "List of dynamic attributes",
"properties": {
"dynamicAttributes": {
"type": "array",
"description": "Dynamic attributes",
"items": {
"$ref": "#/components/schemas/snowbee.SbPublicApiEcomStoreProductAttributesDynamicAttributeResponse"
},
"title": "List<SbPublicApiEcomStoreProductAttributesDynamicAttributeResponse>"
}
},
"required": [
"dynamicAttributes"
],
"title": "SbPublicApiEcomStoreDynamicAttributesResponse"
}
snowbee.SbPublicApiEcomStoreProductAttributesDynamicAttributeOptionResponse
{
"type": "object",
"description": "Dynamic attribute option",
"properties": {
"description": {
"type": [
"null",
"string"
],
"description": "Option description",
"example": "Product is waterproof",
"title": "String"
},
"dynamicAttributeId": {
"type": "string",
"description": "Parent dynamic attribute",
"example": "01234567-89ab-cdef-0123-456789abcdef",
"title": "String"
},
"id": {
"type": "string",
"description": "Option identifier",
"example": "01234567-89ab-cdef-0123-456789abcdef",
"title": "String"
},
"name": {
"type": "string",
"description": "Option name",
"example": "Waterproof",
"title": "String"
}
},
"required": [
"dynamicAttributeId",
"id",
"name"
],
"title": "SbPublicApiEcomStoreProductAttributesDynamicAttributeOptionResponse"
}
snowbee.SbPublicApiEcomStoreDynamicAttributeOptionsResponse
{
"type": "object",
"description": "List of dynamic attribute options",
"properties": {
"dynamicAttributeOptions": {
"type": "array",
"description": "Dynamic attribute options",
"items": {
"$ref": "#/components/schemas/snowbee.SbPublicApiEcomStoreProductAttributesDynamicAttributeOptionResponse"
},
"title": "List<SbPublicApiEcomStoreProductAttributesDynamicAttributeOptionResponse>"
}
},
"required": [
"dynamicAttributeOptions"
],
"title": "SbPublicApiEcomStoreDynamicAttributeOptionsResponse"
}
snowbee.SbPublicApiUnitOfMeasureResponse
{
"type": "object",
"description": "Unit of measure",
"properties": {
"code": {
"type": "string",
"description": "Unit code",
"example": "PCS",
"title": "String"
},
"id": {
"type": "string",
"description": "Unique identifier",
"example": "01234567-89ab-cdef-0123-456789abcdef",
"title": "String"
},
"name": {
"$ref": "#/components/schemas/snowbee.SbPublicApiLocalizedString",
"description": "Localized unit name"
}
},
"required": [
"code",
"id",
"name"
],
"title": "SbPublicApiUnitOfMeasureResponse"
}
snowbee.SbPublicApiUnitOfMeasuresResponse
{
"type": "object",
"description": "List of units of measure",
"properties": {
"unitOfMeasures": {
"type": "array",
"description": "List of available units of measure",
"items": {
"$ref": "#/components/schemas/snowbee.SbPublicApiUnitOfMeasureResponse"
},
"title": "List<SbPublicApiUnitOfMeasureResponse>"
}
},
"required": [
"unitOfMeasures"
],
"title": "SbPublicApiUnitOfMeasuresResponse"
}
snowbee.SbPublicApiProductIdsResponse
{
"type": "object",
"description": "List of product IDs in the ecom store assortment",
"properties": {
"productIds": {
"type": "array",
"description": "List of product IDs",
"items": {
"type": "string",
"title": "String"
},
"title": "List<String>"
}
},
"required": [
"productIds"
],
"title": "SbPublicApiProductIdsResponse"
}
snowbee.SbPublicApiEcomStoreProductDynamicAttributeValuesResponse
{
"anyOf": [
{
"$ref": "#/components/schemas/snowbee.SbPublicApiEcomStoreProductDynamicAttributeValuesResponse.SbPublicApiEcomStoreProductDynamicAttributeValuesResponseBoolean"
},
{
"$ref": "#/components/schemas/snowbee.SbPublicApiEcomStoreProductDynamicAttributeValuesResponse.SbPublicApiEcomStoreProductDynamicAttributeValuesResponseMultiSelect"
},
{
"$ref": "#/components/schemas/snowbee.SbPublicApiEcomStoreProductDynamicAttributeValuesResponse.SbPublicApiEcomStoreProductDynamicAttributeValuesResponseRange"
},
{
"$ref": "#/components/schemas/snowbee.SbPublicApiEcomStoreProductDynamicAttributeValuesResponse.SbPublicApiEcomStoreProductDynamicAttributeValuesResponseSingleSelect"
},
{
"$ref": "#/components/schemas/snowbee.SbPublicApiEcomStoreProductDynamicAttributeValuesResponse.SbPublicApiEcomStoreProductDynamicAttributeValuesResponseText"
}
],
"description": "Dynamic attribute value for a product",
"title": "SbPublicApiEcomStoreProductDynamicAttributeValuesResponse"
}
snowbee.SbPublicApiEcomStoreProductDynamicAttributeValuesResponse.SbPublicApiEcomStoreProductDynamicAttributeValuesResponseBoolean
{
"type": "object",
"description": "Boolean dynamic attribute value",
"properties": {
"id": {
"type": "string",
"description": "Dynamic attribute identifier",
"example": "01234567-89ab-cdef-0123-456789abcdef",
"title": "String"
},
"type": {
"$ref": "#/components/schemas/snowbee.SbPublicApiEcomStoreProductDynamicAttributeValueTypeResponse",
"description": "Value type"
},
"value": {
"type": "boolean",
"description": "Boolean value",
"example": "true",
"title": "Boolean"
}
},
"required": [
"id",
"type",
"value"
],
"title": "SbPublicApiEcomStoreProductDynamicAttributeValuesResponse.SbPublicApiEcomStoreProductDynamicAttributeValuesResponseBoolean"
}
snowbee.SbPublicApiEcomStoreProductDynamicAttributeValuesResponse.SbPublicApiEcomStoreProductDynamicAttributeValuesResponseMultiSelect
{
"type": "object",
"description": "Multi-select dynamic attribute value",
"properties": {
"id": {
"type": "string",
"description": "Dynamic attribute identifier",
"example": "01234567-89ab-cdef-0123-456789abcdef",
"title": "String"
},
"type": {
"$ref": "#/components/schemas/snowbee.SbPublicApiEcomStoreProductDynamicAttributeValueTypeResponse",
"description": "Value type"
},
"value": {
"type": "array",
"description": "List of selected option IDs",
"items": {
"type": "string",
"title": "String"
},
"title": "List<String>"
}
},
"required": [
"id",
"type",
"value"
],
"title": "SbPublicApiEcomStoreProductDynamicAttributeValuesResponse.SbPublicApiEcomStoreProductDynamicAttributeValuesResponseMultiSelect"
}
snowbee.SbPublicApiEcomStoreProductDynamicAttributeValuesResponse.SbPublicApiEcomStoreProductDynamicAttributeValuesResponseRange
{
"type": "object",
"description": "Range/numeric dynamic attribute value",
"properties": {
"id": {
"type": "string",
"description": "Dynamic attribute identifier",
"example": "01234567-89ab-cdef-0123-456789abcdef",
"title": "String"
},
"type": {
"$ref": "#/components/schemas/snowbee.SbPublicApiEcomStoreProductDynamicAttributeValueTypeResponse",
"description": "Value type"
},
"value": {
"type": "string",
"format": "BigDecimal",
"description": "Numeric value",
"example": "42.5",
"title": "BigDecimalAsString"
}
},
"required": [
"id",
"type",
"value"
],
"title": "SbPublicApiEcomStoreProductDynamicAttributeValuesResponse.SbPublicApiEcomStoreProductDynamicAttributeValuesResponseRange"
}
snowbee.SbPublicApiEcomStoreProductDynamicAttributeValuesResponse.SbPublicApiEcomStoreProductDynamicAttributeValuesResponseSingleSelect
{
"type": "object",
"description": "Single-select dynamic attribute value",
"properties": {
"id": {
"type": "string",
"description": "Dynamic attribute identifier",
"example": "01234567-89ab-cdef-0123-456789abcdef",
"title": "String"
},
"type": {
"$ref": "#/components/schemas/snowbee.SbPublicApiEcomStoreProductDynamicAttributeValueTypeResponse",
"description": "Value type"
},
"value": {
"type": [
"null",
"string"
],
"description": "Selected option ID",
"example": "01234567-89ab-cdef-0123-456789abcdef",
"title": "String"
}
},
"required": [
"id",
"type"
],
"title": "SbPublicApiEcomStoreProductDynamicAttributeValuesResponse.SbPublicApiEcomStoreProductDynamicAttributeValuesResponseSingleSelect"
}
snowbee.SbPublicApiEcomStoreProductDynamicAttributeValuesResponse.SbPublicApiEcomStoreProductDynamicAttributeValuesResponseText
{
"type": "object",
"description": "Text dynamic attribute value",
"properties": {
"id": {
"type": "string",
"description": "Dynamic attribute identifier",
"example": "01234567-89ab-cdef-0123-456789abcdef",
"title": "String"
},
"type": {
"$ref": "#/components/schemas/snowbee.SbPublicApiEcomStoreProductDynamicAttributeValueTypeResponse",
"description": "Value type"
},
"value": {
"$ref": "#/components/schemas/snowbee.SbPublicApiLocalizedString",
"description": "Localized text value"
}
},
"required": [
"id",
"type",
"value"
],
"title": "SbPublicApiEcomStoreProductDynamicAttributeValuesResponse.SbPublicApiEcomStoreProductDynamicAttributeValuesResponseText"
}
snowbee.SbPublicApiEcomStoreProductImageResponse
{
"type": "object",
"description": "Product image",
"properties": {
"id": {
"type": "string",
"description": "Image identifier",
"example": "01234567-89ab-cdef-0123-456789abcdef",
"title": "String"
},
"sortOrder": {
"type": "integer",
"format": "int32",
"description": "Sort order for display",
"example": "1",
"title": "Int"
},
"url": {
"type": "string",
"description": "Image URL",
"example": "https://cdn.example.com/images/product-001.jpg",
"title": "String"
}
},
"required": [
"id",
"sortOrder",
"url"
],
"title": "SbPublicApiEcomStoreProductImageResponse"
}
snowbee.SbPublicApiProductPrice
{
"type": "object",
"description": "Product pricing information",
"properties": {
"campaignPrice": {
"type": [
"null",
"string"
],
"format": "BigDecimal",
"description": "Campaign/sale price",
"example": "249.00",
"pattern": "^-?\\d+(\\.\\d{1,2})?$",
"title": "BigDecimalAsString"
},
"loyaltyMemberPrice": {
"type": [
"null",
"string"
],
"format": "BigDecimal",
"description": "Loyalty member price",
"example": "239.00",
"pattern": "^-?\\d+(\\.\\d{1,2})?$",
"title": "BigDecimalAsString"
},
"price": {
"type": "string",
"format": "BigDecimal",
"description": "Regular price",
"example": "299.00",
"pattern": "^-?\\d+(\\.\\d{1,2})?$",
"title": "BigDecimalAsString"
}
},
"required": [
"price"
],
"title": "SbPublicApiProductPrice"
}
snowbee.SbPublicApiEcomStoreProductSkuResponse
{
"type": "object",
"description": "Product SKU (Stock Keeping Unit) variant",
"properties": {
"barcode": {
"type": [
"null",
"string"
],
"description": "Barcode (EAN/UPC)",
"example": "1234567890123",
"title": "String"
},
"id": {
"type": "string",
"description": "SKU identifier",
"example": "01234567-89ab-cdef-0123-456789abcdef",
"title": "String"
},
"productColorId": {
"type": [
"null",
"string"
],
"description": "Product color identifier",
"example": "01234567-89ab-cdef-0123-456789abcdef",
"title": "String"
},
"published": {
"type": "boolean",
"description": "Whether the SKU is published",
"example": "true",
"title": "Boolean"
},
"sizeId": {
"type": [
"null",
"string"
],
"description": "Size identifier",
"example": "01234567-89ab-cdef-0123-456789abcdef",
"title": "String"
},
"skuNumber": {
"type": "string",
"description": "SKU number/code",
"example": "PROD-BLK-M",
"title": "String"
}
},
"required": [
"id",
"published",
"skuNumber"
],
"title": "SbPublicApiEcomStoreProductSkuResponse"
}
snowbee.SbPublicApiUpcomingProductPrice
{
"type": "object",
"description": "Upcoming price change",
"properties": {
"activatesAt": {
"type": "string",
"format": "ISO 8681 timestamp",
"description": "When this price becomes active",
"example": "2025-10-28T12:37:42Z",
"title": "ISO8681"
},
"campaignPrice": {
"type": [
"null",
"string"
],
"format": "BigDecimal",
"description": "Campaign/sale price",
"example": "269.00",
"pattern": "^-?\\d+(\\.\\d{1,2})?$",
"title": "BigDecimalAsString"
},
"loyaltyMemberPrice": {
"type": [
"null",
"string"
],
"format": "BigDecimal",
"description": "Loyalty member price",
"example": "259.00",
"pattern": "^-?\\d+(\\.\\d{1,2})?$",
"title": "BigDecimalAsString"
},
"price": {
"type": "string",
"format": "BigDecimal",
"description": "Regular price",
"example": "319.00",
"pattern": "^-?\\d+(\\.\\d{1,2})?$",
"title": "BigDecimalAsString"
}
},
"required": [
"activatesAt",
"price"
],
"title": "SbPublicApiUpcomingProductPrice"
}
snowbee.SbPublicApiEcomStoreProductResponse
{
"type": "object",
"description": "Product information with SKUs, images, and pricing",
"properties": {
"brandId": {
"type": "string",
"description": "Brand identifier",
"example": "01234567-89ab-cdef-0123-456789abcdef",
"title": "String"
},
"bundledProductModelIds": {
"type": "array",
"description": "IDs of bundled product models",
"items": {
"type": "string",
"title": "String"
},
"title": "List<String>"
},
"dynamicAttributeValues": {
"type": "array",
"description": "Dynamic attribute values for this product",
"items": {
"$ref": "#/components/schemas/snowbee.SbPublicApiEcomStoreProductDynamicAttributeValuesResponse"
},
"title": "List<SbPublicApiEcomStoreProductDynamicAttributeValuesResponse>"
},
"exclusivityLevelId": {
"type": [
"null",
"string"
],
"description": "Exclusivity level identifier",
"example": "01234567-89ab-cdef-0123-456789abcdef",
"title": "String"
},
"id": {
"type": "string",
"description": "Product identifier",
"example": "01234567-89ab-cdef-0123-456789abcdef",
"title": "String"
},
"images": {
"type": "array",
"description": "Product images",
"items": {
"$ref": "#/components/schemas/snowbee.SbPublicApiEcomStoreProductImageResponse"
},
"title": "List<SbPublicApiEcomStoreProductImageResponse>"
},
"mainActivityId": {
"type": [
"null",
"string"
],
"description": "Main activity identifier",
"example": "01234567-89ab-cdef-0123-456789abcdef",
"title": "String"
},
"mainProductGroupId": {
"type": "string",
"description": "Main product group identifier",
"example": "01234567-89ab-cdef-0123-456789abcdef",
"title": "String"
},
"newFrom": {
"type": [
"null",
"string"
],
"format": "date",
"description": "Date the product is tagged as new from (inclusive)",
"example": "2026-06-01",
"title": "LocalDate"
},
"newTo": {
"type": [
"null",
"string"
],
"format": "date",
"description": "Date the product is tagged as new until (inclusive)",
"example": "2026-08-31",
"title": "LocalDate"
},
"price": {
"type": "object",
"additionalProperties": {
"$ref": "#/components/schemas/snowbee.SbPublicApiProductPrice"
},
"description": "Current prices by currency (key is ISO 4217 currency code)",
"title": "Map<String,SbPublicApiProductPrice>"
},
"productCategoryId": {
"type": "string",
"description": "Product category identifier",
"example": "01234567-89ab-cdef-0123-456789abcdef",
"title": "String"
},
"productConceptId": {
"type": [
"null",
"string"
],
"description": "Product concept identifier",
"example": "01234567-89ab-cdef-0123-456789abcdef",
"title": "String"
},
"productDescription": {
"$ref": "#/components/schemas/snowbee.SbPublicApiLocalizedString",
"description": "Localized product description"
},
"productFeatures": {
"type": "array",
"description": "List of localized product features",
"items": {
"$ref": "#/components/schemas/snowbee.SbPublicApiLocalizedString"
},
"title": "List<SbPublicApiLocalizedString>"
},
"productName": {
"$ref": "#/components/schemas/snowbee.SbPublicApiLocalizedString",
"description": "Localized product name"
},
"productNumber": {
"type": "string",
"description": "Product number/code",
"example": "PROD-001",
"title": "String"
},
"published": {
"type": "boolean",
"description": "Whether the product is published",
"example": "true",
"title": "Boolean"
},
"skus": {
"type": "array",
"description": "SKU variants for this product",
"items": {
"$ref": "#/components/schemas/snowbee.SbPublicApiEcomStoreProductSkuResponse"
},
"title": "List<SbPublicApiEcomStoreProductSkuResponse>"
},
"subProductGroupId": {
"type": "string",
"description": "Sub product group identifier",
"example": "01234567-89ab-cdef-0123-456789abcdef",
"title": "String"
},
"upcomingPriceCalendar": {
"type": "object",
"additionalProperties": {
"type": "array",
"items": {
"$ref": "#/components/schemas/snowbee.SbPublicApiUpcomingProductPrice"
},
"title": "List<SbPublicApiUpcomingProductPrice>"
},
"description": "Upcoming price changes by currency for the next 30 days",
"title": "Map<String,List<SbPublicApiUpcomingProductPrice>>"
},
"vatGroupId": {
"type": "string",
"description": "VAT group identifier",
"example": "01234567-89ab-cdef-0123-456789abcdef",
"title": "String"
}
},
"required": [
"brandId",
"bundledProductModelIds",
"dynamicAttributeValues",
"id",
"images",
"mainProductGroupId",
"price",
"productCategoryId",
"productDescription",
"productFeatures",
"productName",
"productNumber",
"published",
"skus",
"subProductGroupId",
"upcomingPriceCalendar",
"vatGroupId"
],
"title": "SbPublicApiEcomStoreProductResponse"
}
snowbee.SbPublicApiInventoryByLocation
{
"type": "object",
"description": "Inventory quantity at a specific location",
"properties": {
"availableQuantity": {
"type": "string",
"description": "Available quantity at this location",
"example": "25",
"title": "String"
},
"id": {
"type": [
"null",
"string"
],
"description": "Location identifier",
"example": "01234567-89ab-cdef-0123-456789abcdef",
"title": "String"
},
"name": {
"type": "string",
"description": "Location name",
"example": "Oslo Main Warehouse",
"title": "String"
}
},
"required": [
"availableQuantity",
"name"
],
"title": "SbPublicApiInventoryByLocation"
}
snowbee.SbPublicApiEcomStoreProductInventorySkuResponse
{
"type": "object",
"description": "SKU inventory information",
"properties": {
"availableQuantity": {
"type": "string",
"description": "Total available quantity",
"example": "100",
"title": "String"
},
"id": {
"type": "string",
"description": "SKU identifier",
"example": "01234567-89ab-cdef-0123-456789abcdef",
"title": "String"
},
"inventoryByLocation": {
"type": "array",
"description": "Breakdown of inventory by location",
"items": {
"$ref": "#/components/schemas/snowbee.SbPublicApiInventoryByLocation"
},
"title": "List<SbPublicApiInventoryByLocation>"
},
"sizeId": {
"type": [
"null",
"string"
],
"description": "Size identifier",
"example": "01234567-89ab-cdef-0123-456789abcdef",
"title": "String"
},
"skuNumber": {
"type": "string",
"description": "SKU number/code",
"example": "PROD-BLK-M",
"title": "String"
},
"unitOfMeasure": {
"type": [
"null",
"string"
],
"description": "Unit of measure code",
"example": "PCS",
"title": "String"
}
},
"required": [
"availableQuantity",
"id",
"inventoryByLocation",
"skuNumber"
],
"title": "SbPublicApiEcomStoreProductInventorySkuResponse"
}
snowbee.SbPublicApiRetailStoreResponse
{
"type": "object",
"description": "Retail store information",
"properties": {
"id": {
"type": "string",
"description": "Unique identifier of the store",
"example": "01234567-89ab-cdef-0123-456789abcdef",
"title": "String"
},
"name": {
"type": "string",
"description": "Store name",
"example": "Oslo City Store",
"title": "String"
},
"number": {
"type": "string",
"description": "Store number",
"example": "1001",
"title": "String"
},
"visitAddress": {
"description": "Store visit address",
"oneOf": [
{
"type": "null"
},
{
"$ref": "#/components/schemas/snowbee.SbPublicApiRetailStoreAddressResponse"
}
]
}
},
"required": [
"id",
"name",
"number"
],
"title": "SbPublicApiRetailStoreResponse"
}
snowbee.SbPublicApiRetailStoreAddressResponse
{
"type": "object",
"description": "Address for a retail store",
"properties": {
"city": {
"type": "string",
"description": "City name",
"example": "Oslo",
"title": "String"
},
"countryIsoCode": {
"type": "string",
"description": "ISO 3166-1 alpha-2 country code",
"example": "NO",
"title": "String"
},
"postCode": {
"type": "string",
"description": "Postal/ZIP code",
"example": "0154",
"title": "String"
},
"street": {
"type": "string",
"description": "Street address including number",
"example": "Karl Johans gate 1",
"title": "String"
},
"type": {
"type": "string",
"description": "Address type",
"example": "VISIT",
"title": "String"
}
},
"required": [
"city",
"countryIsoCode",
"postCode",
"street",
"type"
],
"title": "SbPublicApiRetailStoreAddressResponse"
}
snowbee.SbPublicApiRetailStoresResponse
{
"type": "object",
"description": "List of retail stores",
"properties": {
"retailStores": {
"type": "array",
"description": "List of retail stores",
"items": {
"$ref": "#/components/schemas/snowbee.SbPublicApiRetailStoreResponse"
},
"title": "List<SbPublicApiRetailStoreResponse>"
}
},
"required": [
"retailStores"
],
"title": "SbPublicApiRetailStoresResponse"
}
snowbee.SbPublicApiCampaignResponse
{
"type": "object",
"description": "Campaign information with pricing for specific SKUs",
"properties": {
"campaignType": {
"$ref": "#/components/schemas/snowbee.SbPublicApiCampaignType",
"description": "The campaign's type, which decides how to read each sku's campaignPrice"
},
"code": {
"type": [
"null",
"string"
],
"description": "Campaign code for reference",
"example": "SUMMER2024",
"title": "String"
},
"currencyIsoCode": {
"type": "string",
"description": "ISO 4217 currency code for campaign prices",
"example": "NOK",
"title": "String"
},
"id": {
"type": "string",
"description": "Unique identifier of the campaign",
"example": "01234567-89ab-cdef-0123-456789abcdef",
"title": "String"
},
"loyaltyProgram": {
"description": "Loyalty program associated with this campaign",
"oneOf": [
{
"type": "null"
},
{
"$ref": "#/components/schemas/snowbee.SbPublicApiCampaignLoyaltyProgramResponse"
}
]
},
"name": {
"type": "string",
"description": "Display name of the campaign",
"example": "Summer Sale 2024",
"title": "String"
},
"skus": {
"type": "array",
"description": "List of SKUs included in this campaign with their campaign prices",
"items": {
"$ref": "#/components/schemas/snowbee.SbPublicApiCampaignSkuResponse"
},
"title": "List<SbPublicApiCampaignSkuResponse>"
},
"status": {
"$ref": "#/components/schemas/snowbee.SbPublicApiCampaignStatus",
"description": "Current status of the campaign"
},
"validFrom": {
"type": "string",
"format": "date",
"description": "Start date of the campaign (inclusive)",
"example": "2024-06-01",
"title": "LocalDate"
},
"validTo": {
"type": "string",
"format": "date",
"description": "End date of the campaign (inclusive)",
"example": "2024-08-31",
"title": "LocalDate"
}
},
"required": [
"campaignType",
"currencyIsoCode",
"id",
"name",
"skus",
"status",
"validFrom",
"validTo"
],
"title": "SbPublicApiCampaignResponse"
}
snowbee.SbPublicApiCampaignType
{
"type": "string",
"description": "What kind of campaign this is, matching the campaign type set in SnowBee",
"enum": [
"NORMAL",
"THREE_FOR_TWO"
],
"title": "SbPublicApiCampaignType"
}
snowbee.SbPublicApiCampaignLoyaltyProgramResponse
{
"type": "object",
"description": "Loyalty program associated with a campaign",
"properties": {
"id": {
"type": "string",
"description": "Unique identifier of the loyalty program",
"example": "01234567-89ab-cdef-0123-456789abcdef",
"title": "String"
},
"name": {
"type": "string",
"description": "Name of the loyalty program",
"example": "Premium Members Club",
"title": "String"
}
},
"required": [
"id",
"name"
],
"title": "SbPublicApiCampaignLoyaltyProgramResponse"
}
snowbee.SbPublicApiCampaignSkuResponse
{
"type": "object",
"description": "SKU pricing within a campaign",
"properties": {
"campaignPrice": {
"type": "string",
"format": "BigDecimal",
"description": "The price this sku sells at while the campaign runs. For a NORMAL campaign that is the discounted price; for THREE_FOR_TWO the unit price does not change, so it is the sku's normal price and campaignType is what carries the offer",
"example": "199.00",
"pattern": "^-?\\d+(\\.\\d{1,2})?$",
"title": "BigDecimalAsString"
},
"loyaltyProgramMembershipRequired": {
"type": "boolean",
"description": "Whether loyalty program membership is required to purchase this SKU at the campaign price",
"example": "false",
"title": "Boolean"
},
"skuId": {
"type": "string",
"description": "Unique identifier of the SKU",
"example": "01234567-89ab-cdef-0123-456789abcdef",
"title": "String"
}
},
"required": [
"campaignPrice",
"loyaltyProgramMembershipRequired",
"skuId"
],
"title": "SbPublicApiCampaignSkuResponse"
}
snowbee.SbPublicApiCampaignStatus
{
"type": "string",
"description": "Campaign status",
"enum": [
"PLANNED",
"ACTIVE"
],
"title": "SbPublicApiCampaignStatus"
}
snowbee.SbPublicApiCampaignsResponse
{
"type": "object",
"description": "List of campaigns",
"properties": {
"campaigns": {
"type": "array",
"description": "List of available campaigns",
"items": {
"$ref": "#/components/schemas/snowbee.SbPublicApiCampaignResponse"
},
"title": "List<SbPublicApiCampaignResponse>"
}
},
"required": [
"campaigns"
],
"title": "SbPublicApiCampaignsResponse"
}
snowbee.SbPublicApiTriggerProductEventsResponse
{
"type": "object",
"description": "Response for product event trigger operation",
"properties": {
"eventsTriggered": {
"type": "integer",
"format": "int32",
"description": "Number of events triggered",
"example": "42",
"title": "Int"
},
"message": {
"type": "string",
"description": "Status message",
"example": "Successfully triggered product events",
"title": "String"
}
},
"required": [
"eventsTriggered",
"message"
],
"title": "SbPublicApiTriggerProductEventsResponse"
}
snowbee.SbPublicApiTriggerInventoryEventsResponse
{
"type": "object",
"description": "Response for inventory event trigger operation",
"properties": {
"eventsTriggered": {
"type": "integer",
"format": "int32",
"description": "Number of events triggered",
"example": "150",
"title": "Int"
},
"message": {
"type": "string",
"description": "Status message",
"example": "Successfully triggered inventory events",
"title": "String"
}
},
"required": [
"eventsTriggered",
"message"
],
"title": "SbPublicApiTriggerInventoryEventsResponse"
}
snowbee.SbPublicApiDeliveryAddressRequest
{
"type": "object",
"description": "Delivery address for an order",
"properties": {
"city": {
"type": "string",
"description": "City name",
"example": "Oslo",
"title": "String"
},
"countryIsoCode": {
"type": "string",
"description": "ISO 3166-1 alpha-2 country code",
"example": "NO",
"title": "String"
},
"email": {
"type": [
"null",
"string"
],
"description": "Contact email for delivery notifications",
"example": "ola.nordmann@example.com",
"title": "String"
},
"name": {
"type": "string",
"description": "Recipient name",
"example": "Ola Nordmann",
"title": "String"
},
"phone": {
"type": [
"null",
"string"
],
"description": "Contact phone for delivery",
"example": "+4790123456",
"title": "String"
},
"postCode": {
"type": "string",
"description": "Postal/ZIP code",
"example": "0123",
"title": "String"
},
"street": {
"type": "string",
"description": "Street address including house number",
"example": "Storgata 1",
"title": "String"
}
},
"required": [
"city",
"countryIsoCode",
"name",
"postCode",
"street"
],
"title": "SbPublicApiDeliveryAddressRequest"
}
snowbee.SbPublicApiFreightInfo
{
"type": "object",
"description": "Freight/shipping information for an order",
"properties": {
"carrierAgreementCode": {
"type": "string",
"description": "Carrier agreement code",
"example": "6838716034162098000",
"title": "String"
},
"carrierCode": {
"type": "string",
"description": "Carrier code",
"example": "porterbuddy",
"title": "String"
},
"carrierName": {
"type": [
"null",
"string"
],
"description": "Carrier display name",
"example": "Porterbuddy",
"title": "String"
},
"carrierProductCode": {
"type": "string",
"description": "Carrier product code",
"example": "8747679326213767168",
"title": "String"
},
"carrierProductName": {
"type": [
"null",
"string"
],
"description": "Carrier product display name",
"example": "Evening delivery",
"title": "String"
},
"carrierProductPayload": {
"description": "Provider-specific extra data",
"oneOf": [
{
"type": "null"
},
{
"$ref": "#/components/schemas/snowbee.SbPublicApiCarrierProductPayload"
}
]
},
"freightVatRate": {
"type": [
"null",
"string"
],
"format": "BigDecimal",
"description": "VAT rate for freight as a percentage",
"example": "25.00",
"title": "BigDecimalAsString"
},
"netFreightAmount": {
"type": [
"null",
"string"
],
"format": "BigDecimal",
"description": "Net freight/shipping cost amount (excl. VAT)",
"example": "49.00",
"title": "BigDecimalAsString"
}
},
"required": [
"carrierAgreementCode",
"carrierCode",
"carrierProductCode"
],
"title": "SbPublicApiFreightInfo"
}
snowbee.SbPublicApiCarrierProductPayload
{
"type": "object",
"description": "Carrier product payload",
"properties": {
"partnerName": {
"type": [
"null",
"string"
],
"description": "Partner name from provider",
"title": "String"
},
"partnerNumber": {
"type": [
"null",
"string"
],
"description": "Partner number from provider",
"title": "String"
}
},
"title": "SbPublicApiCarrierProductPayload"
}
snowbee.SbPublicApiInvoiceAddressRequest
{
"type": "object",
"description": "Invoice/billing address for an order",
"properties": {
"city": {
"type": "string",
"description": "City name",
"example": "Oslo",
"title": "String"
},
"countryIsoCode": {
"type": "string",
"description": "ISO 3166-1 alpha-2 country code",
"example": "NO",
"title": "String"
},
"email": {
"type": "string",
"description": "Email for invoice delivery",
"example": "ola.nordmann@example.com",
"title": "String"
},
"name": {
"type": "string",
"description": "Recipient name",
"example": "Ola Nordmann",
"title": "String"
},
"postCode": {
"type": "string",
"description": "Postal/ZIP code",
"example": "0123",
"title": "String"
},
"street": {
"type": "string",
"description": "Street address including house number",
"example": "Storgata 1",
"title": "String"
}
},
"required": [
"city",
"countryIsoCode",
"email",
"name",
"postCode",
"street"
],
"title": "SbPublicApiInvoiceAddressRequest"
}
snowbee.SbPublicApiOrderLineItemRequest
{
"type": "object",
"description": "Line item for an order. Either skuId or skuNumber must be provided.",
"properties": {
"campaignCode": {
"type": [
"null",
"string"
],
"description": "Code of the campaign this line was sold under, as returned by GET /campaigns. Send it on every line sold under a campaign. For a NORMAL campaign the line must be priced at that SKU's campaignPrice. For a THREE_FOR_TWO, price the line at the basket's answer -- the blended per-unit price after the offer, at most the SKU's normal price -- exactly as a cash register would. Rejected if the code is not a released campaign covering the SKU on the order date, or if the line's price does not bear the campaign out.",
"example": "SUMMER24",
"title": "String"
},
"netUnitOrderDiscountAmount": {
"type": [
"null",
"string"
],
"format": "BigDecimal",
"description": "Per-unit reduction taken on top of netUnitPrice, such as a gift voucher or a coupon share spread across the order's lines. Not for a campaign price or any other markdown belonging in netUnitPrice: summed into one figure, a campaign markdown and a voucher cannot be told apart afterwards.",
"example": "10.00",
"title": "BigDecimalAsString"
},
"netUnitPrice": {
"type": "string",
"format": "BigDecimal",
"description": "Price of one unit excluding VAT, as charged to the customer. Send the price after any campaign price or markdown -- not a list price. Where the line was sold under a campaign, this must be that campaign's campaignPrice from GET /campaigns.",
"example": "299.00",
"title": "BigDecimalAsString"
},
"quantity": {
"type": "string",
"format": "BigDecimal",
"description": "Quantity ordered",
"example": "2.0",
"title": "BigDecimalAsString"
},
"skuId": {
"type": [
"null",
"string"
],
"description": "SKU ID of the product (provide either skuId or skuNumber)",
"example": "01234567-89ab-cdef-0123-456789abcdef",
"title": "String"
},
"skuNumber": {
"type": [
"null",
"string"
],
"description": "SKU number/code of the product (provide either skuId or skuNumber)",
"example": "PROD-BLK-M",
"title": "String"
},
"vatRate": {
"type": "string",
"format": "BigDecimal",
"description": "VAT rate as percentage",
"example": "25.00",
"title": "BigDecimalAsString"
}
},
"required": [
"netUnitPrice",
"quantity",
"vatRate"
],
"title": "SbPublicApiOrderLineItemRequest"
}
snowbee.SbPublicApiVoucherRequest
{
"type": "object",
"description": "Voucher/discount coupon to apply to an order",
"properties": {
"externalReference": {
"type": "string",
"description": "External reference for the voucher (e.g. Trigg promotion UUID)",
"example": "abc123-promo-uuid",
"title": "String"
},
"title": {
"type": [
"null",
"string"
],
"description": "Display name for the voucher",
"example": "Summer Sale 20%",
"title": "String"
},
"type": {
"description": "Discount type",
"oneOf": [
{
"type": "null"
},
{
"$ref": "#/components/schemas/kotlin.String"
}
]
},
"value": {
"type": [
"null",
"string"
],
"format": "BigDecimal",
"description": "Discount value (percentage 0-100 or fixed amount)",
"example": "20.00",
"title": "BigDecimalAsString"
}
},
"required": [
"externalReference"
],
"title": "SbPublicApiVoucherRequest"
}
snowbee.SbPublicApiCreateOrderRequest
{
"type": "object",
"description": "Request body for creating a new sales order",
"properties": {
"customerId": {
"type": [
"null",
"string"
],
"description": "Customer ID to associate with the order",
"example": "01234567-89ab-cdef-0123-456789abcdef",
"title": "String"
},
"deliveryAddress": {
"$ref": "#/components/schemas/snowbee.SbPublicApiDeliveryAddressRequest",
"description": "Delivery/shipping address for the order"
},
"externalOrderId": {
"type": [
"null",
"string"
],
"description": "External order ID from your e-commerce platform",
"example": "SHOP-ORD-12345",
"title": "String"
},
"externalOrderNumber": {
"type": [
"null",
"string"
],
"description": "External order number displayed to customer",
"example": "WEB-2024-00123",
"title": "String"
},
"freight": {
"description": "Optional freight/shipping information",
"oneOf": [
{
"type": "null"
},
{
"$ref": "#/components/schemas/snowbee.SbPublicApiFreightInfo"
}
]
},
"invoiceAddress": {
"$ref": "#/components/schemas/snowbee.SbPublicApiInvoiceAddressRequest",
"description": "Invoice/billing address for the order"
},
"lineItems": {
"type": "array",
"description": "List of items to include in the order",
"items": {
"$ref": "#/components/schemas/snowbee.SbPublicApiOrderLineItemRequest"
},
"title": "List<SbPublicApiOrderLineItemRequest>"
},
"vouchers": {
"type": [
"null",
"array"
],
"description": "Vouchers/discount coupons to apply to the order",
"items": {
"$ref": "#/components/schemas/snowbee.SbPublicApiVoucherRequest"
},
"title": "List<SbPublicApiVoucherRequest>"
}
},
"required": [
"deliveryAddress",
"invoiceAddress",
"lineItems"
],
"title": "SbPublicApiCreateOrderRequest"
}
snowbee.SbPublicApiCreateOrderResponse
{
"type": "object",
"description": "Response after accepting an order, containing full order id",
"properties": {
"id": {
"type": "string",
"description": "Unique identifier of the created order",
"example": "01234567-89ab-cdef-0123-456789abcdef",
"title": "String"
}
},
"required": [
"id"
],
"title": "SbPublicApiCreateOrderResponse"
}
snowbee.SbPublicApiCaptureResponse
{
"type": "object",
"description": "Payment capture for an order",
"properties": {
"amount": {
"type": [
"null",
"string"
],
"format": "BigDecimal",
"description": "Captured amount",
"example": "747.50",
"pattern": "^-?\\d+(\\.\\d{1,2})?$",
"title": "BigDecimalAsString"
},
"createdDate": {
"type": [
"null",
"string"
],
"format": "date",
"description": "Date the capture was created",
"example": "2024-06-15",
"title": "LocalDate"
},
"id": {
"type": "string",
"description": "Unique identifier",
"example": "01234567-89ab-cdef-0123-456789abcdef",
"title": "String"
},
"lines": {
"type": "array",
"description": "Line items in this capture",
"items": {
"$ref": "#/components/schemas/snowbee.SbPublicApiCaptureLineResponse"
},
"title": "List<SbPublicApiCaptureLineResponse>"
},
"status": {
"$ref": "#/components/schemas/snowbee.SbPublicApiCaptureStatus",
"description": "Capture status"
}
},
"required": [
"id",
"lines",
"status"
],
"title": "SbPublicApiCaptureResponse"
}
snowbee.SbPublicApiCaptureLineResponse
{
"type": "object",
"description": "Line item in a capture",
"properties": {
"lineItemId": {
"type": "string",
"description": "Reference to order line item",
"example": "01234567-89ab-cdef-0123-456789abcdef",
"title": "String"
},
"quantity": {
"type": "string",
"format": "BigDecimal",
"description": "Quantity captured",
"example": "2.0",
"title": "BigDecimalAsString"
}
},
"required": [
"lineItemId",
"quantity"
],
"title": "SbPublicApiCaptureLineResponse"
}
snowbee.SbPublicApiCaptureStatus
{
"type": "string",
"description": "Payment capture status",
"enum": [
"PENDING",
"CONFIRMED",
"FAILED"
],
"title": "SbPublicApiCaptureStatus"
}
snowbee.SbPublicApiDeliveryAddressResponse
{
"type": "object",
"description": "Delivery address details",
"properties": {
"city": {
"type": "string",
"description": "City name",
"example": "Oslo",
"title": "String"
},
"countryIsoCode": {
"type": "string",
"description": "ISO 3166-1 alpha-2 country code",
"example": "NO",
"title": "String"
},
"email": {
"type": [
"null",
"string"
],
"description": "Contact email",
"example": "ola.nordmann@example.com",
"title": "String"
},
"name": {
"type": "string",
"description": "Recipient name",
"example": "Ola Nordmann",
"title": "String"
},
"phone": {
"type": [
"null",
"string"
],
"description": "Contact phone",
"example": "+4790123456",
"title": "String"
},
"postCode": {
"type": "string",
"description": "Postal/ZIP code",
"example": "0123",
"title": "String"
},
"street": {
"type": "string",
"description": "Street address including house number",
"example": "Storgata 1",
"title": "String"
}
},
"required": [
"city",
"countryIsoCode",
"name",
"postCode",
"street"
],
"title": "SbPublicApiDeliveryAddressResponse"
}
snowbee.SbPublicApiFreightResponse
{
"type": "object",
"description": "Freight/shipping information for an order response",
"properties": {
"carrierAgreementCode": {
"type": "string",
"description": "Carrier agreement code",
"example": "6838716034162098000",
"title": "String"
},
"carrierCode": {
"type": "string",
"description": "Carrier code",
"example": "porterbuddy",
"title": "String"
},
"carrierName": {
"type": [
"null",
"string"
],
"description": "Carrier display name",
"example": "Porterbuddy",
"title": "String"
},
"carrierProductCode": {
"type": "string",
"description": "Carrier product code",
"example": "8747679326213767168",
"title": "String"
},
"carrierProductName": {
"type": [
"null",
"string"
],
"description": "Carrier product display name",
"example": "Evening delivery",
"title": "String"
},
"carrierProductPayload": {
"description": "Provider-specific extra data",
"oneOf": [
{
"type": "null"
},
{
"$ref": "#/components/schemas/snowbee.SbPublicApiCarrierProductPayload"
}
]
},
"freightVatRate": {
"type": [
"null",
"string"
],
"format": "BigDecimal",
"description": "VAT rate for freight as a percentage",
"example": "25.00",
"pattern": "^-?\\d+(\\.\\d{1,2})?$",
"title": "BigDecimalAsString"
},
"netFreightAmount": {
"type": [
"null",
"string"
],
"format": "BigDecimal",
"description": "Net freight/shipping cost amount (excl. VAT)",
"example": "49.00",
"pattern": "^-?\\d+(\\.\\d{1,2})?$",
"title": "BigDecimalAsString"
}
},
"required": [
"carrierAgreementCode",
"carrierCode",
"carrierProductCode"
],
"title": "SbPublicApiFreightResponse"
}
snowbee.SbPublicApiInvoiceAddressResponse
{
"type": "object",
"description": "Invoice/billing address details",
"properties": {
"city": {
"type": "string",
"description": "City name",
"example": "Oslo",
"title": "String"
},
"countryIsoCode": {
"type": "string",
"description": "ISO 3166-1 alpha-2 country code",
"example": "NO",
"title": "String"
},
"email": {
"type": "string",
"description": "Email for invoice delivery",
"example": "ola.nordmann@example.com",
"title": "String"
},
"name": {
"type": "string",
"description": "Recipient name",
"example": "Ola Nordmann",
"title": "String"
},
"postCode": {
"type": "string",
"description": "Postal/ZIP code",
"example": "0123",
"title": "String"
},
"street": {
"type": "string",
"description": "Street address including house number",
"example": "Storgata 1",
"title": "String"
}
},
"required": [
"city",
"countryIsoCode",
"email",
"name",
"postCode",
"street"
],
"title": "SbPublicApiInvoiceAddressResponse"
}
snowbee.SbPublicApiOrderLineItemResponse
{
"type": "object",
"description": "Order line item with product details and pricing",
"properties": {
"barcode": {
"type": [
"null",
"string"
],
"description": "Barcode (EAN/GTIN)",
"example": "1234567890123",
"title": "String"
},
"cancelledQuantity": {
"type": [
"null",
"string"
],
"format": "BigDecimal",
"description": "Quantity cancelled after line closure; null while the line is open or fully shipped",
"example": "1.0",
"title": "BigDecimalAsString"
},
"discount": {
"type": "string",
"format": "BigDecimal",
"description": "Discount percentage applied to this line",
"example": "0.00",
"pattern": "^-?\\d+(\\.\\d{1,2})?$",
"title": "BigDecimalAsString"
},
"estimatedDeliveryDate": {
"type": "string",
"format": "date",
"description": "Estimated delivery date",
"example": "2024-06-20",
"title": "LocalDate"
},
"fulfilledQuantity": {
"type": "string",
"format": "BigDecimal",
"description": "Quantity fulfilled/shipped for this line",
"example": "2.0",
"title": "BigDecimalAsString"
},
"grossAmount": {
"type": "string",
"format": "BigDecimal",
"description": "Gross amount including VAT",
"example": "747.50",
"pattern": "^-?\\d+(\\.\\d{1,2})?$",
"title": "BigDecimalAsString"
},
"id": {
"type": "string",
"description": "Unique identifier of the line item",
"example": "01234567-89ab-cdef-0123-456789abcdef",
"title": "String"
},
"netAmount": {
"type": "string",
"format": "BigDecimal",
"description": "Net amount excluding VAT (quantity × netUnitPrice)",
"example": "598.00",
"pattern": "^-?\\d+(\\.\\d{1,2})?$",
"title": "BigDecimalAsString"
},
"netUnitOrderDiscountAmount": {
"type": "string",
"format": "BigDecimal",
"description": "Net unit order discount amount applied to this line",
"example": "10.00",
"pattern": "^-?\\d+(\\.\\d{1,2})?$",
"title": "BigDecimalAsString"
},
"netUnitPrice": {
"type": "string",
"format": "BigDecimal",
"description": "Net unit price excluding VAT",
"example": "299.00",
"pattern": "^-?\\d+(\\.\\d{1,2})?$",
"title": "BigDecimalAsString"
},
"productName": {
"type": "string",
"description": "Product display name",
"example": "Classic T-Shirt Black Medium",
"title": "String"
},
"quantity": {
"type": "string",
"format": "BigDecimal",
"description": "Quantity ordered",
"example": "2.0",
"title": "BigDecimalAsString"
},
"returnTicketBarcodeUrl": {
"type": [
"null",
"string"
],
"description": "URL to a Code128 barcode SVG image for this line's exchange label. The last path segment is the base64url encoding of the scannable barcode value \"SO <order number> <line position>\", which is what the barcode encodes, not the return ticket number above",
"example": "/v1/tenants/{tenantId}/ecom_stores/{eComStoreId}/barcodes/code128/U08gV0VCNDAwOTkwMyAy",
"title": "String"
},
"returnTicketNumber": {
"type": "string",
"description": "Human readable return ticket number (exchange label code) for this line, the order number followed by the line position",
"example": "WEB40099032",
"title": "String"
},
"skuId": {
"type": "string",
"description": "SKU ID of the product",
"example": "01234567-89ab-cdef-0123-456789abcdef",
"title": "String"
},
"skuNumber": {
"type": "string",
"description": "SKU number/code",
"example": "PROD-BLK-M",
"title": "String"
},
"vatAmount": {
"type": "string",
"format": "BigDecimal",
"description": "VAT amount",
"example": "149.50",
"pattern": "^-?\\d+(\\.\\d{1,2})?$",
"title": "BigDecimalAsString"
},
"vatRate": {
"type": "string",
"format": "BigDecimal",
"description": "VAT rate as percentage",
"example": "25.00",
"pattern": "^-?\\d+(\\.\\d{1,2})?$",
"title": "BigDecimalAsString"
}
},
"required": [
"discount",
"estimatedDeliveryDate",
"fulfilledQuantity",
"grossAmount",
"id",
"netAmount",
"netUnitOrderDiscountAmount",
"netUnitPrice",
"productName",
"quantity",
"returnTicketNumber",
"skuId",
"skuNumber",
"vatAmount",
"vatRate"
],
"title": "SbPublicApiOrderLineItemResponse"
}
snowbee.SbPublicApiOrderStatus
{
"type": "string",
"description": "Order status",
"enum": [
"PLANNED",
"CLOSED",
"RELEASED"
],
"title": "SbPublicApiOrderStatus"
}
snowbee.SbPublicApiReceiptResponse
{
"type": "object",
"description": "Receipt for a sales order",
"properties": {
"createdDate": {
"type": "string",
"format": "date",
"description": "Date the receipt was created",
"example": "2024-06-15",
"title": "LocalDate"
},
"grossAmount": {
"type": "string",
"format": "BigDecimal",
"description": "Gross amount including VAT",
"example": "747.50",
"pattern": "^-?\\d+(\\.\\d{1,2})?$",
"title": "BigDecimalAsString"
},
"id": {
"type": "string",
"description": "Unique identifier",
"example": "01234567-89ab-cdef-0123-456789abcdef",
"title": "String"
},
"lines": {
"type": "array",
"description": "Line items in this receipt",
"items": {
"$ref": "#/components/schemas/snowbee.SbPublicApiReceiptLineResponse"
},
"title": "List<SbPublicApiReceiptLineResponse>"
},
"netAmount": {
"type": "string",
"format": "BigDecimal",
"description": "Net amount excluding VAT",
"example": "598.00",
"pattern": "^-?\\d+(\\.\\d{1,2})?$",
"title": "BigDecimalAsString"
}
},
"required": [
"createdDate",
"grossAmount",
"id",
"lines",
"netAmount"
],
"title": "SbPublicApiReceiptResponse"
}
snowbee.SbPublicApiReceiptLineResponse
{
"type": "object",
"description": "Line item in a receipt",
"properties": {
"fulfilledQuantity": {
"type": "string",
"format": "BigDecimal",
"description": "Quantity fulfilled/picked",
"example": "2.0",
"title": "BigDecimalAsString"
},
"lineItemId": {
"type": "string",
"description": "Reference to order line item",
"example": "01234567-89ab-cdef-0123-456789abcdef",
"title": "String"
},
"quantity": {
"type": "string",
"format": "BigDecimal",
"description": "Quantity invoiced",
"example": "2.0",
"title": "BigDecimalAsString"
}
},
"required": [
"fulfilledQuantity",
"lineItemId",
"quantity"
],
"title": "SbPublicApiReceiptLineResponse"
}
snowbee.SbPublicApiRefundResponse
{
"type": "object",
"description": "Refund for a sales order",
"properties": {
"createdDate": {
"type": "string",
"format": "date",
"description": "Date the refund was created",
"example": "2024-06-20",
"title": "LocalDate"
},
"grossAmount": {
"type": "string",
"format": "BigDecimal",
"description": "Gross refund amount including VAT",
"example": "747.50",
"pattern": "^-?\\d+(\\.\\d{1,2})?$",
"title": "BigDecimalAsString"
},
"grossReturnFeeAmount": {
"type": "string",
"format": "BigDecimal",
"description": "Gross return fee amount including VAT",
"example": "59.00",
"pattern": "^-?\\d+(\\.\\d{1,2})?$",
"title": "BigDecimalAsString"
},
"id": {
"type": "string",
"description": "Unique identifier",
"example": "01234567-89ab-cdef-0123-456789abcdef",
"title": "String"
},
"lines": {
"type": "array",
"description": "Line items in this refund",
"items": {
"$ref": "#/components/schemas/snowbee.SbPublicApiRefundLineResponse"
},
"title": "List<SbPublicApiRefundLineResponse>"
},
"netAmount": {
"type": "string",
"format": "BigDecimal",
"description": "Net refund amount excluding VAT",
"example": "598.00",
"pattern": "^-?\\d+(\\.\\d{1,2})?$",
"title": "BigDecimalAsString"
},
"netReturnFeeAmount": {
"type": "string",
"format": "BigDecimal",
"description": "Net return fee amount excluding VAT",
"example": "47.20",
"pattern": "^-?\\d+(\\.\\d{1,2})?$",
"title": "BigDecimalAsString"
},
"status": {
"$ref": "#/components/schemas/snowbee.SbPublicApiRefundOrderStatus",
"description": "Refund status"
}
},
"required": [
"createdDate",
"grossAmount",
"grossReturnFeeAmount",
"id",
"lines",
"netAmount",
"netReturnFeeAmount",
"status"
],
"title": "SbPublicApiRefundResponse"
}
snowbee.SbPublicApiRefundLineResponse
{
"type": "object",
"description": "Line item in a refund",
"properties": {
"lineItemId": {
"type": "string",
"description": "Reference to order line item",
"example": "01234567-89ab-cdef-0123-456789abcdef",
"title": "String"
},
"quantity": {
"type": "string",
"format": "BigDecimal",
"description": "Quantity refunded",
"example": "1.0",
"title": "BigDecimalAsString"
}
},
"required": [
"lineItemId",
"quantity"
],
"title": "SbPublicApiRefundLineResponse"
}
snowbee.SbPublicApiRefundOrderStatus
{
"type": "string",
"description": "Refund status",
"enum": [
"OPEN",
"CLOSED"
],
"title": "SbPublicApiRefundOrderStatus"
}
snowbee.SbPublicApiShipmentResponse
{
"type": "object",
"description": "Shipment for a sales order",
"properties": {
"captureId": {
"type": "string",
"description": "Reference to the capture (picking list) this shipment originated from",
"example": "01234567-89ab-cdef-0123-456789abcdef",
"title": "String"
},
"createdDate": {
"type": [
"null",
"string"
],
"format": "date",
"description": "Date the shipment was created",
"example": "2024-06-16",
"title": "LocalDate"
},
"id": {
"type": "string",
"description": "Unique identifier",
"example": "01234567-89ab-cdef-0123-456789abcdef",
"title": "String"
},
"lines": {
"type": "array",
"description": "Line items in this shipment",
"items": {
"$ref": "#/components/schemas/snowbee.SbPublicApiShipmentLineResponse"
},
"title": "List<SbPublicApiShipmentLineResponse>"
},
"trackingNumber": {
"type": [
"null",
"string"
],
"description": "Tracking number",
"example": "1Z999AA10123456784",
"title": "String"
},
"trackingUrl": {
"type": [
"null",
"string"
],
"description": "Tracking URL",
"example": "https://track.example.com/1Z999AA10123456784",
"title": "String"
}
},
"required": [
"captureId",
"id",
"lines"
],
"title": "SbPublicApiShipmentResponse"
}
snowbee.SbPublicApiShipmentLineResponse
{
"type": "object",
"description": "Line item in a shipment",
"properties": {
"lineItemId": {
"type": "string",
"description": "Reference to order line item",
"example": "01234567-89ab-cdef-0123-456789abcdef",
"title": "String"
},
"quantity": {
"type": "string",
"format": "BigDecimal",
"description": "Quantity shipped",
"example": "2.0",
"title": "BigDecimalAsString"
}
},
"required": [
"lineItemId",
"quantity"
],
"title": "SbPublicApiShipmentLineResponse"
}
snowbee.SbPublicApiVoucherResponse
{
"type": "object",
"description": "Voucher/discount coupon on an order",
"properties": {
"externalReference": {
"type": "string",
"description": "External reference for the voucher",
"example": "abc123-promo-uuid",
"title": "String"
},
"title": {
"type": [
"null",
"string"
],
"description": "Display name for the voucher",
"example": "Summer Sale 20%",
"title": "String"
},
"type": {
"type": [
"null",
"string"
],
"description": "Discount type",
"example": "PERCENTAGE",
"title": "String"
},
"value": {
"type": [
"null",
"string"
],
"format": "BigDecimal",
"description": "Discount value",
"example": "20.00",
"title": "BigDecimalAsString"
}
},
"required": [
"externalReference"
],
"title": "SbPublicApiVoucherResponse"
}
snowbee.SbPublicApiGetOrderResponse
{
"type": "object",
"description": "Full GET order response with captures, receipts, refunds, shipments, and vouchers",
"properties": {
"captures": {
"type": "array",
"description": "Payment captures",
"items": {
"$ref": "#/components/schemas/snowbee.SbPublicApiCaptureResponse"
},
"title": "List<SbPublicApiCaptureResponse>"
},
"currencyIsoCode": {
"type": "string",
"description": "ISO 4217 currency code",
"example": "NOK",
"title": "String"
},
"customerId": {
"type": "string",
"description": "Customer ID associated with the order",
"example": "01234567-89ab-cdef-0123-456789abcdef",
"title": "String"
},
"deliveryAddress": {
"$ref": "#/components/schemas/snowbee.SbPublicApiDeliveryAddressResponse",
"description": "Delivery/shipping address"
},
"externalOrderId": {
"type": [
"null",
"string"
],
"description": "External order ID from your e-commerce platform",
"example": "SHOP-123",
"title": "String"
},
"externalOrderNumber": {
"type": [
"null",
"string"
],
"description": "External order number displayed to customer",
"example": "WEB-2024-00123",
"title": "String"
},
"freight": {
"description": "Freight/shipping information",
"oneOf": [
{
"type": "null"
},
{
"$ref": "#/components/schemas/snowbee.SbPublicApiFreightResponse"
}
]
},
"id": {
"type": "string",
"description": "Unique identifier of the order",
"example": "01234567-89ab-cdef-0123-456789abcdef",
"title": "String"
},
"invoiceAddress": {
"$ref": "#/components/schemas/snowbee.SbPublicApiInvoiceAddressResponse",
"description": "Invoice/billing address"
},
"lineItems": {
"type": "array",
"description": "Order line items",
"items": {
"$ref": "#/components/schemas/snowbee.SbPublicApiOrderLineItemResponse"
},
"title": "List<SbPublicApiOrderLineItemResponse>"
},
"orderDate": {
"type": "string",
"format": "date",
"description": "Date the order was placed",
"example": "2024-06-15",
"title": "LocalDate"
},
"orderNumber": {
"type": "string",
"description": "Human-readable order number",
"example": "SO-2024-00123",
"title": "String"
},
"orderStatus": {
"$ref": "#/components/schemas/snowbee.SbPublicApiOrderStatus",
"description": "Current status of the order"
},
"receipts": {
"type": "array",
"description": "Receipts",
"items": {
"$ref": "#/components/schemas/snowbee.SbPublicApiReceiptResponse"
},
"title": "List<SbPublicApiReceiptResponse>"
},
"refunds": {
"type": "array",
"description": "Refunds",
"items": {
"$ref": "#/components/schemas/snowbee.SbPublicApiRefundResponse"
},
"title": "List<SbPublicApiRefundResponse>"
},
"shipments": {
"type": "array",
"description": "Shipments",
"items": {
"$ref": "#/components/schemas/snowbee.SbPublicApiShipmentResponse"
},
"title": "List<SbPublicApiShipmentResponse>"
},
"updatedAt": {
"type": "string",
"format": "ISO 8681 timestamp",
"description": "Timestamp when the order was last modified",
"example": "2025-10-28T12:37:42Z",
"title": "ISO8681"
},
"vouchers": {
"type": "array",
"description": "Applied vouchers/discount coupons",
"items": {
"$ref": "#/components/schemas/snowbee.SbPublicApiVoucherResponse"
},
"title": "List<SbPublicApiVoucherResponse>"
}
},
"required": [
"captures",
"currencyIsoCode",
"customerId",
"deliveryAddress",
"id",
"invoiceAddress",
"lineItems",
"orderDate",
"orderNumber",
"orderStatus",
"receipts",
"refunds",
"shipments",
"updatedAt",
"vouchers"
],
"title": "SbPublicApiGetOrderResponse"
}
snowbee.SbPublicApiOrderHistorySummary
{
"type": "object",
"description": "Order summary for customer order history",
"properties": {
"currencyIsoCode": {
"type": "string",
"description": "ISO 4217 currency code",
"example": "NOK",
"title": "String"
},
"id": {
"type": "string",
"description": "Unique identifier of the order",
"example": "01234567-89ab-cdef-0123-456789abcdef",
"title": "String"
},
"orderDate": {
"type": "string",
"format": "date",
"description": "Date the order was placed",
"example": "2024-06-15",
"title": "LocalDate"
},
"orderNumber": {
"type": "string",
"description": "Human-readable order number",
"example": "SO-2024-00123",
"title": "String"
},
"orderStatus": {
"$ref": "#/components/schemas/snowbee.SbPublicApiOrderStatus",
"description": "Current status of the order"
},
"totalAmount": {
"type": "string",
"format": "BigDecimal",
"description": "Total order amount including VAT",
"example": "598.00",
"pattern": "^-?\\d+(\\.\\d{1,2})?$",
"title": "BigDecimalAsString"
}
},
"required": [
"currencyIsoCode",
"id",
"orderDate",
"orderNumber",
"orderStatus",
"totalAmount"
],
"title": "SbPublicApiOrderHistorySummary"
}
snowbee.SbPublicApiCustomerOrderHistoryResponse
{
"type": "object",
"description": "Customer's order history",
"properties": {
"orders": {
"type": "array",
"description": "List of customer's orders",
"items": {
"$ref": "#/components/schemas/snowbee.SbPublicApiOrderHistorySummary"
},
"title": "List<SbPublicApiOrderHistorySummary>"
}
},
"required": [
"orders"
],
"title": "SbPublicApiCustomerOrderHistoryResponse"
}
snowbee.SbPublicApiClickAndCollectLineItemRequest
{
"type": "object",
"description": "Line item for a click & collect reservation",
"properties": {
"netUnitPrice": {
"type": "string",
"format": "BigDecimal",
"description": "Net unit price (excluding VAT)",
"example": "299.00",
"title": "BigDecimalAsString"
},
"quantity": {
"type": "string",
"format": "BigDecimal",
"description": "Quantity to reserve",
"example": "2.0",
"title": "BigDecimalAsString"
},
"skuId": {
"type": [
"null",
"string"
],
"description": "SKU ID to reserve (provide either skuId or skuNumber)",
"example": "01234567-89ab-cdef-0123-456789abcdef",
"title": "String"
},
"skuNumber": {
"type": [
"null",
"string"
],
"description": "SKU number/code to reserve (provide either skuId or skuNumber)",
"example": "PROD-BLK-M",
"title": "String"
},
"vatRate": {
"type": "string",
"format": "BigDecimal",
"description": "VAT rate as percentage",
"example": "25.00",
"title": "BigDecimalAsString"
}
},
"required": [
"netUnitPrice",
"quantity",
"vatRate"
],
"title": "SbPublicApiClickAndCollectLineItemRequest"
}
snowbee.SbPublicApiCreateClickAndCollectRequest
{
"type": "object",
"description": "Request to create a click & collect reservation",
"properties": {
"customerId": {
"type": [
"null",
"string"
],
"description": "Customer ID (optional, will try to match B2C customer by email/phone if not provided)",
"example": "01234567-89ab-cdef-0123-456789abcdef",
"title": "String"
},
"lineItems": {
"type": "array",
"description": "List of SKUs to reserve for click & collect",
"items": {
"$ref": "#/components/schemas/snowbee.SbPublicApiClickAndCollectLineItemRequest"
},
"title": "List<SbPublicApiClickAndCollectLineItemRequest>"
},
"reservationEmail": {
"type": [
"null",
"string"
],
"description": "Reservation email (optional, used to match B2C customer if customerId not set)",
"example": "ola@example.com",
"title": "String"
},
"reservationName": {
"type": "string",
"description": "Name for the reservation (typically customer name)",
"example": "Ola Nordmann",
"title": "String"
},
"reservationPhone": {
"type": [
"null",
"string"
],
"description": "Reservation phone (optional, used to match B2C customer if customerId not set)",
"example": "+4712345678",
"title": "String"
},
"retailStoreId": {
"type": "string",
"description": "ID of the retail store where customer will pick up items",
"example": "01234567-89ab-cdef-0123-456789abcdef",
"title": "String"
}
},
"required": [
"lineItems",
"reservationName",
"retailStoreId"
],
"title": "SbPublicApiCreateClickAndCollectRequest"
}
snowbee.SbPublicApiClickAndCollectResponse
{
"type": "object",
"description": "Response after creating a click & collect reservation",
"properties": {
"id": {
"type": "string",
"description": "ID of the click and collect cart",
"example": "01234567-89ab-cdef-0123-456789abcdef",
"title": "String"
}
},
"required": [
"id"
],
"title": "SbPublicApiClickAndCollectResponse"
}
snowbee.SbPublicApiCustomerLoyaltyProgramResponse
{
"type": "object",
"description": "Loyalty program enrollment status for a customer",
"properties": {
"enrolled": {
"type": "boolean",
"description": "Whether the customer is enrolled in this loyalty program",
"example": "true",
"title": "Boolean"
},
"id": {
"type": "string",
"description": "Unique identifier of the loyalty program",
"example": "01234567-89ab-cdef-0123-456789abcdef",
"title": "String"
},
"name": {
"type": "string",
"description": "Name of the loyalty program",
"example": "Premium Members Club",
"title": "String"
}
},
"required": [
"enrolled",
"id",
"name"
],
"title": "SbPublicApiCustomerLoyaltyProgramResponse"
}
snowbee.SbPublicApiUpdateCustomerRequest
{
"type": "object",
"description": "Request body for partially updating a customer. All fields are optional.",
"properties": {
"countryIsoCode": {
"type": [
"null",
"string"
],
"description": "ISO 3166-1 alpha-2 country code",
"example": "NO",
"title": "String"
},
"electronicReceipt": {
"type": [
"null",
"boolean"
],
"description": "Whether the customer wants electronic receipts",
"example": "true",
"title": "Boolean"
},
"email": {
"type": [
"null",
"string"
],
"description": "Customer's email address",
"example": "ola.nordmann@example.com",
"title": "String"
},
"firstName": {
"type": [
"null",
"string"
],
"description": "Customer's first name",
"example": "Ola",
"title": "String"
},
"languageIsoCode": {
"type": [
"null",
"string"
],
"description": "ISO 639-2 language code",
"example": "NOR",
"title": "String"
},
"lastName": {
"type": [
"null",
"string"
],
"description": "Customer's last name",
"example": "Nordmann",
"title": "String"
},
"loyaltyPrograms": {
"type": [
"null",
"array"
],
"description": "Loyalty program enrollments to set for this customer",
"items": {
"$ref": "#/components/schemas/snowbee.SbPublicApiCustomerLoyaltyProgramResponse"
},
"title": "List<SbPublicApiCustomerLoyaltyProgramResponse>"
},
"newsletter": {
"type": [
"null",
"boolean"
],
"description": "Whether the customer subscribes to the newsletter",
"example": "false",
"title": "Boolean"
},
"phone": {
"type": [
"null",
"string"
],
"description": "Customer's phone number in E.164 format",
"example": "+4790123456",
"title": "String"
}
},
"title": "SbPublicApiUpdateCustomerRequest"
}
snowbee.SbPublicApiCustomerAddressData
{
"type": "object",
"description": "Address data containing street, postal code, city and country",
"properties": {
"city": {
"type": "string",
"description": "City name",
"example": "Oslo",
"title": "String"
},
"countryIsoCode": {
"type": "string",
"description": "ISO 3166-1 alpha-2 country code",
"example": "NO",
"title": "String"
},
"postCode": {
"type": "string",
"description": "Postal/ZIP code",
"example": "0123",
"title": "String"
},
"street": {
"type": "string",
"description": "Street address including house number",
"example": "Storgata 1",
"title": "String"
}
},
"required": [
"city",
"countryIsoCode",
"postCode",
"street"
],
"title": "SbPublicApiCustomerAddressData"
}
snowbee.SbPublicApiCustomerResponse
{
"type": "object",
"description": "Customer information including personal details, preferences, and addresses",
"properties": {
"countryIsoCode": {
"type": [
"null",
"string"
],
"description": "ISO 3166-1 alpha-2 country code",
"example": "NO",
"title": "String"
},
"customerNumber": {
"type": [
"null",
"string"
],
"description": "Human-readable customer number",
"example": "CUST-10042",
"title": "String"
},
"deliveryAddress": {
"description": "Customer's main delivery address",
"oneOf": [
{
"type": "null"
},
{
"$ref": "#/components/schemas/snowbee.SbPublicApiCustomerAddressData"
}
]
},
"electronicReceipt": {
"type": "boolean",
"description": "Whether the customer wants electronic receipts",
"example": "true",
"title": "Boolean"
},
"email": {
"type": [
"null",
"string"
],
"description": "Customer's email address",
"example": "ola.nordmann@example.com",
"title": "String"
},
"firstName": {
"type": [
"null",
"string"
],
"description": "Customer's first name",
"example": "Ola",
"title": "String"
},
"id": {
"type": "string",
"description": "Unique identifier of the customer (UUID)",
"example": "01234567-89ab-cdef-0123-456789abcdef",
"title": "String"
},
"invoiceAddress": {
"description": "Customer's main invoice/billing address",
"oneOf": [
{
"type": "null"
},
{
"$ref": "#/components/schemas/snowbee.SbPublicApiCustomerAddressData"
}
]
},
"languageIsoCode": {
"type": [
"null",
"string"
],
"description": "ISO 639-2 language code",
"example": "NOR",
"title": "String"
},
"lastName": {
"type": [
"null",
"string"
],
"description": "Customer's last name",
"example": "Nordmann",
"title": "String"
},
"loyaltyPrograms": {
"type": "array",
"description": "List of loyalty programs and the customer's enrollment status",
"items": {
"$ref": "#/components/schemas/snowbee.SbPublicApiCustomerLoyaltyProgramResponse"
},
"title": "List<SbPublicApiCustomerLoyaltyProgramResponse>"
},
"phone": {
"type": [
"null",
"string"
],
"description": "Customer's phone number in E.164 format",
"example": "+4790123456",
"title": "String"
}
},
"required": [
"electronicReceipt",
"id",
"loyaltyPrograms"
],
"title": "SbPublicApiCustomerResponse"
}
snowbee.SbPublicApiUpdateCustomerAddressesRequest
{
"type": "object",
"description": "Request to update customer addresses. Both fields are optional - only provided addresses will be created or updated.",
"properties": {
"deliveryAddress": {
"description": "Delivery address to create or update. If null, delivery address is not changed.",
"oneOf": [
{
"type": "null"
},
{
"$ref": "#/components/schemas/snowbee.SbPublicApiCustomerAddressData"
}
]
},
"invoiceAddress": {
"description": "Invoice address to create or update. If null, invoice address is not changed.",
"oneOf": [
{
"type": "null"
},
{
"$ref": "#/components/schemas/snowbee.SbPublicApiCustomerAddressData"
}
]
}
},
"title": "SbPublicApiUpdateCustomerAddressesRequest"
}
snowbee.SbPublicApiPushCustomerRequest
{
"type": "object",
"description": "Request to identify or create a customer by phone number. Used for quick customer lookup/creation at checkout.",
"properties": {
"email": {
"type": [
"null",
"string"
],
"description": "Email address (optional). Only provide if verified.",
"example": "ola.nordmann@example.com",
"title": "String"
},
"phone": {
"type": "string",
"description": "Phone number in E.164 format. Will be normalized automatically.",
"example": "+4790123456",
"title": "String"
}
},
"required": [
"phone"
],
"title": "SbPublicApiPushCustomerRequest"
}
snowbee.SbPublicApiPaymentCaptureStatus
{
"type": "string",
"description": "Payment capture status",
"enum": [
"CONFIRMED",
"FAILED"
],
"example": "CONFIRMED",
"title": "SbPublicApiPaymentCaptureStatus"
}
snowbee.SbPublicApiPaymentCaptureRequest
{
"type": "object",
"description": "Request body for updating payment capture status",
"properties": {
"capturedAmount": {
"type": [
"null",
"string"
],
"format": "BigDecimal",
"description": "Amount captured, if applicable",
"example": "1499.00",
"title": "BigDecimalAsString"
},
"status": {
"$ref": "#/components/schemas/snowbee.SbPublicApiPaymentCaptureStatus",
"description": "Payment capture status"
}
},
"required": [
"status"
],
"title": "SbPublicApiPaymentCaptureRequest"
}
snowbee.SbPublicApiRefundStatus
{
"type": "string",
"description": "Refund status",
"enum": [
"CONFIRMED",
"FAILED"
],
"example": "CONFIRMED",
"title": "SbPublicApiRefundStatus"
}
snowbee.SbPublicApiRefundRequest
{
"type": "object",
"description": "Request body for confirming a refund on a return invoice",
"properties": {
"refundedAmount": {
"type": [
"null",
"string"
],
"format": "BigDecimal",
"description": "Amount refunded, if applicable",
"example": "299.00",
"title": "BigDecimalAsString"
},
"status": {
"$ref": "#/components/schemas/snowbee.SbPublicApiRefundStatus",
"description": "Refund status"
}
},
"required": [
"status"
],
"title": "SbPublicApiRefundRequest"
}
snowbee.SbPublicApiLoyaltyProgramRetailStoreResponse
{
"type": "object",
"description": "Retail store associated with a loyalty program",
"properties": {
"addresses": {
"type": "array",
"description": "List of store addresses",
"items": {
"$ref": "#/components/schemas/snowbee.SbPublicApiRetailStoreAddressResponse"
},
"title": "List<SbPublicApiRetailStoreAddressResponse>"
},
"email": {
"type": [
"null",
"string"
],
"description": "Store email address",
"example": "oslo.city@example.com",
"title": "String"
},
"id": {
"type": "string",
"description": "Unique identifier of the store",
"example": "01234567-89ab-cdef-0123-456789abcdef",
"title": "String"
},
"name": {
"type": "string",
"description": "Store name",
"example": "Oslo City Store",
"title": "String"
},
"number": {
"type": "string",
"description": "Store number/code",
"example": "STORE-001",
"title": "String"
},
"phone": {
"type": [
"null",
"string"
],
"description": "Store phone number",
"example": "+4722123456",
"title": "String"
},
"webAddress": {
"type": [
"null",
"string"
],
"description": "Store website URL",
"example": "https://store.example.com",
"title": "String"
}
},
"required": [
"addresses",
"id",
"name",
"number"
],
"title": "SbPublicApiLoyaltyProgramRetailStoreResponse"
}
snowbee.SbPublicApiLoyaltyProgramRetailStoresResponse
{
"type": "object",
"description": "List of retail stores for a loyalty program",
"properties": {
"retailStores": {
"type": "array",
"description": "List of retail stores",
"items": {
"$ref": "#/components/schemas/snowbee.SbPublicApiLoyaltyProgramRetailStoreResponse"
},
"title": "List<SbPublicApiLoyaltyProgramRetailStoreResponse>"
}
},
"required": [
"retailStores"
],
"title": "SbPublicApiLoyaltyProgramRetailStoresResponse"
}
snowbee.publicapi.SbPublicApiDemandPlanningLimitsResponse
{
"type": "object",
"description": "Published limits for demand planning batch uploads. Requests above a hard limit are rejected with 413.",
"properties": {
"maxBodyBytes": {
"type": "integer",
"format": "int64",
"description": "Maximum request body size in bytes as sent over the wire",
"example": "10485760",
"title": "Long"
},
"maxCompressionRatio": {
"type": "integer",
"format": "int32",
"description": "Maximum ratio between decompressed and compressed body size",
"example": "100",
"title": "Int"
},
"maxDecimals": {
"type": "integer",
"format": "int32",
"description": "Maximum decimals in quantities and replenishment parameters",
"example": "4",
"title": "Int"
},
"maxDecompressedBodyBytes": {
"type": "integer",
"format": "int64",
"description": "Maximum request body size in bytes after gzip decompression",
"example": "52428800",
"title": "Long"
},
"maxHorizonDays": {
"type": "integer",
"format": "int32",
"description": "Maximum number of days in a sales forecast horizon",
"example": "62",
"title": "Int"
},
"maxInlineRejectedItems": {
"type": "integer",
"format": "int32",
"description": "Maximum number of rejected items listed in a batch status",
"example": "500",
"title": "Int"
},
"maxInlineValidationErrors": {
"type": "integer",
"format": "int32",
"description": "Maximum number of validation errors listed in a 400 response",
"example": "100",
"title": "Int"
},
"maxItemsPerBatch": {
"type": "integer",
"format": "int32",
"description": "Maximum number of items per batch",
"example": "20000",
"title": "Int"
},
"recommendedBodyBytes": {
"type": "integer",
"format": "int64",
"description": "Recommended request body size in bytes as sent over the wire, assuming gzip. A 5,000-item forecast batch is ~1.3 MB uncompressed and ~0.2 MB gzipped.",
"example": "1048576",
"title": "Long"
},
"recommendedHorizonDays": {
"type": "integer",
"format": "int32",
"description": "Recommended number of days in a sales forecast horizon",
"example": "30",
"title": "Int"
},
"recommendedItemsPerBatch": {
"type": "integer",
"format": "int32",
"description": "Recommended number of items per batch",
"example": "5000",
"title": "Int"
}
},
"required": [
"maxBodyBytes",
"maxCompressionRatio",
"maxDecimals",
"maxDecompressedBodyBytes",
"maxHorizonDays",
"maxInlineRejectedItems",
"maxInlineValidationErrors",
"maxItemsPerBatch",
"recommendedBodyBytes",
"recommendedHorizonDays",
"recommendedItemsPerBatch"
],
"title": "SbPublicApiDemandPlanningLimitsResponse"
}
snowbee.publicapi.SbPublicApiDemandPlanningRetailStoreResponse
{
"type": "object",
"description": "One retail store, for mapping retailStoreNumber in uploads",
"properties": {
"companyId": {
"type": "string",
"description": "Company identifier",
"example": "01234567-89ab-cdef-0123-456789abcdef",
"title": "String"
},
"id": {
"type": "string",
"description": "Retail store identifier",
"example": "01234567-89ab-cdef-0123-456789abcdef",
"title": "String"
},
"name": {
"type": "string",
"description": "Retail store name",
"example": "Bjørklund Storo",
"title": "String"
},
"number": {
"type": "string",
"description": "Retail store number, the key used in uploads",
"example": "1001",
"title": "String"
},
"status": {
"type": [
"null",
"string"
],
"description": "Lifecycle status. Uploads are only applied for RELEASED stores.",
"example": "RELEASED",
"title": "String"
},
"warehouseId": {
"type": [
"null",
"string"
],
"description": "Warehouse the store sells from",
"example": "01234567-89ab-cdef-0123-456789abcdef",
"title": "String"
}
},
"required": [
"companyId",
"id",
"name",
"number"
],
"title": "SbPublicApiDemandPlanningRetailStoreResponse"
}
snowbee.publicapi.SbPublicApiDemandPlanningRetailStoresResponse
{
"type": "object",
"description": "List of retail stores",
"properties": {
"retailStores": {
"type": "array",
"items": {
"$ref": "#/components/schemas/snowbee.publicapi.SbPublicApiDemandPlanningRetailStoreResponse"
},
"title": "List<SbPublicApiDemandPlanningRetailStoreResponse>"
}
},
"required": [
"retailStores"
],
"title": "SbPublicApiDemandPlanningRetailStoresResponse"
}
snowbee.publicapi.SbPublicApiDemandPlanningEcomStoreResponse
{
"type": "object",
"description": "One ecom store, for mapping ecomStoreNumber in uploads",
"properties": {
"companyId": {
"type": "string",
"description": "Company identifier",
"example": "01234567-89ab-cdef-0123-456789abcdef",
"title": "String"
},
"id": {
"type": "string",
"description": "Ecom store identifier",
"example": "01234567-89ab-cdef-0123-456789abcdef",
"title": "String"
},
"name": {
"type": "string",
"description": "Ecom store name",
"example": "bjorklund.no",
"title": "String"
},
"number": {
"type": "string",
"description": "Ecom store number, the key used in uploads",
"example": "9001",
"title": "String"
},
"status": {
"type": [
"null",
"string"
],
"description": "Lifecycle status. Uploads are only applied for RELEASED stores.",
"example": "RELEASED",
"title": "String"
},
"warehouseId": {
"type": "string",
"description": "Warehouse the store ships from",
"example": "01234567-89ab-cdef-0123-456789abcdef",
"title": "String"
}
},
"required": [
"companyId",
"id",
"name",
"number",
"warehouseId"
],
"title": "SbPublicApiDemandPlanningEcomStoreResponse"
}
snowbee.publicapi.SbPublicApiDemandPlanningEcomStoresResponse
{
"type": "object",
"description": "List of ecom stores",
"properties": {
"ecomStores": {
"type": "array",
"items": {
"$ref": "#/components/schemas/snowbee.publicapi.SbPublicApiDemandPlanningEcomStoreResponse"
},
"title": "List<SbPublicApiDemandPlanningEcomStoreResponse>"
}
},
"required": [
"ecomStores"
],
"title": "SbPublicApiDemandPlanningEcomStoresResponse"
}
snowbee.publicapi.SbPublicApiSalesForecastItem
{
"type": "object",
"description": "Sales forecast for one store and SKU. The item replaces the whole forecast held for that store and SKU.",
"properties": {
"ecomStoreNumber": {
"type": [
"null",
"string"
],
"description": "Ecom store number. Exactly one of retailStoreNumber and ecomStoreNumber must be set.",
"example": "9001",
"title": "String"
},
"ext": {
"type": [
"null",
"object"
],
"additionalProperties": {
"type": "object",
"title": "Any"
},
"description": "Partner-owned fields. Never interpreted by Snowbee.",
"title": "Map<String,Any>"
},
"horizonEndDate": {
"type": "string",
"format": "date",
"description": "Last forecast day, an ISO 8601 calendar date. Must equal horizonStartDate plus quantities.length - 1 days; catches horizons of the wrong length.",
"example": "2026-09-30",
"title": "LocalDate"
},
"horizonStartDate": {
"type": "string",
"format": "date",
"description": "First forecast day, an ISO 8601 calendar date. No earlier than 7 days ago.",
"example": "2026-09-01",
"title": "LocalDate"
},
"quantities": {
"type": "array",
"description": "Expected gross sales quantity per day from horizonStartDate to horizonEndDate inclusive, as decimal strings with at most 4 decimals. quantities[i] is the forecast for horizonStartDate plus i days.",
"example": "[\"4.7\", \"3.1\", \"0\", \"5.25\"]",
"items": {
"type": "string",
"title": "String"
},
"title": "List<String>"
},
"retailStoreNumber": {
"type": [
"null",
"string"
],
"description": "Retail store number. Exactly one of retailStoreNumber and ecomStoreNumber must be set.",
"example": "1001",
"title": "String"
},
"skuNumber": {
"type": "string",
"description": "SKU number",
"example": "10025",
"title": "String"
}
},
"required": [
"horizonEndDate",
"horizonStartDate",
"quantities",
"skuNumber"
],
"title": "SbPublicApiSalesForecastItem"
}
snowbee.publicapi.SbPublicApiSalesForecastBatchRequest
{
"type": "object",
"description": "A batch of sales forecasts from one planning run",
"properties": {
"batchIndex": {
"type": [
"null",
"integer"
],
"format": "int32",
"description": "1-based position of this batch within the run. Set together with batchTotal or not at all.",
"example": "12",
"title": "Int"
},
"batchTotal": {
"type": [
"null",
"integer"
],
"format": "int32",
"description": "Number of batches in the run",
"example": "140",
"title": "Int"
},
"ext": {
"type": [
"null",
"object"
],
"additionalProperties": {
"type": "object",
"title": "Any"
},
"description": "Partner-owned fields. Never interpreted by Snowbee.",
"title": "Map<String,Any>"
},
"generatedAt": {
"type": "string",
"format": "ISO 8681 timestamp",
"description": "Timestamp of the planning run that produced every item in the batch. Identical for all batches of one run; a later run must have a later value.",
"example": "2026-08-28T03:12:00Z",
"title": "ISO8681"
},
"itemCount": {
"type": "integer",
"format": "int32",
"description": "Must equal the length of items",
"example": "5000",
"title": "Int"
},
"items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/snowbee.publicapi.SbPublicApiSalesForecastItem"
},
"title": "List<SbPublicApiSalesForecastItem>"
}
},
"required": [
"generatedAt",
"itemCount",
"items"
],
"title": "SbPublicApiSalesForecastBatchRequest"
}
snowbee.publicapi.SbPublicApiDemandPlanningBatchKind
{
"type": "string",
"description": "Kind of demand planning batch",
"enum": [
"SALES_FORECAST",
"REPLENISHMENT_PARAMETERS"
],
"title": "SbPublicApiDemandPlanningBatchKind"
}
snowbee.publicapi.SbPublicApiDemandPlanningBatchCounts
{
"type": "object",
"description": "Item counts after processing",
"properties": {
"applied": {
"type": "integer",
"format": "int32",
"description": "Items written to Snowbee",
"example": "4996",
"title": "Int"
},
"items": {
"type": "integer",
"format": "int32",
"description": "Items in the batch",
"example": "5000",
"title": "Int"
},
"locked": {
"type": "integer",
"format": "int32",
"description": "Items skipped because the line is locked in Snowbee (replenishment parameters only)",
"example": "0",
"title": "Int"
},
"rejected": {
"type": "integer",
"format": "int32",
"description": "Items not applied; listed in rejectedItems",
"example": "4",
"title": "Int"
},
"superseded": {
"type": "integer",
"format": "int32",
"description": "Items skipped because a newer generatedAt was already applied for the same key",
"example": "0",
"title": "Int"
}
},
"required": [
"applied",
"items",
"locked",
"rejected",
"superseded"
],
"title": "SbPublicApiDemandPlanningBatchCounts"
}
snowbee.publicapi.SbPublicApiDemandPlanningBatchProgress
{
"type": "string",
"description": "Processing progress of a batch",
"enum": [
"PENDING",
"PROCESSING",
"COMPLETED",
"COMPLETED_WITH_REJECTED_ITEMS",
"FAILED"
],
"title": "SbPublicApiDemandPlanningBatchProgress"
}
snowbee.publicapi.SbPublicApiDemandPlanningRejectedItem
{
"type": "object",
"description": "An item that was not applied",
"properties": {
"code": {
"type": "string",
"description": "One of: UNKNOWN_RETAIL_STORE, RETAIL_STORE_NOT_RELEASED, UNKNOWN_ECOM_STORE, ECOM_STORE_NOT_RELEASED, UNKNOWN_SKU, SKU_NOT_IN_ASSORTMENT, REPLENISHMENT_TYPE_MANUAL",
"example": "UNKNOWN_SKU",
"title": "String"
},
"ecomStoreNumber": {
"type": [
"null",
"string"
],
"example": "9001",
"title": "String"
},
"index": {
"type": "integer",
"format": "int32",
"description": "0-based index into items",
"example": "17",
"title": "Int"
},
"message": {
"type": [
"null",
"string"
],
"title": "String"
},
"retailStoreNumber": {
"type": [
"null",
"string"
],
"example": "1001",
"title": "String"
},
"skuNumber": {
"type": [
"null",
"string"
],
"example": "10025",
"title": "String"
}
},
"required": [
"code",
"index"
],
"title": "SbPublicApiDemandPlanningRejectedItem"
}
snowbee.publicapi.SbPublicApiDemandPlanningWarning
{
"type": "object",
"description": "A non-fatal observation about the batch",
"properties": {
"code": {
"type": "string",
"description": "UNKNOWN_FIELD: a field Snowbee does not know and did not apply",
"example": "UNKNOWN_FIELD",
"title": "String"
},
"count": {
"type": [
"null",
"integer"
],
"format": "int32",
"description": "How many times the observation occurred",
"example": "5000",
"title": "Int"
},
"field": {
"type": [
"null",
"string"
],
"description": "Path of the field, with [] for array elements",
"example": "items[].campaignQuantity",
"title": "String"
},
"message": {
"type": [
"null",
"string"
],
"title": "String"
}
},
"required": [
"code"
],
"title": "SbPublicApiDemandPlanningWarning"
}
snowbee.publicapi.SbPublicApiDemandPlanningBatchStatusResponse
{
"type": "object",
"description": "Status of a demand planning batch",
"properties": {
"batchId": {
"type": "string",
"description": "Client-generated batch id",
"example": "0192a3b4-5c6d-7e8f-9012-3456789abcde",
"title": "String"
},
"batchIndex": {
"type": [
"null",
"integer"
],
"format": "int32",
"example": "12",
"title": "Int"
},
"batchKind": {
"$ref": "#/components/schemas/snowbee.publicapi.SbPublicApiDemandPlanningBatchKind",
"description": "Kind of demand planning batch"
},
"batchTotal": {
"type": [
"null",
"integer"
],
"format": "int32",
"example": "140",
"title": "Int"
},
"completedTime": {
"type": [
"null",
"string"
],
"format": "ISO 8681 timestamp",
"description": "When processing finished",
"example": "2025-10-28T12:37:42Z",
"title": "ISO8681"
},
"counts": {
"description": "Null until the batch has been processed",
"oneOf": [
{
"type": "null"
},
{
"$ref": "#/components/schemas/snowbee.publicapi.SbPublicApiDemandPlanningBatchCounts"
}
]
},
"errorMessage": {
"type": [
"null",
"string"
],
"description": "Why the batch FAILED",
"title": "String"
},
"generatedAt": {
"type": "string",
"format": "ISO 8681 timestamp",
"example": "2026-08-28T03:12:00Z",
"title": "ISO8681"
},
"itemCount": {
"type": "integer",
"format": "int32",
"example": "5000",
"title": "Int"
},
"progress": {
"$ref": "#/components/schemas/snowbee.publicapi.SbPublicApiDemandPlanningBatchProgress",
"description": "Processing progress of a batch"
},
"receivedTime": {
"type": "string",
"format": "ISO 8681 timestamp",
"description": "When Snowbee stored the batch",
"example": "2026-08-28T03:12:04.120Z",
"title": "ISO8681"
},
"rejectedItems": {
"type": [
"null",
"array"
],
"description": "First rejected items; null until processed. See rejectedItemsTruncated.",
"items": {
"$ref": "#/components/schemas/snowbee.publicapi.SbPublicApiDemandPlanningRejectedItem"
},
"title": "List<SbPublicApiDemandPlanningRejectedItem>"
},
"rejectedItemsTruncated": {
"type": "boolean",
"description": "True when more items were rejected than are listed",
"example": "false",
"title": "Boolean"
},
"startedTime": {
"type": [
"null",
"string"
],
"format": "ISO 8681 timestamp",
"description": "When processing started",
"example": "2025-10-28T12:37:42Z",
"title": "ISO8681"
},
"warnings": {
"type": [
"null",
"array"
],
"description": "Warnings recorded at receipt and during processing",
"items": {
"$ref": "#/components/schemas/snowbee.publicapi.SbPublicApiDemandPlanningWarning"
},
"title": "List<SbPublicApiDemandPlanningWarning>"
}
},
"required": [
"batchId",
"batchKind",
"generatedAt",
"itemCount",
"progress",
"receivedTime",
"rejectedItemsTruncated"
],
"title": "SbPublicApiDemandPlanningBatchStatusResponse"
}
snowbee.publicapi.SbPublicApiDetailedErrorResponse
{
"type": "object",
"description": "API error response with structured details",
"properties": {
"details": {
"type": [
"null",
"object"
],
"description": "Structured details; shape depends on error",
"title": "Any"
},
"error": {
"type": "string",
"description": "Error type",
"example": "VALIDATION_ERROR",
"title": "String"
},
"message": {
"type": "string",
"description": "Human-readable error message",
"example": "3 of 5000 items failed validation",
"title": "String"
},
"resolution": {
"type": "string",
"description": "Suggested next action",
"example": "Correct the invalid items and retry the complete batch",
"title": "String"
}
},
"required": [
"error",
"message",
"resolution"
],
"title": "SbPublicApiDetailedErrorResponse"
}
snowbee.publicapi.SbPublicApiReplenishmentParameterItem
{
"type": "object",
"description": "Reorder point and maximum inventory for one retail store and SKU",
"properties": {
"ext": {
"type": [
"null",
"object"
],
"additionalProperties": {
"type": "object",
"title": "Any"
},
"description": "Partner-owned fields. Never interpreted by Snowbee.",
"title": "Map<String,Any>"
},
"maximumInventory": {
"type": "string",
"description": "Maximum inventory as a decimal string with at most 4 decimals",
"example": "12",
"title": "String"
},
"reorderPoint": {
"type": "string",
"description": "Reorder point as a decimal string with at most 4 decimals. Must be less than maximumInventory.",
"example": "3",
"title": "String"
},
"retailStoreNumber": {
"type": "string",
"description": "Retail store number",
"example": "1001",
"title": "String"
},
"skuNumber": {
"type": "string",
"description": "SKU number",
"example": "10025",
"title": "String"
}
},
"required": [
"maximumInventory",
"reorderPoint",
"retailStoreNumber",
"skuNumber"
],
"title": "SbPublicApiReplenishmentParameterItem"
}
snowbee.publicapi.SbPublicApiReplenishmentParameterBatchRequest
{
"type": "object",
"description": "A batch of replenishment parameters from one planning run",
"properties": {
"batchIndex": {
"type": [
"null",
"integer"
],
"format": "int32",
"description": "1-based position of this batch within the run. Set together with batchTotal or not at all.",
"example": "1",
"title": "Int"
},
"batchTotal": {
"type": [
"null",
"integer"
],
"format": "int32",
"description": "Number of batches in the run",
"example": "3",
"title": "Int"
},
"ext": {
"type": [
"null",
"object"
],
"additionalProperties": {
"type": "object",
"title": "Any"
},
"description": "Partner-owned fields. Never interpreted by Snowbee.",
"title": "Map<String,Any>"
},
"generatedAt": {
"type": "string",
"format": "ISO 8681 timestamp",
"description": "Timestamp of the planning run that produced every item in the batch. Identical for all batches of one run; a later run must have a later value.",
"example": "2026-08-28T03:12:00Z",
"title": "ISO8681"
},
"itemCount": {
"type": "integer",
"format": "int32",
"description": "Must equal the length of items",
"example": "5000",
"title": "Int"
},
"items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/snowbee.publicapi.SbPublicApiReplenishmentParameterItem"
},
"title": "List<SbPublicApiReplenishmentParameterItem>"
}
},
"required": [
"generatedAt",
"itemCount",
"items"
],
"title": "SbPublicApiReplenishmentParameterBatchRequest"
}
snowbee.publicapi.SbPublicApiSalesForecastResponse
{
"type": "object",
"description": "The sales forecast Snowbee currently holds for one store and SKU",
"properties": {
"ecomStoreNumber": {
"type": [
"null",
"string"
],
"example": "9001",
"title": "String"
},
"generatedAt": {
"type": "string",
"format": "ISO 8681 timestamp",
"description": "The planning run that produced this forecast. An old value means the horizon is stale.",
"example": "2026-08-31T03:12:00Z",
"title": "ISO8681"
},
"horizonEndDate": {
"type": "string",
"format": "date",
"description": "Last forecast day",
"example": "2026-09-30",
"title": "LocalDate"
},
"horizonStartDate": {
"type": "string",
"format": "date",
"description": "First forecast day",
"example": "2026-09-01",
"title": "LocalDate"
},
"modifiedTime": {
"type": "string",
"format": "ISO 8681 timestamp",
"description": "When Snowbee applied it",
"example": "2025-10-28T12:37:42Z",
"title": "ISO8681"
},
"quantities": {
"type": "array",
"description": "Expected gross sales quantity per day from horizonStartDate, as decimal strings",
"example": "[\"4.7\", \"3.1\", \"0\"]",
"items": {
"type": "string",
"title": "String"
},
"title": "List<String>"
},
"retailStoreNumber": {
"type": [
"null",
"string"
],
"example": "1001",
"title": "String"
},
"skuNumber": {
"type": "string",
"example": "10025",
"title": "String"
}
},
"required": [
"generatedAt",
"horizonEndDate",
"horizonStartDate",
"modifiedTime",
"quantities",
"skuNumber"
],
"title": "SbPublicApiSalesForecastResponse"
}
snowbee.publicapi.SbPublicApiSalesForecastsResponse
{
"type": "object",
"description": "A page of current sales forecasts, retail stores first, ordered by store number then SKU number",
"properties": {
"items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/snowbee.publicapi.SbPublicApiSalesForecastResponse"
},
"title": "List<SbPublicApiSalesForecastResponse>"
},
"nextCursor": {
"type": [
"null",
"string"
],
"description": "Pass as cursor to fetch the next page; null on the last page",
"title": "String"
}
},
"required": [
"items"
],
"title": "SbPublicApiSalesForecastsResponse"
}
snowbee.publicapi.SbPublicApiReplenishmentParameterResponse
{
"type": "object",
"description": "Effective replenishment parameters for one retail store and SKU",
"properties": {
"locked": {
"type": "boolean",
"description": "True when a Snowbee user has locked the values; uploads for this store and SKU are skipped",
"example": "false",
"title": "Boolean"
},
"maximumInventory": {
"type": [
"null",
"string"
],
"format": "BigDecimal",
"example": "12",
"title": "BigDecimalAsString"
},
"modifiedTime": {
"type": "string",
"format": "ISO 8681 timestamp",
"description": "When the effective line was last modified in Snowbee",
"example": "2026-08-27T03:14:11Z",
"title": "ISO8681"
},
"parameterSource": {
"$ref": "#/components/schemas/snowbee.publicapi.SbPublicApiReplenishmentParameterSource",
"description": "Where an effective replenishment parameter value comes from"
},
"reorderPoint": {
"type": [
"null",
"string"
],
"format": "BigDecimal",
"example": "3",
"title": "BigDecimalAsString"
},
"replenishmentType": {
"type": [
"null",
"string"
],
"description": "AUTO, MANUAL or PROPOSAL",
"example": "AUTO",
"title": "String"
},
"retailStoreNumber": {
"type": "string",
"example": "1001",
"title": "String"
},
"skuNumber": {
"type": "string",
"example": "10025",
"title": "String"
}
},
"required": [
"locked",
"modifiedTime",
"parameterSource",
"retailStoreNumber",
"skuNumber"
],
"title": "SbPublicApiReplenishmentParameterResponse"
}
snowbee.publicapi.SbPublicApiReplenishmentParameterSource
{
"type": "string",
"description": "Where an effective replenishment parameter value comes from",
"enum": [
"RETAIL_STORE_SPECIFIC",
"LOCAL_ASSORTMENT",
"BASE_ASSORTMENT"
],
"title": "SbPublicApiReplenishmentParameterSource"
}
snowbee.publicapi.SbPublicApiReplenishmentParametersResponse
{
"type": "object",
"description": "A page of effective replenishment parameters, ordered by retail store number then SKU number",
"properties": {
"items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/snowbee.publicapi.SbPublicApiReplenishmentParameterResponse"
},
"title": "List<SbPublicApiReplenishmentParameterResponse>"
},
"nextCursor": {
"type": [
"null",
"string"
],
"description": "Pass as cursor to fetch the next page; null on the last page",
"title": "String"
}
},
"required": [
"items"
],
"title": "SbPublicApiReplenishmentParametersResponse"
}