Eliq · Schema

Budget

Model for budget. Contains information about the budget, and when it last was run.

EnergyUtilitiesAnalyticsSustainabilityEnergy DataSmart MeterDisaggregationForecastingSegmentationConsumptionTariffsInsights

Properties

Name Type Description
enabled boolean Whether budget is enabled or not
type string Type of budget
fuel string Fuel it is enabled for
resolution string Resolution of budget
unit string Unit of budget
limit numbernull Limit of the budget in Wh, or currency (depending on unit)
suggested_limit number If user want to set up a new budget this value could be used as a suggested limit. Only returned if a forecast could be made
config object Configuration for how the budget limit is determined. Returned when the budget is enabled.
series object Cumulative consumption and forecast for the current budget period, one value per resolution step. Returned when the budget is enabled and a run has produced data.
status object Contains status about last run. Returned when the budget is enabled.
View JSON Schema on GitHub

JSON Schema

eliq-budget-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/eliq/main/json-schema/eliq-budget-schema.json",
  "title": "Budget",
  "description": "Model for budget. Contains information about the budget, and when it last was run.",
  "x-generated": "2026-10-20",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/eliq-budgets-api-openapi.yml#/components/schemas/Budget",
  "type": "object",
  "properties": {
    "enabled": {
      "type": "boolean",
      "description": "Whether budget is enabled or not"
    },
    "type": {
      "type": "string",
      "minLength": 1,
      "description": "Type of budget",
      "enum": [
        "budget_weekly",
        "budget_monthly"
      ]
    },
    "fuel": {
      "type": "string",
      "minLength": 1,
      "description": "Fuel it is enabled for",
      "enum": [
        "elec",
        "gas",
        "district_heating"
      ]
    },
    "resolution": {
      "type": "string",
      "minLength": 1,
      "description": "Resolution of budget",
      "enum": [
        "week",
        "month"
      ]
    },
    "unit": {
      "type": "string",
      "minLength": 1,
      "description": "Unit of budget",
      "enum": [
        "energy",
        "cost"
      ]
    },
    "limit": {
      "type": [
        "number",
        "null"
      ],
      "description": "Limit of the budget in Wh, or currency (depending on unit)"
    },
    "suggested_limit": {
      "type": "number",
      "description": "If user want to set up a new budget this value could be used as a suggested limit. Only returned if a forecast could be made"
    },
    "config": {
      "type": "object",
      "description": "Configuration for how the budget limit is determined. Returned when the budget is enabled.",
      "properties": {
        "mode": {
          "type": "string",
          "description": "How the budget limit is set.\n- `manual`: the limit is a fixed value provided by the client.\n- `auto`: the limit is derived automatically from the forecast at the start of each period as `forecast * (1 + margin_percent / 100)`. The derived limit is frozen for the duration of the period.",
          "enum": [
            "manual",
            "auto"
          ]
        },
        "margin_percent": {
          "type": [
            "number",
            "null"
          ],
          "description": "Percentage applied over the forecast when mode is 'auto'. Clamped server-side to [-50, 50]. Defaults to 20. Null when mode is 'manual'."
        }
      }
    },
    "series": {
      "type": "object",
      "description": "Cumulative consumption and forecast for the current budget period, one value per resolution step. Returned when the budget is enabled and a run has produced data.",
      "properties": {
        "fuel": {
          "type": "string",
          "description": "Fuel the series is for.",
          "enum": [
            "elec",
            "gas",
            "district_heating"
          ]
        },
        "unit": {
          "type": "string",
          "description": "Unit the series is for.",
          "enum": [
            "energy",
            "cost"
          ]
        },
        "resolution": {
          "type": "string",
          "description": "Resolution of the series.",
          "enum": [
            "week",
            "month"
          ]
        },
        "from": {
          "type": [
            "string",
            "null"
          ],
          "description": "Start of the current period (inclusive).",
          "format": "date-time"
        },
        "to": {
          "type": [
            "string",
            "null"
          ],
          "description": "End of the current period (exclusive).",
          "format": "date-time"
        },
        "consumption_cumulative": {
          "type": "array",
          "description": "Cumulative actual consumption at each step from period start. Steps with no data yet are null.",
          "items": {
            "type": [
              "number",
              "null"
            ]
          }
        },
        "forecast_cumulative": {
          "type": "array",
          "description": "Cumulative forecasted consumption at each step to the end of the period.",
          "items": {
            "type": [
              "number",
              "null"
            ]
          }
        }
      }
    },
    "status": {
      "type": "object",
      "description": "Contains status about last run. Returned when the budget is enabled.",
      "required": [
        "code",
        "value",
        "forecast"
      ],
      "properties": {
        "code": {
          "type": "string",
          "minLength": 1,
          "description": "Indicates whether last run was successful or not.",
          "enum": [
            "ok",
            "not_ok"
          ]
        },
        "result": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "description": "Available if code 'ok'.",
          "enum": [
            "currently_below",
            "forecasted_above",
            "above",
            "completed_below",
            null
          ]
        },
        "value": {
          "type": [
            "number",
            "null"
          ],
          "description": "Accumulative value between period start and data_until, available if code 'ok'."
        },
        "forecast": {
          "type": [
            "number",
            "null"
          ],
          "description": "Forecast of value at end of period, available if code 'ok' and if a forecast could be made."
        },
        "period_start": {
          "type": "string",
          "minLength": 1,
          "description": "Start of the period, available if code 'ok'.",
          "format": "date-time"
        },
        "period_end": {
          "type": "string",
          "minLength": 1,
          "description": "End of the period, available if code 'ok'.",
          "format": "date-time"
        },
        "data_until": {
          "type": "string",
          "minLength": 1,
          "description": "Latest data value (exclusive), available if code 'ok'."
        },
        "action": {
          "type": "object",
          "description": "Available if code is 'not_ok'. Indicates what went wrong during last run",
          "properties": {
            "code": {
              "type": "string",
              "description": "Code explaining last runs fail.",
              "enum": [
                "budget_awaiting_first_run",
                "budget_not_enough_data"
              ]
            },
            "description": {
              "type": "string",
              "description": "Description of last runs fail."
            }
          }
        }
      }
    }
  },
  "required": [
    "enabled",
    "type",
    "fuel",
    "resolution",
    "unit"
  ]
}

Work with this as data

Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/eliq-budget"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.