Elhub · Schema
controllable_unit_response
Response schema - Controllable unit
CompanyEnergyElectricityDatahubMeteringOpen DataNorwayUtilities
Properties
| Name | Type | Description |
|---|---|---|
| id | integer | Unique surrogate key. |
| business_id | string | Unique business identifier for the controllable unit. |
| name | string | Free text name of the controllable unit. |
| start_date | stringnull | The usage date when the controllable unit is first active. |
| status | object | |
| regulation_direction | object | |
| maximum_active_power | number | Maximum continuous active power (flexible power) that the controllable unit can produce or consume, i.e. deliver for balancing and congestion services, in kilowatts. |
| is_small | boolean | Whether the controllable unit is small or not, following NCDR. Current threshold for this to be true is <= 50 kW of flexible power. |
| accounting_point_id | integer | Reference to the accounting point that the controllable unit is connected to. |
| additional_information | stringnull | Free text field for extra information about the controllable unit if needed. |
| recorded_at | string | When the resource was recorded (created or updated) in the system. |
| recorded_by | integer | The identity that recorded the resource. |
| accounting_point | object | Embedded accounting_point |
| suspension | object | Embedded controllable_unit_suspension |
| service_provider | object | Embedded controllable_unit_service_provider |
| summary | object | Embedded controllable_unit_summary |
| service_providing_group_membership | object | Embedded service_providing_group_membership |
| technical_resource | object | Embedded technical_resource |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/api-evangelist/elhub/main/json-schema/elhub-controllable-unit-response-schema.json",
"title": "controllable_unit_response",
"description": "Response schema - Controllable unit",
"x-generated": "2026-10-09",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/elhub-flex-information-system-main-api-openapi.yml#/components/schemas/controllable_unit_response",
"summary": "Response - Controllable unit",
"type": "object",
"properties": {
"id": {
"description": "Unique surrogate key.",
"format": "bigint",
"type": "integer",
"readOnly": true
},
"business_id": {
"description": "Unique business identifier for the controllable unit.",
"format": "text",
"type": "string",
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$",
"readOnly": true
},
"name": {
"description": "Free text name of the controllable unit.",
"format": "text",
"type": "string",
"maxLength": 512
},
"start_date": {
"description": "The usage date when the controllable unit is first active.",
"format": "date",
"type": [
"string",
"null"
]
},
"status": {
"$ref": "#/$defs/controllable_unit_status",
"default": "new"
},
"regulation_direction": {
"$ref": "#/$defs/controllable_unit_regulation_direction"
},
"maximum_active_power": {
"description": "Maximum continuous active power (flexible power) that the controllable unit can produce or consume, i.e. deliver for balancing and congestion services, in kilowatts.",
"format": "decimal",
"type": "number",
"minimum": 0,
"maximum": 999999.999,
"multipleOf": 0.001
},
"is_small": {
"description": "Whether the controllable unit is small or not, following NCDR. Current threshold for this to be true is <= 50 kW of flexible power.",
"format": "boolean",
"type": "boolean",
"readOnly": true
},
"accounting_point_id": {
"description": "Reference to the accounting point that the controllable unit is connected to.",
"format": "bigint",
"type": "integer",
"nullable": false
},
"additional_information": {
"description": "Free text field for extra information about the controllable unit if needed.",
"format": "text",
"type": [
"string",
"null"
]
},
"recorded_at": {
"description": "When the resource was recorded (created or updated) in the system.",
"format": "date-time",
"type": "string",
"readOnly": true
},
"recorded_by": {
"description": "The identity that recorded the resource.",
"format": "bigint",
"type": "integer",
"readOnly": true
},
"accounting_point": {
"description": "Embedded accounting_point",
"oneOf": [
{
"$ref": "#/$defs/accounting_point_response"
},
{
"type": "null"
}
],
"nullable": true
},
"suspension": {
"description": "Embedded controllable_unit_suspension",
"oneOf": [
{
"type": "array",
"items": {
"$ref": "#/$defs/controllable_unit_suspension_response"
}
},
{
"type": "null"
}
],
"nullable": true
},
"service_provider": {
"description": "Embedded controllable_unit_service_provider",
"oneOf": [
{
"type": "array",
"items": {
"$ref": "#/$defs/controllable_unit_service_provider_response"
}
},
{
"type": "null"
}
],
"nullable": true
},
"summary": {
"description": "Embedded controllable_unit_summary",
"oneOf": [
{
"$ref": "#/$defs/controllable_unit_summary_response"
},
{
"type": "null"
}
],
"nullable": true
},
"service_providing_group_membership": {
"description": "Embedded service_providing_group_membership",
"oneOf": [
{
"type": "array",
"items": {
"$ref": "#/$defs/service_providing_group_membership_response"
}
},
{
"type": "null"
}
],
"nullable": true
},
"technical_resource": {
"description": "Embedded technical_resource",
"oneOf": [
{
"type": "array",
"items": {
"$ref": "#/$defs/technical_resource_response"
}
},
{
"type": "null"
}
],
"nullable": true
}
},
"required": [
"id",
"business_id",
"name",
"status",
"regulation_direction",
"maximum_active_power",
"is_small",
"accounting_point_id",
"recorded_at",
"recorded_by"
],
"$defs": {
"accounting_point_balance_responsible_party_energy_direction": {
"description": "The direction of the effect on the balance that the BRP takes responsibility for.",
"format": "text",
"type": "string",
"readOnly": true,
"enum": [
"consumption",
"production"
]
},
"accounting_point_balance_responsible_party_response": {
"summary": "Response - Accounting Point Balance Responsible Party",
"description": "Response schema - Relation linking a balance responsible party to an accounting point.",
"type": "object",
"properties": {
"accounting_point_id": {
"description": "The ID of the accounting point.",
"format": "bigint",
"type": "integer",
"readOnly": true
},
"balance_responsible_party_id": {
"description": "The balance responsible party of the accounting point.",
"format": "bigint",
"type": "integer",
"readOnly": true
},
"energy_direction": {
"$ref": "#/$defs/accounting_point_balance_responsible_party_energy_direction",
"readOnly": true
},
"valid_from": {
"description": "The date from which the relation between the accounting point and the balance responsible party is valid. Midnight aligned on Norwegian timezone.",
"format": "date-time",
"type": "string",
"readOnly": true
},
"valid_to": {
"description": "The date until which the relation between the accounting point and the balance responsible party is valid. Midnight aligned on Norwegian timezone.",
"format": "date-time",
"type": [
"string",
"null"
],
"readOnly": true
},
"accounting_point": {
"description": "Embedded accounting_point",
"oneOf": [
{
"$ref": "#/$defs/accounting_point_response"
},
{
"type": "null"
}
],
"nullable": true
},
"balance_responsible_party": {
"description": "Embedded party",
"oneOf": [
{
"$ref": "#/$defs/party_response"
},
{
"type": "null"
}
],
"nullable": true
}
},
"required": [
"accounting_point_id",
"balance_responsible_party_id",
"energy_direction",
"valid_from"
]
},
"accounting_point_bidding_zone_bidding_zone": {
"description": "The bidding zone of the accounting point.",
"format": "text",
"type": "string",
"enum": [
"NO1",
"NO2",
"NO3",
"NO4",
"NO5"
]
},
"accounting_point_bidding_zone_response": {
"summary": "Response - Accounting Point Bidding Zone",
"description": "Response schema - Relation telling which bidding zone an accounting point belongs to.",
"type": "object",
"properties": {
"accounting_point_id": {
"description": "The ID of the accounting point.",
"format": "bigint",
"type": "integer",
"readOnly": true
},
"bidding_zone": {
"$ref": "#/$defs/accounting_point_bidding_zone_bidding_zone"
},
"valid_from": {
"description": "The date from which the accounting point belongs to the bidding zone. Midnight aligned on Norwegian timezone.",
"format": "date-time",
"type": "string",
"readOnly": true
},
"valid_to": {
"description": "The date until which the accounting point belongs to the bidding zone. Midnight aligned on Norwegian timezone.",
"format": "date-time",
"type": [
"string",
"null"
],
"readOnly": true
},
"accounting_point": {
"description": "Embedded accounting_point",
"oneOf": [
{
"$ref": "#/$defs/accounting_point_response"
},
{
"type": "null"
}
],
"nullable": true
}
},
"required": [
"accounting_point_id",
"bidding_zone",
"valid_from"
]
},
"accounting_point_end_user_response": {
"summary": "Response - Accounting Point End User",
"description": "Response schema - Relation telling which end user an accounting point belongs to.",
"type": "object",
"properties": {
"accounting_point_id": {
"description": "The ID of the accounting point.",
"format": "bigint",
"type": "integer",
"readOnly": true
},
"end_user_id": {
"description": "The end user on the accounting point.",
"format": "bigint",
"type": "integer",
"readOnly": true
},
"valid_from": {
"description": "The date from which the accounting point belongs to the end user. Midnight aligned on Norwegian timezone.",
"format": "date-time",
"type": "string",
"readOnly": true
},
"valid_to": {
"description": "The date until which the accounting point belongs to the end user. Midnight aligned on Norwegian timezone.",
"format": "date-time",
"type": [
"string",
"null"
],
"readOnly": true
},
"accounting_point": {
"description": "Embedded accounting_point",
"oneOf": [
{
"$ref": "#/$defs/accounting_point_response"
},
{
"type": "null"
}
],
"nullable": true
},
"end_user": {
"description": "Embedded party",
"oneOf": [
{
"$ref": "#/$defs/party_response"
},
{
"type": "null"
}
],
"nullable": true
}
},
"required": [
"accounting_point_id",
"end_user_id",
"valid_from"
]
},
"accounting_point_energy_supplier_response": {
"summary": "Response - Accounting Point Energy Supplier",
"description": "Response schema - Relation linking an energy supplier to an accounting point.",
"type": "object",
"properties": {
"accounting_point_id": {
"description": "The ID of the accounting point.",
"format": "bigint",
"type": "integer",
"readOnly": true
},
"energy_supplier_id": {
"description": "The energy supplier of the accounting point.",
"format": "bigint",
"type": "integer",
"readOnly": true
},
"valid_from": {
"description": "The date from which the relation between the accounting point and the energy supplier is valid. Midnight aligned on Norwegian timezone.",
"format": "date-time",
"type": "string",
"readOnly": true
},
"valid_to": {
"description": "The date until which the relation between the accounting point and the energy supplier is valid. Midnight aligned on Norwegian timezone.",
"format": "date-time",
"type": [
"string",
"null"
],
"readOnly": true
},
"accounting_point": {
"description": "Embedded accounting_point",
"oneOf": [
{
"$ref": "#/$defs/accounting_point_response"
},
{
"type": "null"
}
],
"nullable": true
},
"energy_supplier": {
"description": "Embedded party",
"oneOf": [
{
"$ref": "#/$defs/party_response"
},
{
"type": "null"
}
],
"nullable": true
}
},
"required": [
"accounting_point_id",
"energy_supplier_id",
"valid_from"
]
},
"accounting_point_grid_location_object_type": {
"description": "The type of object in the common grid model that the accounting point is at.",
"format": "text",
"type": "string",
"enum": [
"substation"
]
},
"accounting_point_grid_location_quality": {
"description": "Indicates how the grid location was determined. Guessed means that Flexibility Information System has estimated the location, while confirmed means that someone has verified it.",
"format": "text",
"type": "string",
"enum": [
"confirmed",
"guessed"
]
},
"accounting_point_grid_location_response": {
"summary": "Response - Accounting Point Grid Location",
"description": "Response schema - The electrical (topological) location of an accounting point in the common grid model (Nemo).",
"type": "object",
"properties": {
"id": {
"description": "Unique surrogate key.",
"format": "bigint",
"type": "integer",
"readOnly": true
},
"accounting_point_id": {
"description": "The accounting point this grid location belongs to.",
"format": "bigint",
"type": "integer"
},
"object_type": {
"$ref": "#/$defs/accounting_point_grid_location_object_type"
},
"business_id": {
"description": "Business identifier (mRID) referencing the object in the common grid model (NEMO).",
"format": "text",
"type": "string",
"nullable": false,
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$"
},
"name": {
"description": "Name of the grid model object at the location.",
"format": "text",
"type": "string",
"maxLength": 512
},
"nominal_voltage": {
"description": "Nominal voltage level at the grid location, in kilovolt (kV).",
"format": "decimal",
"type": "number",
"minimum": 0,
"maximum": 999999.999,
"multipleOf": 0.001
},
"additional_information": {
"description": "Free text field for extra information about the grid location if needed.",
"format": "text",
"type": [
"string",
"null"
]
},
"source": {
"$ref": "#/$defs/accounting_point_grid_location_source",
"readOnly": true
},
"quality": {
"$ref": "#/$defs/accounting_point_grid_location_quality"
},
"recorded_at": {
"description": "When the resource was recorded (created or updated) in the system.",
"format": "date-time",
"type": "string",
"readOnly": true
},
"recorded_by": {
"description": "The identity that recorded the resource.",
"format": "bigint",
"type": "integer",
"readOnly": true
},
"accounting_point": {
"description": "Embedded accounting_point",
"oneOf": [
{
"$ref": "#/$defs/accounting_point_response"
},
{
"type": "null"
}
],
"nullable": true
}
},
"required": [
"id",
"accounting_point_id",
"object_type",
"business_id",
"name",
"nominal_voltage",
"source",
"quality",
"recorded_at",
"recorded_by"
]
},
"accounting_point_grid_location_source": {
"description": "How the grid location was determined. When a system operator creates or updates a grid location, this field is set automatically: `cso` if the SO is the connecting system operator, `so` otherwise.",
"format": "text",
"type": "string",
"readOnly": true,
"enum": [
"cso",
"so",
"grid_model",
"system"
]
},
"accounting_point_metering_grid_area_response": {
"summary": "Response - Accounting Point Metering Grid Area",
"description": "Response schema - Relation telling which metering grid area an accounting point belongs to.",
"type": "object",
"properties": {
"accounting_point_id": {
"description": "The ID of the accounting point.",
"format": "bigint",
"type": "integer",
"readOnly": true
},
"metering_grid_area_id": {
"description": "The metering grid area of the accounting point.",
"format": "bigint",
"type": "integer",
"readOnly": true
},
"valid_from": {
"description": "The date from which the accounting point belongs to the metering grid area. Midnight aligned on Norwegian timezone.",
"format": "date-time",
"type": "string",
"readOnly": true
},
"valid_to": {
"description": "The date until which the accounting point belongs to the metering grid area. Midnight aligned on Norwegian timezone.",
"format": "date-time",
"type": [
"string",
"null"
],
"readOnly": true
},
"accounting_point": {
"description": "Embedded accounting_point",
"oneOf": [
{
"$ref": "#/$defs/accounting_point_response"
},
{
"type": "null"
}
],
"nullable": true
},
"metering_grid_area": {
"description": "Embedded metering_grid_area",
"oneOf": [
{
"$ref": "#/$defs/metering_grid_area_response"
},
{
"type": "null"
}
],
"nullable": true
}
},
"required": [
"accounting_point_id",
"metering_grid_area_id",
"valid_from"
]
},
"accounting_point_response": {
"summary": "Response - Accounting Point",
"description": "Response schema - Accounting point for a controllable unit.",
"type": "object",
"properties": {
"id": {
"description": "Unique surrogate identifier.",
"format": "bigint",
"type": "integer",
"readOnly": true
},
"business_id": {
"description": "The GSRN metering point id of the accounting point.",
"format": "text",
"type": "string",
"readOnly": true,
"pattern": "^[1-9][0-9]{17}$"
},
"system_operator_id": {
"description": "The system operator of the accounting point.",
"format": "bigint",
"type": "integer",
"readOnly": true
},
"location": {
"description": "Geographic location of the accounting point (WGS84), as a GeoJSON point object.",
"readOnly": true,
"type": [
"object",
"null"
],
"oneOf": [
{
"$ref": "#/$defs/geojson_point"
},
{
"type": "null"
}
]
},
"recorded_at": {
"description": "When the resource was recorded (created or updated) in the system.",
"format": "date-time",
"type": "string",
"readOnly": true
},
"recorded_by": {
"description": "The identity that recorded the resource.",
"format": "bigint",
"type": "integer",
"readOnly": true
},
"controllable_unit": {
"description": "Embedded controllable_unit",
"oneOf": [
{
"type": "array",
"items": {
"$ref": "#/$defs/controllable_unit_response"
}
},
{
"type": "null"
}
],
"nullable": true
},
"system_operator": {
"description": "Embedded party",
"oneOf": [
{
"$ref": "#/$defs/party_response"
},
{
"type": "null"
}
],
"nullable": true
},
"balance_responsible_party": {
"description": "Embedded accounting_point_balance_responsible_party",
"oneOf": [
{
"type": "array",
"items": {
"$ref": "#/$defs/accounting_point_balance_responsible_party_response"
}
},
{
"type": "null"
}
],
"nullable": true
},
"bidding_zone": {
"description": "Embedded accounting_point_bidding_zone",
"oneOf": [
{
"type": "array",
"items": {
"$ref": "#/$defs/accounting_point_bidding_zone_response"
}
},
{
"type": "null"
}
],
"nullable": true
},
"end_user": {
"description": "Embedded accounting_point_end_user",
"oneOf": [
{
"type": "array",
"items": {
"$ref": "#/$defs/accounting_point_end_user_response"
}
},
{
"type": "null"
}
],
"nullable": true
},
"energy_supplier": {
"description": "Embedded accounting_point_energy_supplier",
"oneOf": [
{
"type": "array",
"items": {
"$ref": "#/$defs/accounting_point_energy_supplier_response"
}
},
{
"type": "null"
}
],
"nullable": true
},
"metering_grid_area": {
"description": "Embedded accounting_point_metering_grid_area",
"oneOf": [
{
"type": "array",
"items": {
"$ref": "#/$defs/accounting_point_metering_grid_area_response"
}
},
{
"type": "null"
}
],
"nullable": true
},
"grid_location": {
"description": "Embedded accounting_point_grid_location",
"oneOf": [
{
"$ref": "#/$defs/accounting_point_grid_location_response"
},
{
"type": "null"
}
],
"nullable": true
}
},
"required": [
"id",
"business_id",
"system_operator_id",
"recorded_at",
"recorded_by"
]
},
"auth_scope": {
"description": "Authorization scopes.",
"format": "text",
"type": "string",
"enum": [
"manage:attachment",
"manage:attachment:service_providing_group_product_application_attachment",
"manage:auth",
"manage:data",
"manage:data:accounting_point_grid_location",
"manage:data:controllable_unit",
"manage:data:controllable_unit_service_provider",
"manage:data:controllable_unit_suspension",
"manage:data:controllable_unit_suspension_comment",
"manage:data:entity",
"manage:data:entity_client",
"manage:data:notification",
"manage:data:party",
"manage:data:party_membership",
"manage:data:service_provider_product_application",
"manage:data:service_provider_product_application_comment",
"manage:data:service_provider_product_suspension",
"manage:data:service_provider_product_suspension_comment",
"manage:data:service_providing_group",
"manage:data:service_providing_group_grid_prequalification",
"manage:data:service_providing_group_grid_prequalification_comment",
"manage:data:service_providing_group_grid_suspension",
"manage:data:service_providing_group_grid_suspension_comment",
"manage:data:service_providing_group_membership",
"manage:data:service_providing_group_product_application",
"manage:data:service_providing_group_product_application_comment",
"manage:data:service_providing_group_product_suspension",
"manage:data:service_providing_group_product_suspension_comment",
"manage:data:system_operator_product_type",
"manage:data:technical_resource",
"read:attachment",
"read:attachment:service_providing_group_product_application_attachment",
"read:attachment:service_providing_group_product_application_attachment_history",
"read:auth",
"read:data",
"read:data:accounting_point",
"read:data:accounting_point_balance_responsible_party",
"read:data:accounting_point_bidding_zone",
"read:data:accounting_point_end_user",
"read:data:accounting_point_energy_supplier",
"read:data:accounting_point_grid_location",
"read:data:accounting_point_grid_location_history",
"read:data:accounting_point_metering_grid_area",
"read:data:controllable_unit",
"read:data:controllable_unit_history",
"read:data:controllable_unit_service_provider",
"read:data:controllable_unit_service_provider_history",
"read:data:controllable_unit_summary",
"read:data:controllable_unit_suspension",
"read:data:controllable_unit_suspension_comment",
"read:data:controllable_unit_suspension_comment_history",
"read:data:controllable_unit_suspension_history",
"read:data:entity",
"read:data:entity_client",
"read:data:event",
"read:data:identity",
"read:data:metering_grid_area",
"read:data:notice",
"read:data:notification",
"read:data:party",
"read:data:party_history",
"read:data:party_membership",
"read:data:party_membership_history",
"read:data:product_type",
"read:data:service_provider_product_application",
"read:data:service_provider_product_application_comment",
"read:data:service_provider_product_application_comment_history",
"read:data:service_provider_product_application_history",
"read:data:service_provider_product_suspension",
"read:data:service_provider_product_suspension_comment",
"read:data:service_provider_product_suspension_comment_history",
"read:data:service_provider_product_suspension_history",
"read:data:service_providing_group",
"read:data:service_providing_group_grid_prequalification",
"read:data:service_providing_group_grid_prequalification_comment",
"read:data:service_providing_group_grid_prequalification_comment_history",
"read:data:service_providing_group_grid_prequalification_history",
"read:data:service_providing_group_grid_suspension",
"read:data:service_providing_group_grid_suspension_comment",
"read:data:service_providing_group_grid_suspension_comment_history",
"read:data:service_providing_group_grid_suspension_history",
"read:data:service_providing_group_history",
"read:data:service_providing_group_membership",
"read:data:service_providing_group_membership_history",
"read:data:service_providing_group_power_per_substation",
"read:data:service_providing_group_product_application",
"read:data:service_providing_group_product_application_comment",
"read:data:service_providing_group_product_application_comment_history",
"read:data:service_providing_group_product_application_history",
"read:data:service_providing_group_product_suspension",
"read:data:service_providing_group_product_suspension_comment",
"read:data:service_providing_group_product_suspension_comment_history",
"read:data:service_providing_group_product_suspension_history",
"read:data:service_providing_group_summary",
"read:data:system_operator_product_type",
"read:data:system_operator_product_type_history",
"read:data:technical_resource",
"read:data:technical_resource_history",
"read:grid",
"read:grid:line",
"read:grid:substation",
"read:grid:substation_cluster",
"use:auth",
"use:data",
"use:data:controllable_unit",
"use:data:controllable_unit:lookup",
"use:data:entity",
"use:data:entity:lookup"
]
},
"category": {
"description": "Resource category classification. Derived from technologies.",
"format": "text",
"type": "string",
"enum": [
"consumption",
"production",
"energy_storage"
]
},
"controllable_unit_regulation_direction": {
"description": "The regulation direction of the controllable unit. `up` means it can be used to increase production or decrease consumption, while `down` means to decrease production or increase consumption.",
"format": "text",
"type": "string",
"enum": [
"up",
"down",
"both"
]
},
"controllable_unit_response": {
"summary": "Response - Controllable unit",
"description": "Response schema - Controllable unit",
"type": "object",
"properties": {
"id": {
"description": "Unique surrogate key.",
"format": "bigint",
"type": "integer",
"readOnly": true
},
"business_id": {
"description": "Unique business identifier for the controllable unit.",
"format": "text",
"type": "string",
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$",
"readOnly": true
},
"name": {
"description": "Free text name of the controllable unit.",
"format": "text",
"type": "string",
"maxLength": 512
},
"start_date": {
"description": "The usage date when the controllable unit is first active.",
"format": "date",
"type": [
"string",
"null"
]
},
"status": {
"$ref": "#/$defs/controllable_unit_status",
"default": "new"
},
"regulation_direction": {
"$ref": "#/$defs/controllable_unit_regulation_direction"
},
"maximum_active_power": {
"description": "Maximum continuous active power (flexible power) that the controllable unit can produce or consume, i.e. deliver for balancing and congestion services, in kilowatts.",
"format": "decimal",
"type": "number",
"minimum": 0,
"maximum": 999999.999,
"multipleOf": 0.001
},
"is_small": {
"description": "Whether the controllable unit is small or not, following NCDR. Current threshold for this to be true is <= 50 kW of flexible power.",
"format": "boolean",
"type": "boolean",
"readOnly": true
},
"accounting_point_id": {
"description": "Reference to the accounting point that the controllable unit is connected to.",
"format": "bigint",
"type": "integer",
"n
# --- truncated at 32 KB (113 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/elhub/refs/heads/main/json-schema/elhub-controllable-unit-response-schema.json
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.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/elhub-controllable-unit-response"
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.