Your First Studio Profile

A studio profile is a synthetic energy-consumption curve made up of a base template (a typical household shape) plus optional layers (EV charger, heat pump, solar, …). In this tutorial you will create a profile from scratch and apply a household template.


Create a profile

Start by creating an empty studio profile. You can optionally pass a name and a year (defaults to the current year). The lat / lon fields default to central Netherlands.

  • Name
    name
    Type
    string
    Description

    Display name for the profile. Auto-generated when omitted.

  • Name
    year
    Type
    number
    Description

    Reference year (2020–2050). Affects solar irradiance data when you add a solar layer later.

Create a studio profile

curl -X POST https://api.enhub.nl/v1/studio-profiles \
  -H "x-api-key: {your-api-key}" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "My first profile",
    "year": 2025
  }'

Response

{
  "id": "cm...",
  "name": "My first profile",
  "baseProfileType": null,
  "totalKwh": null,
  "peakKw": null,
  "layerCount": null,
  "hasSolarLayer": false,
  "year": 2025,
  "createdAt": "2025-06-01T10:00:00.000Z",
  "updatedAt": "2025-06-01T10:00:00.000Z"
}

Browse templates

Before setting a base you'll want to see which household templates are available. The presets endpoint returns both templates (base consumption shapes) and layer presets (EV, heat pump, etc.).

There are four built-in templates:

Template IDDescriptionDefault kWh
alleenstaandSingle person2 500
stelCouple without children3 200
thuiswerkers-kinderen2 remote workers, 3 children4 500
groot-gezinLarge family5 500

List presets

curl https://api.enhub.nl/v1/studio-profiles/presets \
  -H "x-api-key: {your-api-key}"

Response (truncated)

{
  "templates": [
    {
      "id": "alleenstaand",
      "name": "Alleenstaand",
      "annualKwh": 2500
    },
    {
      "id": "stel",
      "name": "Stel zonder kinderen",
      "annualKwh": 3200
    }
  ],
  "layerPresets": [
    { "id": "ev", "name": "Elektrische auto" },
    { "id": "warmtepomp", "name": "Warmtepomp" },
    { "id": "zwembad", "name": "Zwembadpomp" },
    { "id": "custom", "name": "Aangepast" },
    { "id": "solar", "name": "Zonnepanelen" }
  ]
}

Set the base template

Apply one of the templates to your profile with POST /v1/studio-profiles/{id}/base. The templateId is required. You can optionally override annualKwh to rescale the template shape to a different total consumption.

  • Name
    templateId
    Type
    string
    required
    Description

    One of alleenstaand, stel, thuiswerkers-kinderen, or groot-gezin.

  • Name
    annualKwh
    Type
    number
    Description

    Override the default annual consumption. The hourly shape is preserved but rescaled. Range: 100–100 000.

Set base template

curl -X POST https://api.enhub.nl/v1/studio-profiles/{id}/base \
  -H "x-api-key: {your-api-key}" \
  -H "Content-Type: application/json" \
  -d '{
    "templateId": "stel",
    "annualKwh": 3500
  }'

Response

{
  "id": "cm...",
  "name": "My first profile",
  "baseProfileType": "template",
  "baseProfileName": "Stel zonder kinderen",
  "totalKwh": 3500,
  "peakKw": 1.82,
  "layerCount": 0,
  "hasSolarLayer": false,
  "year": 2025,
  "createdAt": "2025-06-01T10:00:00.000Z",
  "updatedAt": "2025-06-01T10:01:00.000Z"
}
Studio profile with Stel zonder kinderen template — year chart showing typical household consumption shape

Inspect the profile

Use GET /v1/studio-profiles/{id} to fetch the full profile detail, including baseline metadata and layers (empty for now). The chart endpoint lets you visualise the data at different zoom levels.

Chart views

ViewDescriptionindex range
yearFull-year overview
monthSingle month0–11
weekSingle week0–51
productionSolar production only
exportGrid export only

Fetch profile detail

curl https://api.enhub.nl/v1/studio-profiles/{id} \
  -H "x-api-key: {your-api-key}"

Fetch year chart

curl "https://api.enhub.nl/v1/studio-profiles/{id}/chart?view=year" \
  -H "x-api-key: {your-api-key}"

Next steps

You now have a profile with a base consumption curve. Continue to the next tutorial to add layers on top of this base.

Add layers (EV, heat pump, custom)

Was this page helpful?