# Sales Plans **GET /v2/api/planning/sales-plans** Returns account sales-plan volumes per (SKU, segment) with product-hierarchy fields and classification metadata. Results are filtered to account-visible subsegments, matching the data shown in the Madden planning UI. fromDate/toDate are optional: when provided only forecasts whose delivery window overlaps the range are included and volumes are prorated by the overlap fraction; when omitted, all forecasts are returned at full volume. Sales-plan data has no warehouse dimension — use /breakdown for warehouse-level breakdowns. ## Servers - https://api.maddenanalytics.com: https://api.maddenanalytics.com () ## Authentication methods - Bearer ## Parameters ### Query parameters - **fromDate** (string) Start of delivery-window filter (YYYY-MM-DD, optional) - **toDate** (string) End of delivery-window filter (YYYY-MM-DD, optional) - **channel** (string) Filter by channel: D2C or B2B. Omit to include all channels. - **updatedSince** (string) Only return forecasts modified at or after this timestamp (RFC3339, or YYYY-MM-DD interpreted as account-local midnight) - **seasons** (string) Season filter, repeatable - **variants** (string) Variant group ID filter - **products** (string) Product group ID filter - **skus** (string) SKU filter, repeatable - **skuIds** (string) SKU ID filter, repeatable - **brands** (string) Brand ID filter, repeatable - **categories** (string) Category ID filter, repeatable - **sizes** (string) Size filter, repeatable - **skuStatus** (string) SKU status filter. Defaults to all non-inactive statuses. - **activePlanning** (boolean) Restrict to active-planning SKUs. Defaults to true. ## Responses ### 200 OK #### Body: application/json (array[object]) - **classifications** (object) All keys starting with "classification" from the SKU's custom_fields and external_attributes blobs. external_attributes takes precedence on collision. - **productGroupId** (string) - **salesPlanVolume** (number) Account-forecast volume. Prorated by the overlap fraction when fromDate/toDate are provided (delivery window intersected with the query range); full forecast volume when no date filter is given. The /breakdown endpoint exposes the same underlying data aggregated to a product-hierarchy groupBy dimension. - **season** (string) - **segmentId** (string) Segment the forecast belongs to. - **segmentName** (string) - **sku** (string) - **skuId** (integer) - **variantGroupId** (string) ### 400 Bad Request #### Body: application/json (object) - **error** (string) - **message** (string) - **statusCode** (integer) ### default #### Body: application/json (object) - **error** (string) - **message** (string) - **statusCode** (integer) [Powered by Bump.sh](https://bump.sh)