---
title: "Stage one validated portfolio time series"
method: POST
path: "/api/forecast-sandbox/consumption/portfolio/datasets"
tags: ["Forecast Sandbox"]
---

# Stage one validated portfolio time series

`POST /api/forecast-sandbox/consumption/portfolio/datasets`

## Request

- Base URL: `https://api.cernion.de`
- URL: `https://api.cernion.de/api/forecast-sandbox/consumption/portfolio/datasets`
- Auth: none declared

Tenant-scoped immutable dataset stored locally by SHA-256. Submit each XLS separately, then use all dataset IDs in one portfolio run.

## Query parameters

- `token` string

## Request body

- object
  - `dataset` object, required
    - `series_id` string, required: Pseudonymous identifier; no personal data.
    - `timezone` string, required
    - `unit` 'kW' | 'kWh', required
    - `customer_type` string
    - `segment` string
    - `weather_region` string
    - `period_from` string, date
    - `period_until` string, date
    - `field_mapping` object
      - `timestamp` string
      - `value` string
    - `values` object[], required
      - `timestamp` string, date-time, required: Interval start with explicit offset or Z.
      - `value` number, nullable, required
      - `available_at` string, date-time: Actual historical availability of this measurement/revision.
      - `quality_flag` string
  - `token` string: Optional Cernion MCP token for this request. Overrides CERNION_TOKEN when provided.

## Response `200`

Dataset ID and validation result.

- object
  - `status` string, required
  - `dataset_id` string, required
  - `series_id` string, required
  - `validation` object, required

## Other responses

- `400`: Invalid or unavailable dataset/configuration.
- `500`: Portfolio execution unavailable.

---

[API](https://skmtc.dev/cernion/apis/cernion-energy-tools-api.md) · [All operations](https://skmtc.dev/cernion/apis/cernion-energy-tools-api/llms.txt) · [OpenAPI document](https://skmtc.dev/cernion/apis/cernion-energy-tools-api/revisions/cdb94473b538?raw)
