GET/v1/tenants/{tenantId}/demand_planning/sales_forecast_batches/{batchId}
Get the status of a batch of sales forecasts Experimental
Parameters
tenantIdrequiredbatchIdrequiredClient-generated UUID of the batch
Responses
application/jsonbatchIdrequiredClient-generated batch id
Example"0192a3b4-5c6d-7e8f-9012-3456789abcde"batchIndexoptional- Format: int32
Example12batchKindrequired- Allowed values
"SALES_FORECAST""REPLENISHMENT_PARAMETERS" batchTotaloptional- Format: int32
Example140completedTimeoptional- Format: ISO 8681 timestamp
Example"2025-10-28T12:37:42Z"countsoptionalNull until the batch has been processed
Show child fields
apiUpdatesDisabledrequiredItems skipped because the retail store is not set to take updates from the API in Snowbee (replenishment parameters only)
- Format: int32
Example0appliedrequiredItems written to Snowbee
- Format: int32
Example4996itemsrequired- Format: int32
Example5000lockedrequiredItems skipped because the line is locked in Snowbee (replenishment parameters only)
- Format: int32
Example0rejectedrequiredItems not applied; listed in rejectedItems
- Format: int32
Example4supersededrequiredItems skipped because a newer generatedAt was already applied for the same key
- Format: int32
Example0unchangedrequiredItems skipped because they match the values the store already uses (replenishment parameters only)
- Format: int32
Example0
errorMessageoptionalWhy the batch FAILED
generatedAtrequired- Format: ISO 8681 timestamp
Example"2026-08-28T03:12:00Z"itemCountrequired- Format: int32
Example5000progressrequired- Allowed values
"PENDING""PROCESSING""COMPLETED""COMPLETED_WITH_REJECTED_ITEMS""FAILED" receivedTimerequiredWhen Snowbee stored the batch
- Format: ISO 8681 timestamp
Example"2026-08-28T03:12:04.120Z"rejectedItemsoptionalFirst rejected items; null until processed. See rejectedItemsTruncated.
Show item fields
coderequiredOne 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"ecomStoreNumberoptional- Example
"9001" indexrequired0-based index into items
- Format: int32
Example17messageoptionalretailStoreNumberoptional- Example
"1001" skuNumberoptional- Example
"10025"
rejectedItemsTruncatedrequiredTrue when more items were rejected than are listed
ExamplefalsestartedTimeoptional- Format: ISO 8681 timestamp
Example"2025-10-28T12:37:42Z"warningsoptionalWarnings recorded at receipt and during processing
Show item fields
A non-fatal observation about the batch
coderequiredUNKNOWN_FIELD: a field Snowbee does not know and did not apply
Example"UNKNOWN_FIELD"countoptionalHow many times the observation occurred
- Format: int32
Example5000fieldoptionalPath of the field, with [] for array elements
Example"items[].campaignQuantity"messageoptional
401Response
application/jsonerrorrequiredStable error code
Example"INVALID_REQUEST"messagerequiredHuman-readable error message
Example"Invalid customer ID format"resolutionrequiredSuggested next action
Example"Correct the customer ID and retry the request"
403Response
application/jsonerrorrequiredStable error code
Example"INVALID_REQUEST"messagerequiredHuman-readable error message
Example"Invalid customer ID format"resolutionrequiredSuggested next action
Example"Correct the customer ID and retry the request"
404Response
application/jsonerrorrequiredStable error code
Example"INVALID_REQUEST"messagerequiredHuman-readable error message
Example"Invalid customer ID format"resolutionrequiredSuggested next action
Example"Correct the customer ID and retry the request"