Gets a selection of operational data of a block as a timeseries.
Gets a selection of operational data of a block as a timeseries.
Returns a JSON representation of the selected operational data and its metadata at 15 minute granularity.
The user selects the relevant categories of operational data through the query parameter categories, which is a comma separated list. E.g. categories=powerCapacityChargeAvailable,powerCapacityDischargeRated
The following categories are available for blocks:
powerCapacityChargeRated: The rated charge power capacity of the block in kW, e.g. 8000.0.
powerCapacityChargeAvailable: The available charge power capacity of the block in kW, e.g. 8000.0.
powerCapacityDischargeRated: The rated discharge power capacity of the block in kW, e.g. 8000.0.
powerCapacityDischargeAvailable: The available discharge power capacity of the block in kW, e.g. 8000.0.
boundaryPower: The wholesale power that the asset reaches at the boundary between delivery periods in kW. For example, 4000.0 kW at 12:15 implies that asset will be delivering exactly 4000 kW at exactly 12:15, which is the boundary between the [12:00, 12:15] and [12:15, 12:30] delivery periods. This will in general be different from the scheduled power values for a delivery period which are reflective of the average power delivered over each periods. For more information on relevant ramping constraints, see the layr user guide.
deliveryPeriodSetpoint: The wholesale power the asset ramps to between the two adjacent boundary powers in kW, considering the ramping constraints. For example, 4500.0 kW at 12:00 means the asset ramps to 4500 kW somewhere within the [12:00, 12:15] delivery period. The setpoint is in general different from the schedule value, as the schedule value describes the average power throughout a quarter. Each setpoint is documented against the timestamp of its quarter — i.e., a setpoint with value 4500.0 kW and timestamp 12:15 corresponds to the [12:15, 12:30] delivery period. Note that the setpoint level is not necessarily achieved at that exact point in time, but normally somewhere within the quarter. For more information on relevant ramping constraints, see the layr user guide.
schedule: The active scheduled power output/input of the block in kW, e.g. 5000.0.
acceptedSchedule: The accepted schedule power for the block in kW, e.g. 4800.0.
adjustedSchedule: The adjusted schedule power for the block in kW, e.g. 3800.0.
undeliverableSchedule: The portion of the virtual asset’s scheduled wholesale power in kW that is considered “protected” during an ongoing unavailability. State of energy changes that result from this power will be accounted against the frozen-energy of the asset.
Along with the selected operational data, a metadata object is returned which provides the unit for the selected datapoint.
For detailed information about schedule adjustments including the reason for adjustments, use the block adjustments endpoint.
Note that it is required to provide start and end params to specify the time interval for which to retrieve values. This range is greedy, in that it will match any timeseries point included in its range, including on the boundaries. e.g., setting a start of 2025-06-17T00:00:00Z and an end of 2025-06-17T00:30:00Z would return the points at 00:00:00, 00:15:00, and 00:30:00 which collectively cover a period from 00:00:00 to 00:45:00.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"terralayr","colors":{"primary":"#13151A","light":"#C2C6CE","dark":"#888C97"},"logo":{"light":"https://mintcdn.com/terralayr-90/i2mowZXsRr_Wp7MC/logo/terralayrDark.svg?fit=max\u0026auto=format\u0026n=i2mowZXsRr_Wp7MC\u0026q=85\u0026s=eb99311be47192737889489eb393e3d4","dark":"https://mintcdn.com/terralayr-90/i2mowZXsRr_Wp7MC/logo/terralayr.svg?fit=max\u0026auto=format\u0026n=i2mowZXsRr_Wp7MC\u0026q=85\u0026s=ec334006d0e1ec6b8461a2016ff25471"},"favicon":"https://mintcdn.com/terralayr-90/6CJgW5GjjTIZDPSq/favicon.svg?fit=max\u0026auto=format\u0026n=6CJgW5GjjTIZDPSq\u0026q=85\u0026s=a4ab56165676d79a829688cf9b6e072a","api":{"params":{"expanded":"all"},"playground":{"display":"interactive"},"examples":{"defaults":"required","prefill":true,"autogenerate":true},"url":"full"},"navbar":{"links":[{"href":"mailto:support@trlyr.com","label":"Support"}],"primary":{"type":"button","label":"Layr Dashboard","href":"https://app.trlyr.com"}},"footer":{"socials":{"website":"https://www.trlyr.com/","github":"https://github.com/terralayr","linkedin":"https://www.linkedin.com/company/terralayr"}},"fonts":{"heading":{"family":"InterDisplay","weight":700,"source":"fonts/PPNeueMontreal-Regular.woff2","format":"woff2"},"body":{"family":"InterDisplay","weight":400,"source":"fonts/PPNeueMontreal-Regular.woff2","format":"woff2"}},"integrations":{"gtm":{"tagId":"GTM-MK2HWCBW"},"intercom":{"appId":"aqinf0la"}},"contextual":{"options":["copy","view","claude","chatgpt","mcp","add-mcp","cursor","vscode"],"display":"header"},"metadata":{"timestamp":true},"styling":{"latex":true},"navigation":{"global":{"anchors":[]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"terralayr-90","hasAudioNarration":false,"actualSubdomain":"terralayr-90","customDomains":["docs.trlyr.com"],"gitSource":{"type":"github","owner":"terralayr","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ae4a400c2eaceb0e3450bd7","collectionId":"6269c0f9-f523-44e1-830e-eecdedc4dffb","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae4a400c2eaceb0e3450bd7"},"feedback":{"agentFeedback":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6ae4a400c2eaceb0e3450bd7","clientVersion":"0.0.4039","searchFilterCounts":[{"language":"default","tag":"API Reference","count":99},{"language":"default","tag":"Physical Asset Management API","count":36},{"language":"default","tag":"Virtual Assets API","count":33},{"language":"default","tag":"BESS Academy","count":32},{"language":"default","tag":"Product Updates \u0026 Changelog","count":22},{"language":"default","tag":"Layr User Guide","count":13},{"language":"default","tag":"virtual-assets","count":13},{"language":"default","tag":"Revenue Reporting API","count":12},{"language":"default","tag":"revenue","count":12},{"language":"default","tag":"Module 3: The BESS Project Lifecycle","count":10}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true,"deflection":{"enabled":true,"email":"support@trlyr.com","showHelpButton":true}},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"virtual-assets-api-reference/blocks/gets-a-selection-of-operational-data-of-a-block-as-a-timeseries","slug":"/virtual-assets-api-reference/blocks/gets-a-selection-of-operational-data-of-a-block-as-a-timeseries","pageMetadata":{"title":"Gets a selection of operational data of a block as a timeseries.","description":"Gets a selection of operational data of a block as a timeseries.\n\nReturns a JSON representation of the selected operational data and its metadata at 15 minute granularity.\n\nThe user selects the relevant categories of operational data through the query parameter `categories`, which is a comma separated list. E.g. `categories=powerCapacityChargeAvailable,powerCapacityDischargeRated`\nThe following categories are available for blocks:\n\n`powerCapacityChargeRated`: The rated charge power capacity of the block in kW, e.g. `8000.0`.\n\n`powerCapacityChargeAvailable`: The available charge power capacity of the block in kW, e.g. `8000.0`.\n\n`powerCapacityDischargeRated`: The rated discharge power capacity of the block in kW, e.g. `8000.0`.\n\n`powerCapacityDischargeAvailable`: The available discharge power capacity of the block in kW, e.g. `8000.0`.\n\n`boundaryPower`: The wholesale power that the asset reaches at the boundary between delivery periods in kW. For example, `4000.0 kW` at 12:15 implies that asset will be delivering exactly 4000 kW at exactly 12:15, which is the boundary between the [12:00, 12:15] and [12:15, 12:30] delivery periods. This will in general be different from the scheduled power values for a delivery period which are reflective of the average power delivered over each periods. For more information on relevant ramping constraints, see the layr user guide.\n\n`deliveryPeriodSetpoint`: The wholesale power the asset ramps to between the two adjacent boundary powers in kW, considering the ramping constraints. For example, `4500.0 kW` at 12:00 means the asset ramps to 4500 kW somewhere within the [12:00, 12:15] delivery period. The setpoint is in general different from the schedule value, as the schedule value describes the average power throughout a quarter. Each setpoint is documented against the timestamp of its quarter — i.e., a setpoint with value `4500.0 kW` and timestamp 12:15 corresponds to the [12:15, 12:30] delivery period. Note that the setpoint level is not necessarily achieved at that exact point in time, but normally somewhere within the quarter. For more information on relevant ramping constraints, see the layr user guide.\n\n`schedule`: The active scheduled power output/input of the block in kW, e.g. `5000.0`.\n\n`acceptedSchedule`: The accepted schedule power for the block in kW, e.g. `4800.0`.\n\n`adjustedSchedule`: The adjusted schedule power for the block in kW, e.g. `3800.0`.\n\n`undeliverableSchedule`: The portion of the virtual asset's scheduled wholesale power in kW that is considered \"protected\" during an ongoing unavailability. State of energy changes that result from this power will be accounted against the frozen-energy of the asset.\n\nAlong with the selected operational data, a metadata object is returned which provides the unit for the selected datapoint.\n\nFor detailed information about schedule adjustments including the reason for adjustments, use the [block adjustments endpoint](/blocks/{blockID}/operational/adjustments).\n\nNote that it is required to provide `start` and `end` params to specify the time interval for which to retrieve values. This range is greedy, in that it will match any timeseries point included in its range, including on the boundaries. e.g., setting a start of `2025-06-17T00:00:00Z` and an end of `2025-06-17T00:30:00Z` would return the points at 00:00:00, 00:15:00, and 00:30:00 which collectively cover a period from 00:00:00 to 00:45:00.\n\nAn example response would be:\n\n```json\n{\n \"data\": {\n \"powerCapacityChargeAvailable\": {\n \"metaData\": {\n \"unit\": \"kW\"\n },\n \"dataPoints\": [\n {\n \"timestamp\": \"2025-07-11T22:00:00Z\",\n \"value\": 8000.0\n },\n {\n \"timestamp\": \"2025-07-11T22:15:00Z\",\n \"value\": 8000.0\n }\n ]\n },\n \"powerCapacityDischargeRated\": {\n \"metaData\": {\n \"unit\": \"kW\"\n },\n \"dataPoints\": [\n {\n \"timestamp\": \"2025-07-11T22:00:00Z\",\n \"value\": 8000.0\n },\n {\n \"timestamp\": \"2025-07-11T22:15:00Z\",\n \"value\": 8000.0\n }\n ]\n },\n \"schedule\": {\n \"metaData\": {\n \"unit\": \"kW\"\n },\n \"dataPoints\": [\n {\n \"timestamp\": \"2025-07-11T22:00:00Z\",\n \"value\": 5000.0\n },\n {\n \"timestamp\": \"2025-07-11T22:15:00Z\",\n \"value\": 5000.0\n }\n ]\n }\n }\n}\n```","deprecated":null,"version":null,"openapi":"https://api.sandbox.trlyr.com/docs/doc.json get /organisations/{organisationID}/virtual-assets/{virtualAssetID}/blocks/{blockID}/operational","href":"/virtual-assets-api-reference/blocks/gets-a-selection-of-operational-data-of-a-block-as-a-timeseries","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {Fragment: _Fragment, jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n a: \"a\",\n code: \"code\",\n p: \"p\",\n pre: \"pre\",\n span: \"span\",\n ..._provideComponents(),\n ...props.components\n }, {CodeBlock} = _components;\n if (!CodeBlock) _missingMdxReference(\"CodeBlock\", true);\n return _jsxs(_Fragment, {\n children: [_jsx(_components.p, {\n children: \"Gets a selection of operational data of a block as a timeseries.\"\n }), \"\\n\", _jsx(_components.p, {\n children: \"Returns a JSON representation of the selected operational data and its metadata at 15 minute granularity.\"\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"The user selects the relevant categories of operational data through the query parameter \", _jsx(_components.code, {\n children: \"categories\"\n }), \", which is a comma separated list. E.g. \", _jsx(_components.code, {\n children: \"categories=powerCapacityChargeAvailable,powerCapacityDischargeRated\"\n }), \"\\nThe following categories are available for blocks:\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.code, {\n children: \"powerCapacityChargeRated\"\n }), \": The rated charge power capacity of the block in kW, e.g. \", _jsx(_components.code, {\n children: \"8000.0\"\n }), \".\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.code, {\n children: \"powerCapacityChargeAvailable\"\n }), \": The available charge power capacity of the block in kW, e.g. \", _jsx(_components.code, {\n children: \"8000.0\"\n }), \".\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.code, {\n children: \"powerCapacityDischargeRated\"\n }), \": The rated discharge power capacity of the block in kW, e.g. \", _jsx(_components.code, {\n children: \"8000.0\"\n }), \".\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.code, {\n children: \"powerCapacityDischargeAvailable\"\n }), \": The available discharge power capacity of the block in kW, e.g. \", _jsx(_components.code, {\n children: \"8000.0\"\n }), \".\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.code, {\n children: \"boundaryPower\"\n }), \": The wholesale power that the asset reaches at the boundary between delivery periods in kW. For example, \", _jsx(_components.code, {\n children: \"4000.0 kW\"\n }), \" at 12:15 implies that asset will be delivering exactly 4000 kW at exactly 12:15, which is the boundary between the [12:00, 12:15] and [12:15, 12:30] delivery periods. This will in general be different from the scheduled power values for a delivery period which are reflective of the average power delivered over each periods. For more information on relevant ramping constraints, see the layr user guide.\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.code, {\n children: \"deliveryPeriodSetpoint\"\n }), \": The wholesale power the asset ramps to between the two adjacent boundary powers in kW, considering the ramping constraints. For example, \", _jsx(_components.code, {\n children: \"4500.0 kW\"\n }), \" at 12:00 means the asset ramps to 4500 kW somewhere within the [12:00, 12:15] delivery period. The setpoint is in general different from the schedule value, as the schedule value describes the average power throughout a quarter. Each setpoint is documented against the timestamp of its quarter — i.e., a setpoint with value \", _jsx(_components.code, {\n children: \"4500.0 kW\"\n }), \" and timestamp 12:15 corresponds to the [12:15, 12:30] delivery period. Note that the setpoint level is not necessarily achieved at that exact point in time, but normally somewhere within the quarter. For more information on relevant ramping constraints, see the layr user guide.\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.code, {\n children: \"schedule\"\n }), \": The active scheduled power output/input of the block in kW, e.g. \", _jsx(_components.code, {\n children: \"5000.0\"\n }), \".\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.code, {\n children: \"acceptedSchedule\"\n }), \": The accepted schedule power for the block in kW, e.g. \", _jsx(_components.code, {\n children: \"4800.0\"\n }), \".\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.code, {\n children: \"adjustedSchedule\"\n }), \": The adjusted schedule power for the block in kW, e.g. \", _jsx(_components.code, {\n children: \"3800.0\"\n }), \".\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.code, {\n children: \"undeliverableSchedule\"\n }), \": The portion of the virtual asset’s scheduled wholesale power in kW that is considered “protected” during an ongoing unavailability. State of energy changes that result from this power will be accounted against the frozen-energy of the asset.\"]\n }), \"\\n\", _jsx(_components.p, {\n children: \"Along with the selected operational data, a metadata object is returned which provides the unit for the selected datapoint.\"\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"For detailed information about schedule adjustments including the reason for adjustments, use the \", _jsx(_components.a, {\n href: \"/blocks/%7BblockID%7D/operational/adjustments\",\n children: \"block adjustments endpoint\"\n }), \".\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"Note that it is required to provide \", _jsx(_components.code, {\n children: \"start\"\n }), \" and \", _jsx(_components.code, {\n children: \"end\"\n }), \" params to specify the time interval for which to retrieve values. This range is greedy, in that it will match any timeseries point included in its range, including on the boundaries. e.g., setting a start of \", _jsx(_components.code, {\n children: \"2025-06-17T00:00:00Z\"\n }), \" and an end of \", _jsx(_components.code, {\n children: \"2025-06-17T00:30:00Z\"\n }), \" would return the points at 00:00:00, 00:15:00, and 00:30:00 which collectively cover a period from 00:00:00 to 00:45:00.\"]\n }), \"\\n\", _jsx(_components.p, {\n children: \"An example response would be:\"\n }), \"\\n\", _jsx(CodeBlock, {\n numberOfLines: \"49\",\n language: \"json\",\n children: _jsx(_components.pre, {\n className: \"shiki shiki-themes github-light-default dark-plus\",\n style: {\n backgroundColor: \"#ffffff\",\n \"--shiki-dark-bg\": \"#0B0C0E\",\n color: \"#1f2328\",\n \"--shiki-dark\": \"#D4D4D4\"\n },\n language: \"json\",\n children: _jsxs(_components.code, {\n language: \"json\",\n numberOfLines: \"49\",\n children: [_jsx(_components.span, {\n className: \"line\",\n children: _jsx(_components.span, {\n style: {\n color: \"#1F2328\",\n \"--shiki-dark\": \"#D4D4D4\"\n },\n children: \"{\"\n })\n }), \"\\n\", _jsxs(_components.span, {\n className: \"line\",\n children: [_jsx(_components.span, {\n style: {\n color: \"#116329\",\n \"--shiki-dark\": \"#9CDCFE\"\n },\n children: \" \\\"data\\\"\"\n }), _jsx(_components.span, {\n style: {\n color: \"#1F2328\",\n \"--shiki-dark\": \"#D4D4D4\"\n },\n children: \": {\"\n })]\n }), \"\\n\", _jsxs(_components.span, {\n className: \"line\",\n children: [_jsx(_components.span, {\n style: {\n color: \"#116329\",\n \"--shiki-dark\": \"#9CDCFE\"\n },\n children: \" \\\"powerCapacityChargeAvailable\\\"\"\n }), _jsx(_components.span, {\n style: {\n color: \"#1F2328\",\n \"--shiki-dark\": \"#D4D4D4\"\n },\n children: \": {\"\n })]\n }), \"\\n\", _jsxs(_components.span, {\n className: \"line\",\n children: [_jsx(_components.span, {\n style: {\n color: \"#116329\",\n \"--shiki-dark\": \"#9CDCFE\"\n },\n children: \" \\\"metaData\\\"\"\n }), _jsx(_components.span, {\n style: {\n color: \"#1F2328\",\n \"--shiki-dark\": \"#D4D4D4\"\n },\n children: \": {\"\n })]\n }), \"\\n\", _jsxs(_components.span, {\n className: \"line\",\n children: [_jsx(_components.span, {\n style: {\n color: \"#116329\",\n \"--shiki-dark\": \"#9CDCFE\"\n },\n children: \" \\\"unit\\\"\"\n }), _jsx(_components.span, {\n style: {\n color: \"#1F2328\",\n \"--shiki-dark\": \"#D4D4D4\"\n },\n children: \": \"\n }), _jsx(_components.span, {\n style: {\n color: \"#0A3069\",\n \"--shiki-dark\": \"#CE9178\"\n },\n children: \"\\\"kW\\\"\"\n })]\n }), \"\\n\", _jsx(_components.span, {\n className: \"line\",\n children: _jsx(_components.span, {\n style: {\n color: \"#1F2328\",\n \"--shiki-dark\": \"#D4D4D4\"\n },\n children: \" },\"\n })\n }), \"\\n\", _jsxs(_components.span, {\n className: \"line\",\n children: [_jsx(_components.span, {\n style: {\n color: \"#116329\",\n \"--shiki-dark\": \"#9CDCFE\"\n },\n children: \" \\\"dataPoints\\\"\"\n }), _jsx(_components.span, {\n style: {\n color: \"#1F2328\",\n \"--shiki-dark\": \"#D4D4D4\"\n },\n children: \": [\"\n })]\n }), \"\\n\", _jsx(_components.span, {\n className: \"line\",\n children: _jsx(_components.span, {\n style: {\n color: \"#1F2328\",\n \"--shiki-dark\": \"#D4D4D4\"\n },\n children: \" {\"\n })\n }), \"\\n\", _jsxs(_components.span, {\n className: \"line\",\n children: [_jsx(_components.span, {\n style: {\n color: \"#116329\",\n \"--shiki-dark\": \"#9CDCFE\"\n },\n children: \" \\\"timestamp\\\"\"\n }), _jsx(_components.span, {\n style: {\n color: \"#1F2328\",\n \"--shiki-dark\": \"#D4D4D4\"\n },\n children: \": \"\n }), _jsx(_components.span, {\n style: {\n color: \"#0A3069\",\n \"--shiki-dark\": \"#CE9178\"\n },\n children: \"\\\"2025-07-11T22:00:00Z\\\"\"\n }), _jsx(_components.span, {\n style: {\n color: \"#1F2328\",\n \"--shiki-dark\": \"#D4D4D4\"\n },\n children: \",\"\n })]\n }), \"\\n\", _jsxs(_components.span, {\n className: \"line\",\n children: [_jsx(_components.span, {\n style: {\n color: \"#116329\",\n \"--shiki-dark\": \"#9CDCFE\"\n },\n children: \" \\\"value\\\"\"\n }), _jsx(_components.span, {\n style: {\n color: \"#1F2328\",\n \"--shiki-dark\": \"#D4D4D4\"\n },\n children: \": \"\n }), _jsx(_components.span, {\n style: {\n color: \"#0550AE\",\n \"--shiki-dark\": \"#B5CEA8\"\n },\n children: \"8000.0\"\n })]\n }), \"\\n\", _jsx(_components.span, {\n className: \"line\",\n children: _jsx(_components.span, {\n style: {\n color: \"#1F2328\",\n \"--shiki-dark\": \"#D4D4D4\"\n },\n children: \" },\"\n })\n }), \"\\n\", _jsx(_components.span, {\n className: \"line\",\n children: _jsx(_components.span, {\n style: {\n color: \"#1F2328\",\n \"--shiki-dark\": \"#D4D4D4\"\n },\n children: \" {\"\n })\n }), \"\\n\", _jsxs(_components.span, {\n className: \"line\",\n children: [_jsx(_components.span, {\n style: {\n color: \"#116329\",\n \"--shiki-dark\": \"#9CDCFE\"\n },\n children: \" \\\"timestamp\\\"\"\n }), _jsx(_components.span, {\n style: {\n color: \"#1F2328\",\n \"--shiki-dark\": \"#D4D4D4\"\n },\n children: \": \"\n }), _jsx(_components.span, {\n style: {\n color: \"#0A3069\",\n \"--shiki-dark\": \"#CE9178\"\n },\n children: \"\\\"2025-07-11T22:15:00Z\\\"\"\n }), _jsx(_components.span, {\n style: {\n color: \"#1F2328\",\n \"--shiki-dark\": \"#D4D4D4\"\n },\n children: \",\"\n })]\n }), \"\\n\", _jsxs(_components.span, {\n className: \"line\",\n children: [_jsx(_components.span, {\n style: {\n color: \"#116329\",\n \"--shiki-dark\": \"#9CDCFE\"\n },\n children: \" \\\"value\\\"\"\n }), _jsx(_components.span, {\n style: {\n color: \"#1F2328\",\n \"--shiki-dark\": \"#D4D4D4\"\n },\n children: \": \"\n }), _jsx(_components.span, {\n style: {\n color: \"#0550AE\",\n \"--shiki-dark\": \"#B5CEA8\"\n },\n children: \"8000.0\"\n })]\n }), \"\\n\", _jsx(_components.span, {\n className: \"line\",\n children: _jsx(_components.span, {\n style: {\n color: \"#1F2328\",\n \"--shiki-dark\": \"#D4D4D4\"\n },\n children: \" }\"\n })\n }), \"\\n\", _jsx(_components.span, {\n className: \"line\",\n children: _jsx(_components.span, {\n style: {\n color: \"#1F2328\",\n \"--shiki-dark\": \"#D4D4D4\"\n },\n children: \" ]\"\n })\n }), \"\\n\", _jsx(_components.span, {\n className: \"line\",\n children: _jsx(_components.span, {\n style: {\n color: \"#1F2328\",\n \"--shiki-dark\": \"#D4D4D4\"\n },\n children: \" },\"\n })\n }), \"\\n\", _jsxs(_components.span, {\n className: \"line\",\n children: [_jsx(_components.span, {\n style: {\n color: \"#116329\",\n \"--shiki-dark\": \"#9CDCFE\"\n },\n children: \" \\\"powerCapacityDischargeRated\\\"\"\n }), _jsx(_components.span, {\n style: {\n color: \"#1F2328\",\n \"--shiki-dark\": \"#D4D4D4\"\n },\n children: \": {\"\n })]\n }), \"\\n\", _jsxs(_components.span, {\n className: \"line\",\n children: [_jsx(_components.span, {\n style: {\n color: \"#116329\",\n \"--shiki-dark\": \"#9CDCFE\"\n },\n children: \" \\\"metaData\\\"\"\n }), _jsx(_components.span, {\n style: {\n color: \"#1F2328\",\n \"--shiki-dark\": \"#D4D4D4\"\n },\n children: \": {\"\n })]\n }), \"\\n\", _jsxs(_components.span, {\n className: \"line\",\n children: [_jsx(_components.span, {\n style: {\n color: \"#116329\",\n \"--shiki-dark\": \"#9CDCFE\"\n },\n children: \" \\\"unit\\\"\"\n }), _jsx(_components.span, {\n style: {\n color: \"#1F2328\",\n \"--shiki-dark\": \"#D4D4D4\"\n },\n children: \": \"\n }), _jsx(_components.span, {\n style: {\n color: \"#0A3069\",\n \"--shiki-dark\": \"#CE9178\"\n },\n children: \"\\\"kW\\\"\"\n })]\n }), \"\\n\", _jsx(_components.span, {\n className: \"line\",\n children: _jsx(_components.span, {\n style: {\n color: \"#1F2328\",\n \"--shiki-dark\": \"#D4D4D4\"\n },\n children: \" },\"\n })\n }), \"\\n\", _jsxs(_components.span, {\n className: \"line\",\n children: [_jsx(_components.span, {\n style: {\n color: \"#116329\",\n \"--shiki-dark\": \"#9CDCFE\"\n },\n children: \" \\\"dataPoints\\\"\"\n }), _jsx(_components.span, {\n style: {\n color: \"#1F2328\",\n \"--shiki-dark\": \"#D4D4D4\"\n },\n children: \": [\"\n })]\n }), \"\\n\", _jsx(_components.span, {\n className: \"line\",\n children: _jsx(_components.span, {\n style: {\n color: \"#1F2328\",\n \"--shiki-dark\": \"#D4D4D4\"\n },\n children: \" {\"\n })\n }), \"\\n\", _jsxs(_components.span, {\n className: \"line\",\n children: [_jsx(_components.span, {\n style: {\n color: \"#116329\",\n \"--shiki-dark\": \"#9CDCFE\"\n },\n children: \" \\\"timestamp\\\"\"\n }), _jsx(_components.span, {\n style: {\n color: \"#1F2328\",\n \"--shiki-dark\": \"#D4D4D4\"\n },\n children: \": \"\n }), _jsx(_components.span, {\n style: {\n color: \"#0A3069\",\n \"--shiki-dark\": \"#CE9178\"\n },\n children: \"\\\"2025-07-11T22:00:00Z\\\"\"\n }), _jsx(_components.span, {\n style: {\n color: \"#1F2328\",\n \"--shiki-dark\": \"#D4D4D4\"\n },\n children: \",\"\n })]\n }), \"\\n\", _jsxs(_components.span, {\n className: \"line\",\n children: [_jsx(_components.span, {\n style: {\n color: \"#116329\",\n \"--shiki-dark\": \"#9CDCFE\"\n },\n children: \" \\\"value\\\"\"\n }), _jsx(_components.span, {\n style: {\n color: \"#1F2328\",\n \"--shiki-dark\": \"#D4D4D4\"\n },\n children: \": \"\n }), _jsx(_components.span, {\n style: {\n color: \"#0550AE\",\n \"--shiki-dark\": \"#B5CEA8\"\n },\n children: \"8000.0\"\n })]\n }), \"\\n\", _jsx(_components.span, {\n className: \"line\",\n children: _jsx(_components.span, {\n style: {\n color: \"#1F2328\",\n \"--shiki-dark\": \"#D4D4D4\"\n },\n children: \" },\"\n })\n }), \"\\n\", _jsx(_components.span, {\n className: \"line\",\n children: _jsx(_components.span, {\n style: {\n color: \"#1F2328\",\n \"--shiki-dark\": \"#D4D4D4\"\n },\n children: \" {\"\n })\n }), \"\\n\", _jsxs(_components.span, {\n className: \"line\",\n children: [_jsx(_components.span, {\n style: {\n color: \"#116329\",\n \"--shiki-dark\": \"#9CDCFE\"\n },\n children: \" \\\"timestamp\\\"\"\n }), _jsx(_components.span, {\n style: {\n color: \"#1F2328\",\n \"--shiki-dark\": \"#D4D4D4\"\n },\n children: \": \"\n }), _jsx(_components.span, {\n style: {\n color: \"#0A3069\",\n \"--shiki-dark\": \"#CE9178\"\n },\n children: \"\\\"2025-07-11T22:15:00Z\\\"\"\n }), _jsx(_components.span, {\n style: {\n color: \"#1F2328\",\n \"--shiki-dark\": \"#D4D4D4\"\n },\n children: \",\"\n })]\n }), \"\\n\", _jsxs(_components.span, {\n className: \"line\",\n children: [_jsx(_components.span, {\n style: {\n color: \"#116329\",\n \"--shiki-dark\": \"#9CDCFE\"\n },\n children: \" \\\"value\\\"\"\n }), _jsx(_components.span, {\n style: {\n color: \"#1F2328\",\n \"--shiki-dark\": \"#D4D4D4\"\n },\n children: \": \"\n }), _jsx(_components.span, {\n style: {\n color: \"#0550AE\",\n \"--shiki-dark\": \"#B5CEA8\"\n },\n children: \"8000.0\"\n })]\n }), \"\\n\", _jsx(_components.span, {\n className: \"line\",\n children: _jsx(_components.span, {\n style: {\n color: \"#1F2328\",\n \"--shiki-dark\": \"#D4D4D4\"\n },\n children: \" }\"\n })\n }), \"\\n\", _jsx(_components.span, {\n className: \"line\",\n children: _jsx(_components.span, {\n style: {\n color: \"#1F2328\",\n \"--shiki-dark\": \"#D4D4D4\"\n },\n children: \" ]\"\n })\n }), \"\\n\", _jsx(_components.span, {\n className: \"line\",\n children: _jsx(_components.span, {\n style: {\n color: \"#1F2328\",\n \"--shiki-dark\": \"#D4D4D4\"\n },\n children: \" },\"\n })\n }), \"\\n\", _jsxs(_components.span, {\n className: \"line\",\n children: [_jsx(_components.span, {\n style: {\n color: \"#116329\",\n \"--shiki-dark\": \"#9CDCFE\"\n },\n children: \" \\\"schedule\\\"\"\n }), _jsx(_components.span, {\n style: {\n color: \"#1F2328\",\n \"--shiki-dark\": \"#D4D4D4\"\n },\n children: \": {\"\n })]\n }), \"\\n\", _jsxs(_components.span, {\n className: \"line\",\n children: [_jsx(_components.span, {\n style: {\n color: \"#116329\",\n \"--shiki-dark\": \"#9CDCFE\"\n },\n children: \" \\\"metaData\\\"\"\n }), _jsx(_components.span, {\n style: {\n color: \"#1F2328\",\n \"--shiki-dark\": \"#D4D4D4\"\n },\n children: \": {\"\n })]\n }), \"\\n\", _jsxs(_components.span, {\n className: \"line\",\n children: [_jsx(_components.span, {\n style: {\n color: \"#116329\",\n \"--shiki-dark\": \"#9CDCFE\"\n },\n children: \" \\\"unit\\\"\"\n }), _jsx(_components.span, {\n style: {\n color: \"#1F2328\",\n \"--shiki-dark\": \"#D4D4D4\"\n },\n children: \": \"\n }), _jsx(_components.span, {\n style: {\n color: \"#0A3069\",\n \"--shiki-dark\": \"#CE9178\"\n },\n children: \"\\\"kW\\\"\"\n })]\n }), \"\\n\", _jsx(_components.span, {\n className: \"line\",\n children: _jsx(_components.span, {\n style: {\n color: \"#1F2328\",\n \"--shiki-dark\": \"#D4D4D4\"\n },\n children: \" },\"\n })\n }), \"\\n\", _jsxs(_components.span, {\n className: \"line\",\n children: [_jsx(_components.span, {\n style: {\n color: \"#116329\",\n \"--shiki-dark\": \"#9CDCFE\"\n },\n children: \" \\\"dataPoints\\\"\"\n }), _jsx(_components.span, {\n style: {\n color: \"#1F2328\",\n \"--shiki-dark\": \"#D4D4D4\"\n },\n children: \": [\"\n })]\n }), \"\\n\", _jsx(_components.span, {\n className: \"line\",\n children: _jsx(_components.span, {\n style: {\n color: \"#1F2328\",\n \"--shiki-dark\": \"#D4D4D4\"\n },\n children: \" {\"\n })\n }), \"\\n\", _jsxs(_components.span, {\n className: \"line\",\n children: [_jsx(_components.span, {\n style: {\n color: \"#116329\",\n \"--shiki-dark\": \"#9CDCFE\"\n },\n children: \" \\\"timestamp\\\"\"\n }), _jsx(_components.span, {\n style: {\n color: \"#1F2328\",\n \"--shiki-dark\": \"#D4D4D4\"\n },\n children: \": \"\n }), _jsx(_components.span, {\n style: {\n color: \"#0A3069\",\n \"--shiki-dark\": \"#CE9178\"\n },\n children: \"\\\"2025-07-11T22:00:00Z\\\"\"\n }), _jsx(_components.span, {\n style: {\n color: \"#1F2328\",\n \"--shiki-dark\": \"#D4D4D4\"\n },\n children: \",\"\n })]\n }), \"\\n\", _jsxs(_components.span, {\n className: \"line\",\n children: [_jsx(_components.span, {\n style: {\n color: \"#116329\",\n \"--shiki-dark\": \"#9CDCFE\"\n },\n children: \" \\\"value\\\"\"\n }), _jsx(_components.span, {\n style: {\n color: \"#1F2328\",\n \"--shiki-dark\": \"#D4D4D4\"\n },\n children: \": \"\n }), _jsx(_components.span, {\n style: {\n color: \"#0550AE\",\n \"--shiki-dark\": \"#B5CEA8\"\n },\n children: \"5000.0\"\n })]\n }), \"\\n\", _jsx(_components.span, {\n className: \"line\",\n children: _jsx(_components.span, {\n style: {\n color: \"#1F2328\",\n \"--shiki-dark\": \"#D4D4D4\"\n },\n children: \" },\"\n })\n }), \"\\n\", _jsx(_components.span, {\n className: \"line\",\n children: _jsx(_components.span, {\n style: {\n color: \"#1F2328\",\n \"--shiki-dark\": \"#D4D4D4\"\n },\n children: \" {\"\n })\n }), \"\\n\", _jsxs(_components.span, {\n className: \"line\",\n children: [_jsx(_components.span, {\n style: {\n color: \"#116329\",\n \"--shiki-dark\": \"#9CDCFE\"\n },\n children: \" \\\"timestamp\\\"\"\n }), _jsx(_components.span, {\n style: {\n color: \"#1F2328\",\n \"--shiki-dark\": \"#D4D4D4\"\n },\n children: \": \"\n }), _jsx(_components.span, {\n style: {\n color: \"#0A3069\",\n \"--shiki-dark\": \"#CE9178\"\n },\n children: \"\\\"2025-07-11T22:15:00Z\\\"\"\n }), _jsx(_components.span, {\n style: {\n color: \"#1F2328\",\n \"--shiki-dark\": \"#D4D4D4\"\n },\n children: \",\"\n })]\n }), \"\\n\", _jsxs(_components.span, {\n className: \"line\",\n children: [_jsx(_components.span, {\n style: {\n color: \"#116329\",\n \"--shiki-dark\": \"#9CDCFE\"\n },\n children: \" \\\"value\\\"\"\n }), _jsx(_components.span, {\n style: {\n color: \"#1F2328\",\n \"--shiki-dark\": \"#D4D4D4\"\n },\n children: \": \"\n }), _jsx(_components.span, {\n style: {\n color: \"#0550AE\",\n \"--shiki-dark\": \"#B5CEA8\"\n },\n children: \"5000.0\"\n })]\n }), \"\\n\", _jsx(_components.span, {\n className: \"line\",\n children: _jsx(_components.span, {\n style: {\n color: \"#1F2328\",\n \"--shiki-dark\": \"#D4D4D4\"\n },\n children: \" }\"\n })\n }), \"\\n\", _jsx(_components.span, {\n className: \"line\",\n children: _jsx(_components.span, {\n style: {\n color: \"#1F2328\",\n \"--shiki-dark\": \"#D4D4D4\"\n },\n children: \" ]\"\n })\n }), \"\\n\", _jsx(_components.span, {\n className: \"line\",\n children: _jsx(_components.span, {\n style: {\n color: \"#1F2328\",\n \"--shiki-dark\": \"#D4D4D4\"\n },\n children: \" }\"\n })\n }), \"\\n\", _jsx(_components.span, {\n className: \"line\",\n children: _jsx(_components.span, {\n style: {\n color: \"#1F2328\",\n \"--shiki-dark\": \"#D4D4D4\"\n },\n children: \" }\"\n })\n }), \"\\n\", _jsx(_components.span, {\n className: \"line\",\n children: _jsx(_components.span, {\n style: {\n color: \"#1F2328\",\n \"--shiki-dark\": \"#D4D4D4\"\n },\n children: \"}\"\n })\n }), \"\\n\"]\n })\n })\n })]\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\nfunction _missingMdxReference(id, component) {\n throw new Error(\"Expected \" + (component ? \"component\" : \"object\") + \" `\" + id + \"` to be defined: you likely forgot to import, pass, or provide it.\");\n}\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Gets a selection of operational data of a block as a timeseries.","description":"Gets a selection of operational data of a block as a timeseries.\n\nReturns a JSON representation of the selected operational data and its metadata at 15 minute granularity.\n\nThe user selects the relevant categories of operational data through the query parameter `categories`, which is a comma separated list. E.g. `categories=powerCapacityChargeAvailable,powerCapacityDischargeRated`\nThe following categories are available for blocks:\n\n`powerCapacityChargeRated`: The rated charge power capacity of the block in kW, e.g. `8000.0`.\n\n`powerCapacityChargeAvailable`: The available charge power capacity of the block in kW, e.g. `8000.0`.\n\n`powerCapacityDischargeRated`: The rated discharge power capacity of the block in kW, e.g. `8000.0`.\n\n`powerCapacityDischargeAvailable`: The available discharge power capacity of the block in kW, e.g. `8000.0`.\n\n`boundaryPower`: The wholesale power that the asset reaches at the boundary between delivery periods in kW. For example, `4000.0 kW` at 12:15 implies that asset will be delivering exactly 4000 kW at exactly 12:15, which is the boundary between the [12:00, 12:15] and [12:15, 12:30] delivery periods. This will in general be different from the scheduled power values for a delivery period which are reflective of the average power delivered over each periods. For more information on relevant ramping constraints, see the layr user guide.\n\n`deliveryPeriodSetpoint`: The wholesale power the asset ramps to between the two adjacent boundary powers in kW, considering the ramping constraints. For example, `4500.0 kW` at 12:00 means the asset ramps to 4500 kW somewhere within the [12:00, 12:15] delivery period. The setpoint is in general different from the schedule value, as the schedule value describes the average power throughout a quarter. Each setpoint is documented against the timestamp of its quarter — i.e., a setpoint with value `4500.0 kW` and timestamp 12:15 corresponds to the [12:15, 12:30] delivery period. Note that the setpoint level is not necessarily achieved at that exact point in time, but normally somewhere within the quarter. For more information on relevant ramping constraints, see the layr user guide.\n\n`schedule`: The active scheduled power output/input of the block in kW, e.g. `5000.0`.\n\n`acceptedSchedule`: The accepted schedule power for the block in kW, e.g. `4800.0`.\n\n`adjustedSchedule`: The adjusted schedule power for the block in kW, e.g. `3800.0`.\n\n`undeliverableSchedule`: The portion of the virtual asset's scheduled wholesale power in kW that is considered \"protected\" during an ongoing unavailability. State of energy changes that result from this power will be accounted against the frozen-energy of the asset.\n\nAlong with the selected operational data, a metadata object is returned which provides the unit for the selected datapoint.\n\nFor detailed information about schedule adjustments including the reason for adjustments, use the [block adjustments endpoint](/blocks/{blockID}/operational/adjustments).\n\nNote that it is required to provide `start` and `end` params to specify the time interval for which to retrieve values. This range is greedy, in that it will match any timeseries point included in its range, including on the boundaries. e.g., setting a start of `2025-06-17T00:00:00Z` and an end of `2025-06-17T00:30:00Z` would return the points at 00:00:00, 00:15:00, and 00:30:00 which collectively cover a period from 00:00:00 to 00:45:00.\n\nAn example response would be:\n\n```json\n{\n \"data\": {\n \"powerCapacityChargeAvailable\": {\n \"metaData\": {\n \"unit\": \"kW\"\n },\n \"dataPoints\": [\n {\n \"timestamp\": \"2025-07-11T22:00:00Z\",\n \"value\": 8000.0\n },\n {\n \"timestamp\": \"2025-07-11T22:15:00Z\",\n \"value\": 8000.0\n }\n ]\n },\n \"powerCapacityDischargeRated\": {\n \"metaData\": {\n \"unit\": \"kW\"\n },\n \"dataPoints\": [\n {\n \"timestamp\": \"2025-07-11T22:00:00Z\",\n \"value\": 8000.0\n },\n {\n \"timestamp\": \"2025-07-11T22:15:00Z\",\n \"value\": 8000.0\n }\n ]\n },\n \"schedule\": {\n \"metaData\": {\n \"unit\": \"kW\"\n },\n \"dataPoints\": [\n {\n \"timestamp\": \"2025-07-11T22:00:00Z\",\n \"value\": 5000.0\n },\n {\n \"timestamp\": \"2025-07-11T22:15:00Z\",\n \"value\": 5000.0\n }\n ]\n }\n }\n}\n```","deprecated":null,"version":null,"openapi":"https://api.sandbox.trlyr.com/docs/doc.json get /organisations/{organisationID}/virtual-assets/{virtualAssetID}/blocks/{blockID}/operational","href":"/virtual-assets-api-reference/blocks/gets-a-selection-of-operational-data-of-a-block-as-a-timeseries","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"description":"Gets a selection of operational data of a block as a timeseries.\n\nReturns a JSON representation of the selected operational data and its metadata at 15 minute granularity.\n\nThe user selects the relevant categories of operational data through the query parameter `categories`, which is a comma separated list. E.g. `categories=powerCapacityChargeAvailable,powerCapacityDischargeRated`\nThe following categories are available for blocks:\n\n`powerCapacityChargeRated`: The rated charge power capacity of the block in kW, e.g. `8000.0`.\n\n`powerCapacityChargeAvailable`: The available charge power capacity of the block in kW, e.g. `8000.0`.\n\n`powerCapacityDischargeRated`: The rated discharge power capacity of the block in kW, e.g. `8000.0`.\n\n`powerCapacityDischargeAvailable`: The available discharge power capacity of the block in kW, e.g. `8000.0`.\n\n`boundaryPower`: The wholesale power that the asset reaches at the boundary between delivery periods in kW. For example, `4000.0 kW` at 12:15 implies that asset will be delivering exactly 4000 kW at exactly 12:15, which is the boundary between the [12:00, 12:15] and [12:15, 12:30] delivery periods. This will in general be different from the scheduled power values for a delivery period which are reflective of the average power delivered over each periods. For more information on relevant ramping constraints, see the layr user guide.\n\n`deliveryPeriodSetpoint`: The wholesale power the asset ramps to between the two adjacent boundary powers in kW, considering the ramping constraints. For example, `4500.0 kW` at 12:00 means the asset ramps to 4500 kW somewhere within the [12:00, 12:15] delivery period. The setpoint is in general different from the schedule value, as the schedule value describes the average power throughout a quarter. Each setpoint is documented against the timestamp of its quarter — i.e., a setpoint with value `4500.0 kW` and timestamp 12:15 corresponds to the [12:15, 12:30] delivery period. Note that the setpoint level is not necessarily achieved at that exact point in time, but normally somewhere within the quarter. For more information on relevant ramping constraints, see the layr user guide.\n\n`schedule`: The active scheduled power output/input of the block in kW, e.g. `5000.0`.\n\n`acceptedSchedule`: The accepted schedule power for the block in kW, e.g. `4800.0`.\n\n`adjustedSchedule`: The adjusted schedule power for the block in kW, e.g. `3800.0`.\n\n`undeliverableSchedule`: The portion of the virtual asset's scheduled wholesale power in kW that is considered \"protected\" during an ongoing unavailability. State of energy changes that result from this power will be accounted against the frozen-energy of the asset.\n\nAlong with the selected operational data, a metadata object is returned which provides the unit for the selected datapoint.\n\nFor detailed information about schedule adjustments including the reason for adjustments, use the [block adjustments endpoint](/blocks/{blockID}/operational/adjustments).\n\nNote that it is required to provide `start` and `end` params to specify the time interval for which to retrieve values. This range is greedy, in that it will match any timeseries point included in its range, including on the boundaries. e.g., setting a start of `2025-06-17T00:00:00Z` and an end of `2025-06-17T00:30:00Z` would return the points at 00:00:00, 00:15:00, and 00:30:00 which collectively cover a period from 00:00:00 to 00:45:00.\n\nAn example response would be:\n\n```json\n{\n \"data\": {\n \"powerCapacityChargeAvailable\": {\n \"metaData\": {\n \"unit\": \"kW\"\n },\n \"dataPoints\": [\n {\n \"timestamp\": \"2025-07-11T22:00:00Z\",\n \"value\": 8000.0\n },\n {\n \"timestamp\": \"2025-07-11T22:15:00Z\",\n \"value\": 8000.0\n }\n ]\n },\n \"powerCapacityDischargeRated\": {\n \"metaData\": {\n \"unit\": \"kW\"\n },\n \"dataPoints\": [\n {\n \"timestamp\": \"2025-07-11T22:00:00Z\",\n \"value\": 8000.0\n },\n {\n \"timestamp\": \"2025-07-11T22:15:00Z\",\n \"value\": 8000.0\n }\n ]\n },\n \"schedule\": {\n \"metaData\": {\n \"unit\": \"kW\"\n },\n \"dataPoints\": [\n {\n \"timestamp\": \"2025-07-11T22:00:00Z\",\n \"value\": 5000.0\n },\n {\n \"timestamp\": \"2025-07-11T22:15:00Z\",\n \"value\": 5000.0\n }\n ]\n }\n }\n}\n```","parameters":["f243a6e5-b76f-4f91-b454-af90ec706c43","669bf3df-399b-4342-bd78-2869ddd13b84","654c4424-3d1a-4fe6-a5ea-7f07c3d7f8d5","3d4c331a-8897-47e0-a6b9-fd2df952515f","ff23d9ed-f93b-4e49-baa5-552250036ac1","41d86ab2-e443-4304-a32d-55ac0d9715fe","34427a7e-2e31-40ce-9246-7ba253442e6f","1716e596-83a6-4158-a7e3-a9db856c763f"],"requestBody":"6379a48f-742e-49d7-afc4-c2650e5e6e97","responses":{"200":"84b9bd4e-4607-4411-b27f-e24bedaeff2a","400":"84193730-6bcc-43c1-9cfc-9ed174338667","401":"64834d31-e7ee-4fa7-96b2-22b428dc5608","500":"f15f764f-039b-45c5-b641-58b1013ebcbd"},"summary":"Gets a selection of operational data of a block as a timeseries.","tags":["blocks"],"method":"get","type":"path","servers":["297f8926-7508-43d5-a35e-6c4952f65031","b1201b0c-e618-4435-972d-30cad67339f3"],"security":[],"path":"/organisations/{organisationID}/virtual-assets/{virtualAssetID}/blocks/{blockID}/operational","baseUrlOptions":["https://api.trlyr.com","https://api.sandbox.trlyr.com"],"title":"Gets a selection of operational data of a block as a timeseries.","codeSamples":[],"requiredOnlyExamples":true,"requestExampleType":"generated","responseExampleType":"generated","prefillPlaygroundWithExample":true,"prefillPlaygroundExamples":[{}],"urlDisplay":"full"},"dependencies":{"parameters":{"f243a6e5-b76f-4f91-b454-af90ec706c43":{"description":"Access token","in":"header","name":"Authorization","required":true,"schema":{"default":"Bearer \u003caccess token value>","type":"string","isRequired":true,"description":"Access token","uniqueKey":"","typeLabel":"string"}},"669bf3df-399b-4342-bd78-2869ddd13b84":{"description":"Organisation ID","in":"path","name":"organisationID","required":true,"schema":{"type":"string","isRequired":true,"description":"Organisation ID","uniqueKey":"","typeLabel":"string"}},"654c4424-3d1a-4fe6-a5ea-7f07c3d7f8d5":{"description":"Virtual Asset ID","in":"path","name":"virtualAssetID","required":true,"schema":{"type":"string","isRequired":true,"description":"Virtual Asset ID","uniqueKey":"","typeLabel":"string"}},"3d4c331a-8897-47e0-a6b9-fd2df952515f":{"description":"Block ID","in":"path","name":"blockID","required":true,"schema":{"type":"string","isRequired":true,"description":"Block ID","uniqueKey":"","typeLabel":"string"}},"ff23d9ed-f93b-4e49-baa5-552250036ac1":{"description":"Selected Operational Data Categories","in":"query","name":"categories","required":true,"schema":{"type":"string","isRequired":true,"description":"Selected Operational Data Categories","uniqueKey":"","typeLabel":"string"}},"41d86ab2-e443-4304-a32d-55ac0d9715fe":{"description":"Query start time","in":"query","name":"start","required":true,"schema":{"type":"string","isRequired":true,"description":"Query start time","uniqueKey":"","typeLabel":"string"}},"34427a7e-2e31-40ce-9246-7ba253442e6f":{"description":"Query end time","in":"query","name":"end","required":true,"schema":{"type":"string","isRequired":true,"description":"Query end time","uniqueKey":"","typeLabel":"string"}},"1716e596-83a6-4158-a7e3-a9db856c763f":{"description":"Data granularity (optional, minimum 4s)","in":"query","name":"granularity","schema":{"type":"string","description":"Data granularity (optional, minimum 4s)","uniqueKey":"","typeLabel":"string"}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"84b9bd4e-4607-4411-b27f-e24bedaeff2a":{"content":{"application/json":{"schema":{"properties":{"data":{"additionalProperties":{"properties":{"dataPoints":{"items":{"properties":{"timestamp":{"example":"2020-01-01T00:00:00+00:00","type":"string","isRequired":true,"uniqueKey":"data.additionalProperties.dataPoints.items.[INDEX].timestamp","typeLabel":"string"},"value":{"example":100,"type":"number","isRequired":true,"uniqueKey":"data.additionalProperties.dataPoints.items.[INDEX].value","typeLabel":"number"}},"required":["timestamp","value"],"type":"object","uniqueKey":"data.additionalProperties.dataPoints.items.[INDEX]","typeLabel":"object"},"type":"array","uniqueItems":false,"isRequired":true,"uniqueKey":"data.additionalProperties.dataPoints","typeLabel":"object[]"},"metaData":{"properties":{"unit":{"enum":["","PCT","KW","KWH","KW/S","AMP","V","C","HZ","WH","W","RATIO","EFC","EUR","GC02EQKWH"],"example":"kW","type":"string","x-enum-varnames":["UnitNone","UnitPercent","UnitKilowatt","UnitKilowattHr","UnitKilowattPerSecond","UnitAmpere","UnitVolt","UnitCelsius","UnitHertz","UnitWattHour","UnitWatt","UnitRatio","UnitCycles","UnitEuro","UnitCarbonIntensity"],"isRequired":true,"uniqueKey":"data.additionalProperties.metaData.unit","typeLabel":"enum\u003cstring>"}},"required":["unit"],"type":"object","isRequired":true,"uniqueKey":"data.additionalProperties.metaData","typeLabel":"object"}},"required":["dataPoints","metaData"],"type":"object","uniqueKey":"data.additionalProperties","typeLabel":"object"},"type":"object","isRequired":true,"uniqueKey":"data","typeLabel":"object"}},"required":["data"],"type":"object","uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"data":{}}}},"exampleType":"generated"}},"description":"OK","exampleType":"generated"},"84193730-6bcc-43c1-9cfc-9ed174338667":{"description":"Bad Request","content":{"_mintlify/placeholder":{"schema":{"type":"object","description":""}}}},"64834d31-e7ee-4fa7-96b2-22b428dc5608":{"description":"Unauthorized","content":{"_mintlify/placeholder":{"schema":{"type":"object","description":""}}}},"f15f764f-039b-45c5-b641-58b1013ebcbd":{"description":"Internal Server Error","content":{"_mintlify/placeholder":{"schema":{"type":"object","description":""}}}}},"security":{},"servers":{"297f8926-7508-43d5-a35e-6c4952f65031":{"description":"Production API","url":"https://api.trlyr.com"},"b1201b0c-e618-4435-972d-30cad67339f3":{"description":"Sandbox API","url":"https://api.sandbox.trlyr.com"}}},"originalFileLocation":"https://api.sandbox.trlyr.com/docs/doc.json"},"subdomain":"terralayr-90","siteName":"terralayr","title":"Gets a selection of operational data of a block as a timeseries. - terralayr","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"originalFileLocation":"virtual-assets-api-reference/blocks/gets-a-selection-of-operational-data-of-a-block-as-a-timeseries.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Gets a selection of operational data of a block as a timeseries. Returns a JSON representation of the selected operational data and its metadata at 15 minute granularity. The user selects the relevant categories of operational data through the query parameter categories, which is a comma separated list. E.g. categories=powerCapacityChargeAvailable,powerCapacityDischargeRated The following categories are available for blocks: powerCapacityChargeRated: The rated charge power capacity of the block in kW, e.g. 8000.0. powerCapacityChargeAvailable: The available charge power capacity of the block in kW, e.g. 8000.0. powerCapacityDischargeRated: The rated discharge power capacity of the block in kW, e.g. 8000.0. powerCapacityDischargeAvailable: The available discharge power capacity of the block in kW, e.g. 8000.0. boundaryPower: The wholesale power that the asset reaches at the boundary between delivery periods in kW. For example, 4000.0 kW at 12:15 implies that asset will be delivering exactly 4000 kW at exactly 12:15, which is the boundary between the [12:00, 12:15] and [12:15, 12:30] delivery periods. This will in general be different from the scheduled power values for a delivery period which are reflective of the average power delivered over each periods. For more information on relevant ramping constraints, see the layr user guide. deliveryPeriodSetpoint: The wholesale power the asset ramps to between the two adjacent boundary powers in kW, considering the ramping constraints. For example, 4500.0 kW at 12:00 means the asset ramps to 4500 kW somewhere within the [12:00, 12:15] delivery period. The setpoint is in general different from the schedule value, as the schedule value describes the average power throughout a quarter. Each setpoint is documented against the timestamp of its quarter — i.e., a setpoint with value 4500.0 kW and timestamp 12:15 corresponds to the [12:15, 12:30] delivery period. Note that the setpoint level is not necessarily achieved at that exact point in time, but normally somewhere within the quarter. For more information on relevant ramping constraints, see the layr user guide. schedule: The active scheduled power output/input of the block in kW, e.g. 5000.0. acceptedSchedule: The accepted schedule power for the block in kW, e.g. 4800.0. adjustedSchedule: The adjusted schedule power for the block in kW, e.g. 3800.0. undeliverableSchedule: The portion of the virtual asset\u0026#x27;s scheduled wholesale power in kW that is considered \u0026quot;protected\u0026quot; during an ongoing unavailability. State of energy changes that result from this power will be accounted against the frozen-energy of the asset. Along with the selected operational data, a metadata object is returned which provides the unit for the selected datapoint. For detailed information about schedule adjustments including the reason for adjustments, use the block adjustments endpoint. Note that it is required to provide start and end params to specify the time interval for which to retrieve values. This range is greedy, in that it will match any timeseries point included in its range, including on the boundaries. e.g., setting a start of 2025-06-17T00:00:00Z and an end of 2025-06-17T00:30:00Z would return the points at 00:00:00, 00:15:00, and 00:30:00 which collectively cover a period from 00:00:00 to 00:45:00. An example response would be: json { \u0026quot;data\u0026quot;: { \u0026quot;powerCapacityChargeAvailable\u0026quot;: { \u0026quot;metaData\u0026quot;: { \u0026quot;unit\u0026quot;: \u0026quot;kW\u0026quot; }, \u0026quot;dataPoints\u0026quot;: [ { \u0026quot;timestamp\u0026quot;: \u0026quot;2025-07-11T22:00:00Z\u0026quot;, \u0026quot;value\u0026quot;: 8000.0 }, { \u0026quot;timestamp\u0026quot;: \u0026quot;2025-07-11T22:15:00Z\u0026quot;, \u0026quot;value\u0026quot;: 8000.0 } ] }, \u0026quot;powerCapacityDischargeRated\u0026quot;: { \u0026quot;metaData\u0026quot;: { \u0026quot;unit\u0026quot;: \u0026quot;kW\u0026quot; }, \u0026quot;dataPoints\u0026quot;: [ { \u0026quot;timestamp\u0026quot;: \u0026quot;2025-07-11T22:00:00Z\u0026quot;, \u0026quot;value\u0026quot;: 8000.0 }, { \u0026quot;timestamp\u0026quot;: \u0026quot;2025-07-11T22:15:00Z\u0026quot;, \u0026quot;value\u0026quot;: 8000.0 } ] }, \u0026quot;schedule\u0026quot;: { \u0026quot;metaData\u0026quot;: { \u0026quot;unit\u0026quot;: \u0026quot;kW\u0026quot; }, \u0026quot;dataPoints\u0026quot;: [ { \u0026quot;timestamp\u0026quot;: \u0026quot;2025-07-11T22:00:00Z\u0026quot;, \u0026quot;value\u0026quot;: 5000.0 }, { \u0026quot;timestamp\u0026quot;: \u0026quot;2025-07-11T22:15:00Z\u0026quot;, \u0026quot;value\u0026quot;: 5000.0 } ] } } }\">\u003cmeta data-mint-head name=\"application-name\" content=\"terralayr\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/terralayr-90/QAqKhv9VYa2PiyeN/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/terralayr-90/QAqKhv9VYa2PiyeN/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/terralayr-90/QAqKhv9VYa2PiyeN/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/terralayr-90/QAqKhv9VYa2PiyeN/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/terralayr-90/QAqKhv9VYa2PiyeN/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/terralayr-90/QAqKhv9VYa2PiyeN/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/terralayr-90/QAqKhv9VYa2PiyeN/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/terralayr-90/QAqKhv9VYa2PiyeN/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/terralayr-90/QAqKhv9VYa2PiyeN/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Gets a selection of operational data of a block as a timeseries. - terralayr\">\u003cmeta data-mint-head property=\"og:description\" content=\"Gets a selection of operational data of a block as a timeseries. Returns a JSON representation of the selected operational data and its metadata at 15 minute granularity. The user selects the relevant categories of operational data through the query parameter categories, which is a comma separated list. E.g. categories=powerCapacityChargeAvailable,powerCapacityDischargeRated The following categories are available for blocks: powerCapacityChargeRated: The rated charge power capacity of the block in kW, e.g. 8000.0. powerCapacityChargeAvailable: The available charge power capacity of the block in kW, e.g. 8000.0. powerCapacityDischargeRated: The rated discharge power capacity of the block in kW, e.g. 8000.0. powerCapacityDischargeAvailable: The available discharge power capacity of the block in kW, e.g. 8000.0. boundaryPower: The wholesale power that the asset reaches at the boundary between delivery periods in kW. For example, 4000.0 kW at 12:15 implies that asset will be delivering exactly 4000 kW at exactly 12:15, which is the boundary between the [12:00, 12:15] and [12:15, 12:30] delivery periods. This will in general be different from the scheduled power values for a delivery period which are reflective of the average power delivered over each periods. For more information on relevant ramping constraints, see the layr user guide. deliveryPeriodSetpoint: The wholesale power the asset ramps to between the two adjacent boundary powers in kW, considering the ramping constraints. For example, 4500.0 kW at 12:00 means the asset ramps to 4500 kW somewhere within the [12:00, 12:15] delivery period. The setpoint is in general different from the schedule value, as the schedule value describes the average power throughout a quarter. Each setpoint is documented against the timestamp of its quarter — i.e., a setpoint with value 4500.0 kW and timestamp 12:15 corresponds to the [12:15, 12:30] delivery period. Note that the setpoint level is not necessarily achieved at that exact point in time, but normally somewhere within the quarter. For more information on relevant ramping constraints, see the layr user guide. schedule: The active scheduled power output/input of the block in kW, e.g. 5000.0. acceptedSchedule: The accepted schedule power for the block in kW, e.g. 4800.0. adjustedSchedule: The adjusted schedule power for the block in kW, e.g. 3800.0. undeliverableSchedule: The portion of the virtual asset\u0026#x27;s scheduled wholesale power in kW that is considered \u0026quot;protected\u0026quot; during an ongoing unavailability. State of energy changes that result from this power will be accounted against the frozen-energy of the asset. Along with the selected operational data, a metadata object is returned which provides the unit for the selected datapoint. For detailed information about schedule adjustments including the reason for adjustments, use the block adjustments endpoint. Note that it is required to provide start and end params to specify the time interval for which to retrieve values. This range is greedy, in that it will match any timeseries point included in its range, including on the boundaries. e.g., setting a start of 2025-06-17T00:00:00Z and an end of 2025-06-17T00:30:00Z would return the points at 00:00:00, 00:15:00, and 00:30:00 which collectively cover a period from 00:00:00 to 00:45:00. An example response would be: json { \u0026quot;data\u0026quot;: { \u0026quot;powerCapacityChargeAvailable\u0026quot;: { \u0026quot;metaData\u0026quot;: { \u0026quot;unit\u0026quot;: \u0026quot;kW\u0026quot; }, \u0026quot;dataPoints\u0026quot;: [ { \u0026quot;timestamp\u0026quot;: \u0026quot;2025-07-11T22:00:00Z\u0026quot;, \u0026quot;value\u0026quot;: 8000.0 }, { \u0026quot;timestamp\u0026quot;: \u0026quot;2025-07-11T22:15:00Z\u0026quot;, \u0026quot;value\u0026quot;: 8000.0 } ] }, \u0026quot;powerCapacityDischargeRated\u0026quot;: { \u0026quot;metaData\u0026quot;: { \u0026quot;unit\u0026quot;: \u0026quot;kW\u0026quot; }, \u0026quot;dataPoints\u0026quot;: [ { \u0026quot;timestamp\u0026quot;: \u0026quot;2025-07-11T22:00:00Z\u0026quot;, \u0026quot;value\u0026quot;: 8000.0 }, { \u0026quot;timestamp\u0026quot;: \u0026quot;2025-07-11T22:15:00Z\u0026quot;, \u0026quot;value\u0026quot;: 8000.0 } ] }, \u0026quot;schedule\u0026quot;: { \u0026quot;metaData\u0026quot;: { \u0026quot;unit\u0026quot;: \u0026quot;kW\u0026quot; }, \u0026quot;dataPoints\u0026quot;: [ { \u0026quot;timestamp\u0026quot;: \u0026quot;2025-07-11T22:00:00Z\u0026quot;, \u0026quot;value\u0026quot;: 5000.0 }, { \u0026quot;timestamp\u0026quot;: \u0026quot;2025-07-11T22:15:00Z\u0026quot;, \u0026quot;value\u0026quot;: 5000.0 } ] } } }\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"terralayr\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.trlyr.com/virtual-assets-api-reference/blocks/gets-a-selection-of-operational-data-of-a-block-as-a-timeseries\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://terralayr-90.mintlify.app/_mintlify/api/og/v2?division=blocks\u0026amp;title=Gets+a+selection+of+operational+data+of+a+block+as+a+timeseries.\u0026amp;description=Gets+a+selection+of+operational+data+of+a+block+as+a+timeseries.%0A%0AReturns+a+JSON+representation+of+the+selected+operational+data+and+its+metadata+at+15+minute+g\u0026amp;theme=6829ac6d8fb6a04cc851f81c\u0026amp;signature=9177461f1a0496b916611e5fd24ec9e2ddb4b9223908e5de6d41b36dbf2db939\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Gets a selection of operational data of a block as a timeseries. - terralayr\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Gets a selection of operational data of a block as a timeseries. Returns a JSON representation of the selected operational data and its metadata at 15 minute granularity. The user selects the relevant categories of operational data through the query parameter categories, which is a comma separated list. E.g. categories=powerCapacityChargeAvailable,powerCapacityDischargeRated The following categories are available for blocks: powerCapacityChargeRated: The rated charge power capacity of the block in kW, e.g. 8000.0. powerCapacityChargeAvailable: The available charge power capacity of the block in kW, e.g. 8000.0. powerCapacityDischargeRated: The rated discharge power capacity of the block in kW, e.g. 8000.0. powerCapacityDischargeAvailable: The available discharge power capacity of the block in kW, e.g. 8000.0. boundaryPower: The wholesale power that the asset reaches at the boundary between delivery periods in kW. For example, 4000.0 kW at 12:15 implies that asset will be delivering exactly 4000 kW at exactly 12:15, which is the boundary between the [12:00, 12:15] and [12:15, 12:30] delivery periods. This will in general be different from the scheduled power values for a delivery period which are reflective of the average power delivered over each periods. For more information on relevant ramping constraints, see the layr user guide. deliveryPeriodSetpoint: The wholesale power the asset ramps to between the two adjacent boundary powers in kW, considering the ramping constraints. For example, 4500.0 kW at 12:00 means the asset ramps to 4500 kW somewhere within the [12:00, 12:15] delivery period. The setpoint is in general different from the schedule value, as the schedule value describes the average power throughout a quarter. Each setpoint is documented against the timestamp of its quarter — i.e., a setpoint with value 4500.0 kW and timestamp 12:15 corresponds to the [12:15, 12:30] delivery period. Note that the setpoint level is not necessarily achieved at that exact point in time, but normally somewhere within the quarter. For more information on relevant ramping constraints, see the layr user guide. schedule: The active scheduled power output/input of the block in kW, e.g. 5000.0. acceptedSchedule: The accepted schedule power for the block in kW, e.g. 4800.0. adjustedSchedule: The adjusted schedule power for the block in kW, e.g. 3800.0. undeliverableSchedule: The portion of the virtual asset\u0026#x27;s scheduled wholesale power in kW that is considered \u0026quot;protected\u0026quot; during an ongoing unavailability. State of energy changes that result from this power will be accounted against the frozen-energy of the asset. Along with the selected operational data, a metadata object is returned which provides the unit for the selected datapoint. For detailed information about schedule adjustments including the reason for adjustments, use the block adjustments endpoint. Note that it is required to provide start and end params to specify the time interval for which to retrieve values. This range is greedy, in that it will match any timeseries point included in its range, including on the boundaries. e.g., setting a start of 2025-06-17T00:00:00Z and an end of 2025-06-17T00:30:00Z would return the points at 00:00:00, 00:15:00, and 00:30:00 which collectively cover a period from 00:00:00 to 00:45:00. An example response would be: json { \u0026quot;data\u0026quot;: { \u0026quot;powerCapacityChargeAvailable\u0026quot;: { \u0026quot;metaData\u0026quot;: { \u0026quot;unit\u0026quot;: \u0026quot;kW\u0026quot; }, \u0026quot;dataPoints\u0026quot;: [ { \u0026quot;timestamp\u0026quot;: \u0026quot;2025-07-11T22:00:00Z\u0026quot;, \u0026quot;value\u0026quot;: 8000.0 }, { \u0026quot;timestamp\u0026quot;: \u0026quot;2025-07-11T22:15:00Z\u0026quot;, \u0026quot;value\u0026quot;: 8000.0 } ] }, \u0026quot;powerCapacityDischargeRated\u0026quot;: { \u0026quot;metaData\u0026quot;: { \u0026quot;unit\u0026quot;: \u0026quot;kW\u0026quot; }, \u0026quot;dataPoints\u0026quot;: [ { \u0026quot;timestamp\u0026quot;: \u0026quot;2025-07-11T22:00:00Z\u0026quot;, \u0026quot;value\u0026quot;: 8000.0 }, { \u0026quot;timestamp\u0026quot;: \u0026quot;2025-07-11T22:15:00Z\u0026quot;, \u0026quot;value\u0026quot;: 8000.0 } ] }, \u0026quot;schedule\u0026quot;: { \u0026quot;metaData\u0026quot;: { \u0026quot;unit\u0026quot;: \u0026quot;kW\u0026quot; }, \u0026quot;dataPoints\u0026quot;: [ { \u0026quot;timestamp\u0026quot;: \u0026quot;2025-07-11T22:00:00Z\u0026quot;, \u0026quot;value\u0026quot;: 5000.0 }, { \u0026quot;timestamp\u0026quot;: \u0026quot;2025-07-11T22:15:00Z\u0026quot;, \u0026quot;value\u0026quot;: 5000.0 } ] } } }\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://terralayr-90.mintlify.app/_mintlify/api/og/v2?division=blocks\u0026amp;title=Gets+a+selection+of+operational+data+of+a+block+as+a+timeseries.\u0026amp;description=Gets+a+selection+of+operational+data+of+a+block+as+a+timeseries.%0A%0AReturns+a+JSON+representation+of+the+selected+operational+data+and+its+metadata+at+15+minute+g\u0026amp;theme=6829ac6d8fb6a04cc851f81c\u0026amp;signature=9177461f1a0496b916611e5fd24ec9e2ddb4b9223908e5de6d41b36dbf2db939\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/terralayr-90/QAqKhv9VYa2PiyeN/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"terralayr\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#13151A\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.trlyr.com/virtual-assets-api-reference/blocks/gets-a-selection-of-operational-data-of-a-block-as-a-timeseries\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/virtual-assets-api-reference/blocks/gets-a-selection-of-operational-data-of-a-block-as-a-timeseries.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.trlyr.com/#organization\",\"name\":\"terralayr\",\"url\":\"https://docs.trlyr.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/terralayr-90/i2mowZXsRr_Wp7MC/logo/terralayrDark.svg?fit=max\u0026auto=format\u0026n=i2mowZXsRr_Wp7MC\u0026q=85\u0026s=eb99311be47192737889489eb393e3d4\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.trlyr.com#website\",\"name\":\"terralayr\",\"url\":\"https://docs.trlyr.com\",\"publisher\":{\"@id\":\"https://docs.trlyr.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.trlyr.com/virtual-assets-api-reference/blocks/gets-a-selection-of-operational-data-of-a-block-as-a-timeseries#webpage\",\"url\":\"https://docs.trlyr.com/virtual-assets-api-reference/blocks/gets-a-selection-of-operational-data-of-a-block-as-a-timeseries\",\"name\":\"Gets a selection of operational data of a block as a timeseries.\",\"description\":\"Gets a selection of operational data of a block as a timeseries. Returns a JSON representation of the selected operational data and its metadata at 15 minute granularity. The user selects the relevant categories of operational data through the query parameter categories, which is a comma separated list. E.g. categories=powerCapacityChargeAvailable,powerCapacityDischargeRated The following categories are available for blocks: powerCapacityChargeRated: The rated charge power capacity of the block in kW, e.g. 8000.0. powerCapacityChargeAvailable: The available charge power capacity of the block in kW, e.g. 8000.0. powerCapacityDischargeRated: The rated discharge power capacity of the block in kW, e.g. 8000.0. powerCapacityDischargeAvailable: The available discharge power capacity of the block in kW, e.g. 8000.0. boundaryPower: The wholesale power that the asset reaches at the boundary between delivery periods in kW. For example, 4000.0 kW at 12:15 implies that asset will be delivering exactly 4000 kW at exactly 12:15, which is the boundary between the [12:00, 12:15] and [12:15, 12:30] delivery periods. This will in general be different from the scheduled power values for a delivery period which are reflective of the average power delivered over each periods. For more information on relevant ramping constraints, see the layr user guide. deliveryPeriodSetpoint: The wholesale power the asset ramps to between the two adjacent boundary powers in kW, considering the ramping constraints. For example, 4500.0 kW at 12:00 means the asset ramps to 4500 kW somewhere within the [12:00, 12:15] delivery period. The setpoint is in general different from the schedule value, as the schedule value describes the average power throughout a quarter. Each setpoint is documented against the timestamp of its quarter — i.e., a setpoint with value 4500.0 kW and timestamp 12:15 corresponds to the [12:15, 12:30] delivery period. Note that the setpoint level is not necessarily achieved at that exact point in time, but normally somewhere within the quarter. For more information on relevant ramping constraints, see the layr user guide. schedule: The active scheduled power output/input of the block in kW, e.g. 5000.0. acceptedSchedule: The accepted schedule power for the block in kW, e.g. 4800.0. adjustedSchedule: The adjusted schedule power for the block in kW, e.g. 3800.0. undeliverableSchedule: The portion of the virtual asset's scheduled wholesale power in kW that is considered \\\"protected\\\" during an ongoing unavailability. State of energy changes that result from this power will be accounted against the frozen-energy of the asset. Along with the selected operational data, a metadata object is returned which provides the unit for the selected datapoint. For detailed information about schedule adjustments including the reason for adjustments, use the block adjustments endpoint. Note that it is required to provide start and end params to specify the time interval for which to retrieve values. This range is greedy, in that it will match any timeseries point included in its range, including on the boundaries. e.g., setting a start of 2025-06-17T00:00:00Z and an end of 2025-06-17T00:30:00Z would return the points at 00:00:00, 00:15:00, and 00:30:00 which collectively cover a period from 00:00:00 to 00:45:00. An example response would be: json { \\\"data\\\": { \\\"powerCapacityChargeAvailable\\\": { \\\"metaData\\\": { \\\"unit\\\": \\\"kW\\\" }, \\\"dataPoints\\\": [ { \\\"timestamp\\\": \\\"2025-07-11T22:00:00Z\\\", \\\"value\\\": 8000.0 }, { \\\"timestamp\\\": \\\"2025-07-11T22:15:00Z\\\", \\\"value\\\": 8000.0 } ] }, \\\"powerCapacityDischargeRated\\\": { \\\"metaData\\\": { \\\"unit\\\": \\\"kW\\\" }, \\\"dataPoints\\\": [ { \\\"timestamp\\\": \\\"2025-07-11T22:00:00Z\\\", \\\"value\\\": 8000.0 }, { \\\"timestamp\\\": \\\"2025-07-11T22:15:00Z\\\", \\\"value\\\": 8000.0 } ] }, \\\"schedule\\\": { \\\"metaData\\\": { \\\"unit\\\": \\\"kW\\\" }, \\\"dataPoints\\\": [ { \\\"timestamp\\\": \\\"2025-07-11T22:00:00Z\\\", \\\"value\\\": 5000.0 }, { \\\"timestamp\\\": \\\"2025-07-11T22:15:00Z\\\", \\\"value\\\": 5000.0 } ] } } }\",\"isPartOf\":{\"@id\":\"https://docs.trlyr.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.trlyr.com/virtual-assets-api-reference/blocks/gets-a-selection-of-operational-data-of-a-block-as-a-timeseries#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.trlyr.com/virtual-assets-api-reference/blocks/gets-a-selection-of-operational-data-of-a-block-as-a-timeseries#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Virtual Assets API\",\"item\":\"https://docs.trlyr.com/virtual-assets-api-reference/virtual-assets/get-all-the-virtual-assets-belonging-to-an-organisation\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"blocks\",\"item\":\"https://docs.trlyr.com/virtual-assets-api-reference/blocks/get-all-the-blocks-belonging-to-a-virtual-asset\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Gets a selection of operational data of a block as a timeseries.\",\"item\":\"https://docs.trlyr.com/virtual-assets-api-reference/blocks/gets-a-selection-of-operational-data-of-a-block-as-a-timeseries\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.trlyr.com/virtual-assets-api-reference/blocks/gets-a-selection-of-operational-data-of-a-block-as-a-timeseries#apireference\",\"headline\":\"Gets a selection of operational data of a block as a timeseries.\",\"name\":\"Gets a selection of operational data of a block as a timeseries.\",\"description\":\"Gets a selection of operational data of a block as a timeseries. Returns a JSON representation of the selected operational data and its metadata at 15 minute granularity. The user selects the relevant categories of operational data through the query parameter categories, which is a comma separated list. E.g. categories=powerCapacityChargeAvailable,powerCapacityDischargeRated The following categories are available for blocks: powerCapacityChargeRated: The rated charge power capacity of the block in kW, e.g. 8000.0. powerCapacityChargeAvailable: The available charge power capacity of the block in kW, e.g. 8000.0. powerCapacityDischargeRated: The rated discharge power capacity of the block in kW, e.g. 8000.0. powerCapacityDischargeAvailable: The available discharge power capacity of the block in kW, e.g. 8000.0. boundaryPower: The wholesale power that the asset reaches at the boundary between delivery periods in kW. For example, 4000.0 kW at 12:15 implies that asset will be delivering exactly 4000 kW at exactly 12:15, which is the boundary between the [12:00, 12:15] and [12:15, 12:30] delivery periods. This will in general be different from the scheduled power values for a delivery period which are reflective of the average power delivered over each periods. For more information on relevant ramping constraints, see the layr user guide. deliveryPeriodSetpoint: The wholesale power the asset ramps to between the two adjacent boundary powers in kW, considering the ramping constraints. For example, 4500.0 kW at 12:00 means the asset ramps to 4500 kW somewhere within the [12:00, 12:15] delivery period. The setpoint is in general different from the schedule value, as the schedule value describes the average power throughout a quarter. Each setpoint is documented against the timestamp of its quarter — i.e., a setpoint with value 4500.0 kW and timestamp 12:15 corresponds to the [12:15, 12:30] delivery period. Note that the setpoint level is not necessarily achieved at that exact point in time, but normally somewhere within the quarter. For more information on relevant ramping constraints, see the layr user guide. schedule: The active scheduled power output/input of the block in kW, e.g. 5000.0. acceptedSchedule: The accepted schedule power for the block in kW, e.g. 4800.0. adjustedSchedule: The adjusted schedule power for the block in kW, e.g. 3800.0. undeliverableSchedule: The portion of the virtual asset's scheduled wholesale power in kW that is considered \\\"protected\\\" during an ongoing unavailability. State of energy changes that result from this power will be accounted against the frozen-energy of the asset. Along with the selected operational data, a metadata object is returned which provides the unit for the selected datapoint. For detailed information about schedule adjustments including the reason for adjustments, use the block adjustments endpoint. Note that it is required to provide start and end params to specify the time interval for which to retrieve values. This range is greedy, in that it will match any timeseries point included in its range, including on the boundaries. e.g., setting a start of 2025-06-17T00:00:00Z and an end of 2025-06-17T00:30:00Z would return the points at 00:00:00, 00:15:00, and 00:30:00 which collectively cover a period from 00:00:00 to 00:45:00. An example response would be: json { \\\"data\\\": { \\\"powerCapacityChargeAvailable\\\": { \\\"metaData\\\": { \\\"unit\\\": \\\"kW\\\" }, \\\"dataPoints\\\": [ { \\\"timestamp\\\": \\\"2025-07-11T22:00:00Z\\\", \\\"value\\\": 8000.0 }, { \\\"timestamp\\\": \\\"2025-07-11T22:15:00Z\\\", \\\"value\\\": 8000.0 } ] }, \\\"powerCapacityDischargeRated\\\": { \\\"metaData\\\": { \\\"unit\\\": \\\"kW\\\" }, \\\"dataPoints\\\": [ { \\\"timestamp\\\": \\\"2025-07-11T22:00:00Z\\\", \\\"value\\\": 8000.0 }, { \\\"timestamp\\\": \\\"2025-07-11T22:15:00Z\\\", \\\"value\\\": 8000.0 } ] }, \\\"schedule\\\": { \\\"metaData\\\": { \\\"unit\\\": \\\"kW\\\" }, \\\"dataPoints\\\": [ { \\\"timestamp\\\": \\\"2025-07-11T22:00:00Z\\\", \\\"value\\\": 5000.0 }, { \\\"timestamp\\\": \\\"2025-07-11T22:15:00Z\\\", \\\"value\\\": 5000.0 } ] } } }\",\"url\":\"https://docs.trlyr.com/virtual-assets-api-reference/blocks/gets-a-selection-of-operational-data-of-a-block-as-a-timeseries\",\"mainEntityOfPage\":{\"@id\":\"https://docs.trlyr.com/virtual-assets-api-reference/blocks/gets-a-selection-of-operational-data-of-a-block-as-a-timeseries#webpage\"},\"publisher\":{\"@id\":\"https://docs.trlyr.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.trlyr.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"terralayr\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"terralayr","nav":{"global":{"anchors":[]},"tabs":[{"tab":"Layr User Guide","pages":[{"title":"Layr User Guide","href":"/layrUserGuide/introduction"}]},{"tab":"API Reference","groups":[{"group":"API documentation","pages":[{"title":"terralayr API","href":"/trlyr-API/introduction"}]},{"group":"Auth API","pages":[{"group":"auth","pages":[{"title":"Health check","deprecated":null,"version":null,"openapi":"https://api.trlyr.com/auth/docs/doc.json get /auth/healthcheck","href":"/auth-api-reference/auth/health-check"},{"title":"Authenticate with username and password","deprecated":null,"version":null,"openapi":"https://api.trlyr.com/auth/docs/doc.json post /auth/public/authenticate","href":"/auth-api-reference/auth/authenticate-with-username-and-password"}]}]},{"group":"Virtual Assets API","pages":[{"group":"virtual-assets","pages":[{"title":"Get all the virtual assets belonging to an organisation.","deprecated":null,"version":null,"openapi":"https://api.sandbox.trlyr.com/docs/doc.json get /organisations/{organisationID}/virtual-assets","href":"/virtual-assets-api-reference/virtual-assets/get-all-the-virtual-assets-belonging-to-an-organisation"},{"title":"Get a virtual asset.","deprecated":null,"version":null,"openapi":"https://api.sandbox.trlyr.com/docs/doc.json get /organisations/{organisationID}/virtual-assets/{virtualAssetID}","href":"/virtual-assets-api-reference/virtual-assets/get-a-virtual-asset"},{"title":"Gets schedule adjustments for a virtual asset within a time range.","deprecated":null,"version":null,"openapi":"https://api.sandbox.trlyr.com/docs/doc.json get /organisations/{organisationID}/virtual-assets/{virtualAssetID}/adjustments","href":"/virtual-assets-api-reference/virtual-assets/gets-schedule-adjustments-for-a-virtual-asset-within-a-time-range"},{"title":"Get the usable energy-capacity of a virtual-asset as a timeseries.","deprecated":null,"version":null,"openapi":"https://api.sandbox.trlyr.com/docs/doc.json get /organisations/{organisationID}/virtual-assets/{virtualAssetID}/energy-capacity","href":"/virtual-assets-api-reference/virtual-assets/get-the-usable-energy-capacity-of-a-virtual-asset-as-a-timeseries"},{"title":"Get the most recent usable energy-capacity of a virtual-asset.","deprecated":null,"version":null,"openapi":"https://api.sandbox.trlyr.com/docs/doc.json get /organisations/{organisationID}/virtual-assets/{virtualAssetID}/energy-capacity/latest","href":"/virtual-assets-api-reference/virtual-assets/get-the-most-recent-usable-energy-capacity-of-a-virtual-asset"},{"title":"List audit events for a virtual asset","deprecated":null,"version":null,"openapi":"https://api.sandbox.trlyr.com/docs/doc.json get /organisations/{organisationID}/virtual-assets/{virtualAssetID}/events","href":"/virtual-assets-api-reference/virtual-assets/list-audit-events-for-a-virtual-asset"},{"title":"Gets a selection of operational data of a virtual-asset as a timeseries.","deprecated":null,"version":null,"openapi":"https://api.sandbox.trlyr.com/docs/doc.json get /organisations/{organisationID}/virtual-assets/{virtualAssetID}/operational","href":"/virtual-assets-api-reference/virtual-assets/gets-a-selection-of-operational-data-of-a-virtual-asset-as-a-timeseries"},{"title":"Gets the most recent operational data values for a virtual-asset.","deprecated":null,"version":null,"openapi":"https://api.sandbox.trlyr.com/docs/doc.json get /organisations/{organisationID}/virtual-assets/{virtualAssetID}/operational/latest","href":"/virtual-assets-api-reference/virtual-assets/gets-the-most-recent-operational-data-values-for-a-virtual-asset"},{"title":"Get the projected state of charge of a virtual asset.","deprecated":true,"version":null,"openapi":"https://api.sandbox.trlyr.com/docs/doc.json get /organisations/{organisationID}/virtual-assets/{virtualAssetID}/state-of-charge","href":"/virtual-assets-api-reference/virtual-assets/get-the-projected-state-of-charge-of-a-virtual-asset"},{"title":"Get the latest state of charge of a virtual asset.","deprecated":true,"version":null,"openapi":"https://api.sandbox.trlyr.com/docs/doc.json get /organisations/{organisationID}/virtual-assets/{virtualAssetID}/state-of-charge/latest","href":"/virtual-assets-api-reference/virtual-assets/get-the-latest-state-of-charge-of-a-virtual-asset"},{"title":"Get the projected state of charge of a virtual asset.","deprecated":true,"version":null,"openapi":"https://api.sandbox.trlyr.com/docs/doc.json get /organisations/{organisationID}/virtual-assets/{virtualAssetID}/state-of-charge/projected","href":"/virtual-assets-api-reference/virtual-assets/get-the-projected-state-of-charge-of-a-virtual-asset-1"},{"title":"Get the latest state of energy of a virtual asset.","deprecated":true,"version":null,"openapi":"https://api.sandbox.trlyr.com/docs/doc.json get /organisations/{organisationID}/virtual-assets/{virtualAssetID}/state-of-energy/latest","href":"/virtual-assets-api-reference/virtual-assets/get-the-latest-state-of-energy-of-a-virtual-asset"},{"title":"Get the projected state of energy of a virtual asset.","deprecated":true,"version":null,"openapi":"https://api.sandbox.trlyr.com/docs/doc.json get /organisations/{organisationID}/virtual-assets/{virtualAssetID}/state-of-energy/projected","href":"/virtual-assets-api-reference/virtual-assets/get-the-projected-state-of-energy-of-a-virtual-asset"}]},{"group":"afrr","pages":[{"title":"Get all aFRR bids for a given virtual asset and delivery day.","deprecated":null,"version":null,"openapi":"https://api.sandbox.trlyr.com/docs/doc.json get /organisations/{organisationID}/virtual-assets/{virtualAssetID}/ancillary/afrr/bids","href":"/virtual-assets-api-reference/afrr/get-all-afrr-bids-for-a-given-virtual-asset-and-delivery-day"},{"title":"Creates aFRR bids for a given virtual asset.","deprecated":null,"version":null,"openapi":"https://api.sandbox.trlyr.com/docs/doc.json post /organisations/{organisationID}/virtual-assets/{virtualAssetID}/ancillary/afrr/bids","href":"/virtual-assets-api-reference/afrr/creates-afrr-bids-for-a-given-virtual-asset"},{"title":"Get aFRR bids for a given virtual asset, product and delivery day.","deprecated":null,"version":null,"openapi":"https://api.sandbox.trlyr.com/docs/doc.json get /organisations/{organisationID}/virtual-assets/{virtualAssetID}/ancillary/afrr/bids/{productDateCode}","href":"/virtual-assets-api-reference/afrr/get-afrr-bids-for-a-given-virtual-asset-product-and-delivery-day"},{"title":"Update aFRR bids for a single product and delivery day.","deprecated":null,"version":null,"openapi":"https://api.sandbox.trlyr.com/docs/doc.json put /organisations/{organisationID}/virtual-assets/{virtualAssetID}/ancillary/afrr/bids/{productDateCode}","href":"/virtual-assets-api-reference/afrr/update-afrr-bids-for-a-single-product-and-delivery-day"},{"title":"Get all aFRR results for a given virtual asset and delivery day.","deprecated":null,"version":null,"openapi":"https://api.sandbox.trlyr.com/docs/doc.json get /organisations/{organisationID}/virtual-assets/{virtualAssetID}/ancillary/afrr/results","href":"/virtual-assets-api-reference/afrr/get-all-afrr-results-for-a-given-virtual-asset-and-delivery-day"},{"title":"Gets aFRR results for a given virtual asset, product and delivery day.","deprecated":null,"version":null,"openapi":"https://api.sandbox.trlyr.com/docs/doc.json get /organisations/{organisationID}/virtual-assets/{virtualAssetID}/ancillary/afrr/results/{productDateCode}","href":"/virtual-assets-api-reference/afrr/gets-afrr-results-for-a-given-virtual-asset-product-and-delivery-day"}]},{"group":"ancillary","pages":[{"title":"Get all ancillary bids for a given virtual asset and interval.","deprecated":null,"version":null,"openapi":"https://api.sandbox.trlyr.com/docs/doc.json get /organisations/{organisationID}/virtual-assets/{virtualAssetID}/ancillary/bids","href":"/virtual-assets-api-reference/ancillary/get-all-ancillary-bids-for-a-given-virtual-asset-and-interval"},{"title":"Post or update ancillary bids for a given virtual asset.","deprecated":null,"version":null,"openapi":"https://api.sandbox.trlyr.com/docs/doc.json post /organisations/{organisationID}/virtual-assets/{virtualAssetID}/ancillary/bids","href":"/virtual-assets-api-reference/ancillary/post-or-update-ancillary-bids-for-a-given-virtual-asset"},{"title":"Get all ancillary results for a given virtual asset and interval.","deprecated":null,"version":null,"openapi":"https://api.sandbox.trlyr.com/docs/doc.json get /organisations/{organisationID}/virtual-assets/{virtualAssetID}/ancillary/results","href":"/virtual-assets-api-reference/ancillary/get-all-ancillary-results-for-a-given-virtual-asset-and-interval"}]},{"group":"fcr","pages":[{"title":"Get all FCR bids for a given virtual asset and delivery day.","deprecated":null,"version":null,"openapi":"https://api.sandbox.trlyr.com/docs/doc.json get /organisations/{organisationID}/virtual-assets/{virtualAssetID}/ancillary/fcr/bids","href":"/virtual-assets-api-reference/fcr/get-all-fcr-bids-for-a-given-virtual-asset-and-delivery-day"},{"title":"Create FCR bids for a given virtual asset.","deprecated":null,"version":null,"openapi":"https://api.sandbox.trlyr.com/docs/doc.json post /organisations/{organisationID}/virtual-assets/{virtualAssetID}/ancillary/fcr/bids","href":"/virtual-assets-api-reference/fcr/create-fcr-bids-for-a-given-virtual-asset"},{"title":"Get FCR bids for a given virtual asset, product and delivery day.","deprecated":null,"version":null,"openapi":"https://api.sandbox.trlyr.com/docs/doc.json get /organisations/{organisationID}/virtual-assets/{virtualAssetID}/ancillary/fcr/bids/{productDateCode}","href":"/virtual-assets-api-reference/fcr/get-fcr-bids-for-a-given-virtual-asset-product-and-delivery-day"},{"title":"Update FCR bids for a single product and delivery day.","deprecated":null,"version":null,"openapi":"https://api.sandbox.trlyr.com/docs/doc.json put /organisations/{organisationID}/virtual-assets/{virtualAssetID}/ancillary/fcr/bids/{productDateCode}","href":"/virtual-assets-api-reference/fcr/update-fcr-bids-for-a-single-product-and-delivery-day"},{"title":"Get all FCR results for a given virtual asset and delivery day.","deprecated":null,"version":null,"openapi":"https://api.sandbox.trlyr.com/docs/doc.json get /organisations/{organisationID}/virtual-assets/{virtualAssetID}/ancillary/fcr/results","href":"/virtual-assets-api-reference/fcr/get-all-fcr-results-for-a-given-virtual-asset-and-delivery-day"},{"title":"Gets FCR results for a given virtual asset, product and delivery day.","deprecated":null,"version":null,"openapi":"https://api.sandbox.trlyr.com/docs/doc.json get /organisations/{organisationID}/virtual-assets/{virtualAssetID}/ancillary/fcr/results/{productDateCode}","href":"/virtual-assets-api-reference/fcr/gets-fcr-results-for-a-given-virtual-asset-product-and-delivery-day"}]},{"group":"blocks","pages":[{"title":"Get all the blocks belonging to a virtual asset.","deprecated":null,"version":null,"openapi":"https://api.sandbox.trlyr.com/docs/doc.json get /organisations/{organisationID}/virtual-assets/{virtualAssetID}/blocks","href":"/virtual-assets-api-reference/blocks/get-all-the-blocks-belonging-to-a-virtual-asset"},{"title":"Get a block.","deprecated":null,"version":null,"openapi":"https://api.sandbox.trlyr.com/docs/doc.json get /organisations/{organisationID}/virtual-assets/{virtualAssetID}/blocks/{blockID}","href":"/virtual-assets-api-reference/blocks/get-a-block"},{"title":"Update the schedule of a block","description":"Update the schedule of a block.\n\nThe schedule is represented as signed power-time pairs in kilowatts on a left-aligned 15-minute cadence. i.e., {\"power\": 100, \"time\": \"2023-11-11T14:30:00Z\"} represents an instruction to discharge at 100 kW between 2023-11-11T14:30:00 and 2023-11-11T14:45:00.\n\nA block's schedule will be initialised with zero power instructions for every 15-minute window across its lifetime.\n\nOnly a wholesale block can have its schedule updated in this way. The market utilisation of blocks can be monitored through the `blockMetadata` field on a virtual-asset.\n\nThe supplied schedule must be compatible with the existing schedule. i.e. it must only include time-power pairs corresponding to existing time-power pairs, which can be viewed through the .../virtual-assets/{virtualAssetID}/blocks/{blockID} [get] route.\n\nIf the supplied schedule would cause the projected state of energy of the virtual-asset to go beyond allowed limits, then the entire update may be rejected.\n\nThe current projected state of energy and allowed limits can be monitored through the `.../virtual-assets/{virtualAssetID}/operational [get]` route.\n\nSchedule updates must be posted before gate closure for the concerned delivery period. For example, updates for the 12:15:00 to 12:30:00 trading window cannot be posted after 12:10:00 for an asset with a 5m gate closure.\n\nSchedules may be subject to validation and adjustment. If such adjustments are made, they will be visible on the `.../virtual-assets/{{virtualAssetID}}/adjustments [get]` route.","deprecated":null,"version":null,"openapi":"https://api.sandbox.trlyr.com/docs/doc.json put /organisations/{organisationID}/virtual-assets/{virtualAssetID}/blocks/{blockID}","href":"/virtual-assets-api-reference/blocks/update-the-schedule-of-a-block"},{"title":"Gets a selection of operational data of a block as a timeseries.","deprecated":null,"version":null,"openapi":"https://api.sandbox.trlyr.com/docs/doc.json get /organisations/{organisationID}/virtual-assets/{virtualAssetID}/blocks/{blockID}/operational","href":"/virtual-assets-api-reference/blocks/gets-a-selection-of-operational-data-of-a-block-as-a-timeseries"},{"title":"Gets the most recent operational data values for a block.","description":"Gets the most recent operational data values for a block.\n\nReturns a JSON representation of the selected operational data and its metadata for the current 15-minute block window.\n\nThe user selects the relevant categories of operational data through the query parameter `categories`, which is a comma separated list. E.g. `categories=powerCapacityChargeAvailable,powerCapacityDischargeRated`\nThe following categories are available for blocks:\n\n`powerCapacityChargeRated`: The rated charge power capacity of the block in kW, e.g. `8000.0`.\n\n`powerCapacityChargeAvailable`: The available charge power capacity of the block in kW, e.g. `8000.0`.\n\n`powerCapacityDischargeRated`: The rated discharge power capacity of the block in kW, e.g. `8000.0`.\n\n`powerCapacityDischargeAvailable`: The available discharge power capacity of the block in kW, e.g. `8000.0`.\n\n`boundaryPower`: The wholesale power that the asset reaches at the boundary between delivery periods in kW. For example, `4000.0 kW` at 12:15 implies that asset will be delivering exactly 4000 kW at exactly 12:15, which is the boundary between the [12:00, 12:15] and [12:15, 12:30] delivery periods. This will in general be different from the scheduled power values for a delivery period which are reflective of the average power delivered over each periods. For more information on relevant ramping constraints, see the layr user guide.\n\n`deliveryPeriodSetpoint`: The wholesale power the asset ramps to between the two adjacent boundary powers in kW, considering the ramping constraints. For example, `4500.0 kW` at 12:00 means the asset ramps to 4500 kW somewhere within the [12:00, 12:15] delivery period. The setpoint is in general different from the schedule value, as the schedule value describes the average power throughout a quarter. Each setpoint is documented against the timestamp of its quarter — i.e., a setpoint with value `4500.0 kW` and timestamp 12:15 corresponds to the [12:15, 12:30] delivery period. Note that the setpoint level is not necessarily achieved at that exact point in time, but normally somewhere within the quarter. For more information on relevant ramping constraints, see the layr user guide.\n\n`schedule`: The active scheduled power output/input of the block in kW, e.g. `5000.0`.\n\n`acceptedSchedule`: The accepted schedule power for the block in kW, e.g. `4800.0`.\n\n`adjustedSchedule`: The adjusted schedule power for the block in kW, e.g. `3800.0`.\n\n`undeliverableSchedule`: The portion of the virtual asset's scheduled wholesale power in kW that is considered \"protected\" during an ongoing unavailability. State of energy changes that result from this power will be accounted against the frozen-energy of the asset.\n\nAlong with the selected operational data, a metadata object is returned which provides the unit for the selected datapoint.\n\nFor detailed information about schedule adjustments including the reason for adjustments, use the [block adjustments endpoint](/blocks/{blockID}/operational/adjustments).\n\nThis endpoint automatically calculates the current 15-minute block window based on the current time. The block window is determined by truncating the current time to the nearest 15-minute boundary. For example, if the current time is `2025-07-11T22:07:30Z`, the endpoint will return data for the block window starting at `2025-07-11T22:00:00Z` and ending at `2025-07-11T22:15:00Z`.\n\nUnlike the regular block operational data endpoint, this endpoint does not require `start` and `end` parameters as it automatically uses the current block window.\n\nAn example response would be:\n\n```json\n{\n \"data\": {\n \"powerCapacityChargeAvailable\": {\n \"metaData\": {\n \"unit\": \"kW\"\n },\n \"dataPoints\": [\n {\n \"timestamp\": \"2025-07-11T22:00:00Z\",\n \"value\": 8000.0\n }\n ]\n },\n \"powerCapacityDischargeRated\": {\n \"metaData\": {\n \"unit\": \"kW\"\n },\n \"dataPoints\": [\n {\n \"timestamp\": \"2025-07-11T22:00:00Z\",\n \"value\": 8000.0\n }\n ]\n },\n \"schedule\": {\n \"metaData\": {\n \"unit\": \"kW\"\n },\n \"dataPoints\": [\n {\n \"timestamp\": \"2025-07-11T22:00:00Z\",\n \"value\": 5000.0\n }\n ]\n }\n }\n}\n```\n","deprecated":null,"version":null,"openapi":"https://api.sandbox.trlyr.com/docs/doc.json get /organisations/{organisationID}/virtual-assets/{virtualAssetID}/blocks/{blockID}/operational/latest","href":"/virtual-assets-api-reference/blocks/gets-the-most-recent-operational-data-values-for-a-block"}]}]},{"group":"Auctions API","pages":[{"group":"auctions","pages":[{"title":"List auctions","deprecated":null,"version":null,"openapi":"https://api.trlyr.com/auctions/docs/doc.json get /auctions","href":"/auctions-api-reference/auctions/list-auctions"},{"title":"Health check","deprecated":null,"version":null,"openapi":"https://api.trlyr.com/auctions/docs/doc.json get /auctions/healthcheck","href":"/auctions-api-reference/auctions/health-check"},{"title":"Get an auction by ID","deprecated":null,"version":null,"openapi":"https://api.trlyr.com/auctions/docs/doc.json get /auctions/{auctionID}","href":"/auctions-api-reference/auctions/get-an-auction-by-id"}]},{"group":"bids","pages":[{"title":"List your organisation's bids","deprecated":null,"version":null,"openapi":"https://api.trlyr.com/auctions/docs/doc.json get /auctions/{auctionID}/bids","href":"/auctions-api-reference/bids/list-your-organisations-bids"},{"title":"Submit a bid","deprecated":null,"version":null,"openapi":"https://api.trlyr.com/auctions/docs/doc.json post /auctions/{auctionID}/bids","href":"/auctions-api-reference/bids/submit-a-bid"}]}]},{"group":"Revenue Reporting API","pages":[{"group":"revenue","pages":[{"title":"Get aggregated revenue data points for a fleet","deprecated":null,"version":null,"openapi":"https://api.trlyr.com/revenue-reporting/docs/doc.json get /revenue-reporting/fleets/{fleetID}/datapoints","href":"/revenue-reporting-api-reference/revenue/get-aggregated-revenue-data-points-for-a-fleet"},{"title":"Health check","deprecated":null,"version":null,"openapi":"https://api.trlyr.com/revenue-reporting/docs/doc.json get /revenue-reporting/healthcheck","href":"/revenue-reporting-api-reference/revenue/health-check"},{"title":"Get fleet for an organisation","deprecated":null,"version":null,"openapi":"https://api.trlyr.com/revenue-reporting/docs/doc.json get /revenue-reporting/organisations/{organisationID}/fleet","href":"/revenue-reporting-api-reference/revenue/get-fleet-for-an-organisation"},{"title":"Get aggregated revenue data points for a physical asset","deprecated":null,"version":null,"openapi":"https://api.trlyr.com/revenue-reporting/docs/doc.json get /revenue-reporting/physical-assets/{physicalAssetID}/datapoints","href":"/revenue-reporting-api-reference/revenue/get-aggregated-revenue-data-points-for-a-physical-asset"},{"title":"Get aggregated revenue data points for a portfolio","deprecated":null,"version":null,"openapi":"https://api.trlyr.com/revenue-reporting/docs/doc.json get /revenue-reporting/portfolios/{portfolioID}/datapoints","href":"/revenue-reporting-api-reference/revenue/get-aggregated-revenue-data-points-for-a-portfolio"},{"title":"Get aggregated revenue data points for a virtual asset","deprecated":null,"version":null,"openapi":"https://api.trlyr.com/revenue-reporting/docs/doc.json get /revenue-reporting/virtual-assets/{virtualAssetID}/datapoints","href":"/revenue-reporting-api-reference/revenue/get-aggregated-revenue-data-points-for-a-virtual-asset"},{"title":"Get aFRR capacity revenue for a virtual asset","deprecated":null,"version":null,"openapi":"https://api.trlyr.com/revenue-reporting/docs/doc.json get /revenue-reporting/{virtualAssetID}/afrr-capacity","href":"/revenue-reporting-api-reference/revenue/get-afrr-capacity-revenue-for-a-virtual-asset"},{"title":"Get aFRR energy revenue for a virtual asset","deprecated":null,"version":null,"openapi":"https://api.trlyr.com/revenue-reporting/docs/doc.json get /revenue-reporting/{virtualAssetID}/afrr-energy","href":"/revenue-reporting-api-reference/revenue/get-afrr-energy-revenue-for-a-virtual-asset"},{"title":"Get FCR revenue for a virtual asset","deprecated":null,"version":null,"openapi":"https://api.trlyr.com/revenue-reporting/docs/doc.json get /revenue-reporting/{virtualAssetID}/fcr","href":"/revenue-reporting-api-reference/revenue/get-fcr-revenue-for-a-virtual-asset"},{"title":"Get tolling revenue for a virtual asset","deprecated":null,"version":null,"openapi":"https://api.trlyr.com/revenue-reporting/docs/doc.json get /revenue-reporting/{virtualAssetID}/tolling","href":"/revenue-reporting-api-reference/revenue/get-tolling-revenue-for-a-virtual-asset"},{"title":"Get virtual battery auction revenue for a virtual asset","deprecated":null,"version":null,"openapi":"https://api.trlyr.com/revenue-reporting/docs/doc.json get /revenue-reporting/{virtualAssetID}/vba","href":"/revenue-reporting-api-reference/revenue/get-virtual-battery-auction-revenue-for-a-virtual-asset"},{"title":"Get wholesale revenue for a virtual asset","deprecated":null,"version":null,"openapi":"https://api.trlyr.com/revenue-reporting/docs/doc.json get /revenue-reporting/{virtualAssetID}/wholesale","href":"/revenue-reporting-api-reference/revenue/get-wholesale-revenue-for-a-virtual-asset"}]}]},{"group":"Physical Asset Management API","pages":[{"group":"physical-assets","pages":[{"title":"List physical assets","deprecated":null,"version":null,"openapi":"https://api.trlyr.com/physical-assets/docs/doc.json get /physical-assets","href":"/physical-assets-api-reference/physical-assets/list-physical-assets"},{"title":"Create a physical asset","deprecated":null,"version":null,"openapi":"https://api.trlyr.com/physical-assets/docs/doc.json post /physical-assets","href":"/physical-assets-api-reference/physical-assets/create-a-physical-asset"},{"title":"Get physical asset by ID","deprecated":null,"version":null,"openapi":"https://api.trlyr.com/physical-assets/docs/doc.json get /physical-assets/{physicalAssetID}","href":"/physical-assets-api-reference/physical-assets/get-physical-asset-by-id"},{"title":"Update a physical asset","deprecated":null,"version":null,"openapi":"https://api.trlyr.com/physical-assets/docs/doc.json patch /physical-assets/{physicalAssetID}","href":"/physical-assets-api-reference/physical-assets/update-a-physical-asset"},{"title":"List audit events for a physical asset","deprecated":null,"version":null,"openapi":"https://api.trlyr.com/physical-assets/docs/doc.json get /physical-assets/{physicalAssetID}/events","href":"/physical-assets-api-reference/physical-assets/list-audit-events-for-a-physical-asset"},{"title":"List unavailabilities for a physical asset","deprecated":null,"version":null,"openapi":"https://api.trlyr.com/physical-assets/docs/doc.json get /physical-assets/{physicalAssetID}/unavailability","href":"/physical-assets-api-reference/physical-assets/list-unavailabilities-for-a-physical-asset"},{"title":"Create an unavailability","deprecated":null,"version":null,"openapi":"https://api.trlyr.com/physical-assets/docs/doc.json post /physical-assets/{physicalAssetID}/unavailability","href":"/physical-assets-api-reference/physical-assets/create-an-unavailability"},{"title":"Get unavailability by ID","deprecated":null,"version":null,"openapi":"https://api.trlyr.com/physical-assets/docs/doc.json get /physical-assets/{physicalAssetID}/unavailability/{unavailabilityID}","href":"/physical-assets-api-reference/physical-assets/get-unavailability-by-id"},{"title":"Delete an unavailability","deprecated":null,"version":null,"openapi":"https://api.trlyr.com/physical-assets/docs/doc.json delete /physical-assets/{physicalAssetID}/unavailability/{unavailabilityID}","href":"/physical-assets-api-reference/physical-assets/delete-an-unavailability"},{"title":"Update an unavailability","deprecated":null,"version":null,"openapi":"https://api.trlyr.com/physical-assets/docs/doc.json patch /physical-assets/{physicalAssetID}/unavailability/{unavailabilityID}","href":"/physical-assets-api-reference/physical-assets/update-an-unavailability"}]},{"group":"health","pages":[{"title":"Health check","deprecated":null,"version":null,"openapi":"https://api.trlyr.com/physical-assets/docs/doc.json get /physical-assets/healthcheck","href":"/physical-assets-api-reference/health/health-check"}]},{"group":"ancillary","pages":[{"title":"Get ancillary bids by delivery day","deprecated":null,"version":null,"openapi":"https://api.trlyr.com/physical-assets/docs/doc.json get /physical-assets/{physicalAssetID}/ancillary/bids","href":"/physical-assets-api-reference/ancillary/get-ancillary-bids-by-delivery-day"},{"title":"Submit ancillary bids","deprecated":null,"version":null,"openapi":"https://api.trlyr.com/physical-assets/docs/doc.json post /physical-assets/{physicalAssetID}/ancillary/bids","href":"/physical-assets-api-reference/ancillary/submit-ancillary-bids"},{"title":"Get ancillary bids without results by product keys","deprecated":null,"version":null,"openapi":"https://api.trlyr.com/physical-assets/docs/doc.json get /physical-assets/{physicalAssetID}/ancillary/bids-without-result","href":"/physical-assets-api-reference/ancillary/get-ancillary-bids-without-results-by-product-keys"},{"title":"Get ancillary results by delivery day","deprecated":null,"version":null,"openapi":"https://api.trlyr.com/physical-assets/docs/doc.json get /physical-assets/{physicalAssetID}/ancillary/results","href":"/physical-assets-api-reference/ancillary/get-ancillary-results-by-delivery-day"},{"title":"Get ancillary results by bid IDs","deprecated":null,"version":null,"openapi":"https://api.trlyr.com/physical-assets/docs/doc.json get /physical-assets/{physicalAssetID}/ancillary/results-by-bid-ids","href":"/physical-assets-api-reference/ancillary/get-ancillary-results-by-bid-ids"}]},{"group":"control","pages":[{"title":"Get calculated setpoints for a physical asset","deprecated":null,"version":null,"openapi":"https://api.trlyr.com/physical-assets/docs/doc.json get /physical-assets/{physicalAssetID}/control/setpoints","href":"/physical-assets-api-reference/control/get-calculated-setpoints-for-a-physical-asset"}]},{"group":"eex","pages":[{"title":"Submit an EEX notification","deprecated":null,"version":null,"openapi":"https://api.trlyr.com/physical-assets/docs/doc.json post /physical-assets/{physicalAssetID}/eex","href":"/physical-assets-api-reference/eex/submit-an-eex-notification"},{"title":"List EEX notifications for a physical asset","deprecated":null,"version":null,"openapi":"https://api.trlyr.com/physical-assets/docs/doc.json get /physical-assets/{physicalAssetID}/eex/notifications","href":"/physical-assets-api-reference/eex/list-eex-notifications-for-a-physical-asset"},{"title":"Get an EEX notification by ID","deprecated":null,"version":null,"openapi":"https://api.trlyr.com/physical-assets/docs/doc.json get /physical-assets/{physicalAssetID}/eex/notifications/{eexNotificationID}","href":"/physical-assets-api-reference/eex/get-an-eex-notification-by-id"},{"title":"Delete an EEX notification","deprecated":null,"version":null,"openapi":"https://api.trlyr.com/physical-assets/docs/doc.json delete /physical-assets/{physicalAssetID}/eex/notifications/{eexNotificationID}","href":"/physical-assets-api-reference/eex/delete-an-eex-notification"},{"title":"Update an EEX notification","deprecated":null,"version":null,"openapi":"https://api.trlyr.com/physical-assets/docs/doc.json patch /physical-assets/{physicalAssetID}/eex/notifications/{eexNotificationID}","href":"/physical-assets-api-reference/eex/update-an-eex-notification"}]},{"group":"logbook","pages":[{"title":"List logbook entries for a physical asset","deprecated":null,"version":null,"openapi":"https://api.trlyr.com/physical-assets/docs/doc.json get /physical-assets/{physicalAssetID}/logbook-entries","href":"/physical-assets-api-reference/logbook/list-logbook-entries-for-a-physical-asset"},{"title":"Create a logbook entry","deprecated":null,"version":null,"openapi":"https://api.trlyr.com/physical-assets/docs/doc.json post /physical-assets/{physicalAssetID}/logbook-entries","href":"/physical-assets-api-reference/logbook/create-a-logbook-entry"},{"title":"Get a logbook entry by ID","deprecated":null,"version":null,"openapi":"https://api.trlyr.com/physical-assets/docs/doc.json get /physical-assets/{physicalAssetID}/logbook-entries/{entryID}","href":"/physical-assets-api-reference/logbook/get-a-logbook-entry-by-id"},{"title":"Delete a logbook entry","deprecated":null,"version":null,"openapi":"https://api.trlyr.com/physical-assets/docs/doc.json delete /physical-assets/{physicalAssetID}/logbook-entries/{entryID}","href":"/physical-assets-api-reference/logbook/delete-a-logbook-entry"},{"title":"Update a logbook entry","deprecated":null,"version":null,"openapi":"https://api.trlyr.com/physical-assets/docs/doc.json patch /physical-assets/{physicalAssetID}/logbook-entries/{entryID}","href":"/physical-assets-api-reference/logbook/update-a-logbook-entry"}]},{"group":"metadata","pages":[{"title":"List all metadata for a physical asset","deprecated":null,"version":null,"openapi":"https://api.trlyr.com/physical-assets/docs/doc.json get /physical-assets/{physicalAssetID}/metadata","href":"/physical-assets-api-reference/metadata/list-all-metadata-for-a-physical-asset"},{"title":"Get metadata for a physical asset category","deprecated":null,"version":null,"openapi":"https://api.trlyr.com/physical-assets/docs/doc.json get /physical-assets/{physicalAssetID}/metadata/{category}","href":"/physical-assets-api-reference/metadata/get-metadata-for-a-physical-asset-category"},{"title":"Create metadata for a physical asset category","deprecated":null,"version":null,"openapi":"https://api.trlyr.com/physical-assets/docs/doc.json post /physical-assets/{physicalAssetID}/metadata/{category}","href":"/physical-assets-api-reference/metadata/create-metadata-for-a-physical-asset-category"},{"title":"Delete metadata for a physical asset category","deprecated":null,"version":null,"openapi":"https://api.trlyr.com/physical-assets/docs/doc.json delete /physical-assets/{physicalAssetID}/metadata/{category}","href":"/physical-assets-api-reference/metadata/delete-metadata-for-a-physical-asset-category"},{"title":"Update metadata for a physical asset category","deprecated":null,"version":null,"openapi":"https://api.trlyr.com/physical-assets/docs/doc.json patch /physical-assets/{physicalAssetID}/metadata/{category}","href":"/physical-assets-api-reference/metadata/update-metadata-for-a-physical-asset-category"}]},{"group":"operational","pages":[{"title":"Gets a selection of operational data of a physical asset as a timeseries.","deprecated":null,"version":null,"openapi":"https://api.trlyr.com/physical-assets/docs/doc.json get /physical-assets/{physicalAssetID}/operational","href":"/physical-assets-api-reference/operational/gets-a-selection-of-operational-data-of-a-physical-asset-as-a-timeseries"},{"title":"Update operational data for a physical asset","deprecated":null,"version":null,"openapi":"https://api.trlyr.com/physical-assets/docs/doc.json put /physical-assets/{physicalAssetID}/operational","href":"/physical-assets-api-reference/operational/update-operational-data-for-a-physical-asset"}]},{"group":"schedule","pages":[{"title":"Get schedule for a physical asset","deprecated":null,"version":null,"openapi":"https://api.trlyr.com/physical-assets/docs/doc.json get /physical-assets/{physicalAssetID}/schedule","href":"/physical-assets-api-reference/schedule/get-schedule-for-a-physical-asset"},{"title":"Update schedule for a physical asset","deprecated":null,"version":null,"openapi":"https://api.trlyr.com/physical-assets/docs/doc.json put /physical-assets/{physicalAssetID}/schedule","href":"/physical-assets-api-reference/schedule/update-schedule-for-a-physical-asset"}]}]},{"group":"Asset Monitoring API","pages":[{"group":"monitoring","pages":[{"title":"Get raw monitoring data points for a physical asset.","deprecated":null,"version":null,"openapi":"https://api.trlyr.com/monitoring/docs/doc.json get /{physicalAssetID}/datapoints","href":"/monitoring-api-reference/monitoring/get-raw-monitoring-data-points-for-a-physical-asset"},{"title":"Get monitoring data points aggregated to 15-minute intervals.","deprecated":null,"version":null,"openapi":"https://api.trlyr.com/monitoring/docs/doc.json get /{physicalAssetID}/datapoints/15min","href":"/monitoring-api-reference/monitoring/get-monitoring-data-points-aggregated-to-15-minute-intervals"},{"title":"Get monitoring data points aggregated to 1-minute intervals.","deprecated":null,"version":null,"openapi":"https://api.trlyr.com/monitoring/docs/doc.json get /{physicalAssetID}/datapoints/1min","href":"/monitoring-api-reference/monitoring/get-monitoring-data-points-aggregated-to-1-minute-intervals"},{"title":"Get monitoring data points aggregated to 5-minute intervals.","deprecated":null,"version":null,"openapi":"https://api.trlyr.com/monitoring/docs/doc.json get /{physicalAssetID}/datapoints/5min","href":"/monitoring-api-reference/monitoring/get-monitoring-data-points-aggregated-to-5-minute-intervals"},{"title":"Get monitoring data points aggregated to daily intervals.","deprecated":null,"version":null,"openapi":"https://api.trlyr.com/monitoring/docs/doc.json get /{physicalAssetID}/datapoints/daily","href":"/monitoring-api-reference/monitoring/get-monitoring-data-points-aggregated-to-daily-intervals"},{"title":"Get monitoring data points aggregated to hourly intervals.","deprecated":null,"version":null,"openapi":"https://api.trlyr.com/monitoring/docs/doc.json get /{physicalAssetID}/datapoints/hourly","href":"/monitoring-api-reference/monitoring/get-monitoring-data-points-aggregated-to-hourly-intervals"},{"title":"Get monitoring data points with automatic interval selection.","deprecated":null,"version":null,"openapi":"https://api.trlyr.com/monitoring/docs/doc.json get /{physicalAssetID}/datapoints/interval","href":"/monitoring-api-reference/monitoring/get-monitoring-data-points-with-automatic-interval-selection"},{"title":"Get distinct data point names for a physical asset.","deprecated":null,"version":null,"openapi":"https://api.trlyr.com/monitoring/docs/doc.json get /{physicalAssetID}/datapoints/names","href":"/monitoring-api-reference/monitoring/get-distinct-data-point-names-for-a-physical-asset"},{"title":"Get detailed summed statistics with calculated energy values.","deprecated":null,"version":null,"openapi":"https://api.trlyr.com/monitoring/docs/doc.json get /{physicalAssetID}/datapoints/sum/detailed","href":"/monitoring-api-reference/monitoring/get-detailed-summed-statistics-with-calculated-energy-values"},{"title":"Get raw summed statistics for monitoring data points.","deprecated":null,"version":null,"openapi":"https://api.trlyr.com/monitoring/docs/doc.json get /{physicalAssetID}/datapoints/sum/raw","href":"/monitoring-api-reference/monitoring/get-raw-summed-statistics-for-monitoring-data-points"}]}]},{"group":"Admin API","pages":[]}]},{"tab":"Product Updates \u0026 Changelog","pages":[{"title":"Product Updates \u0026 Changelog","href":"/changelog"}]},{"tab":"BESS Academy","pages":[{"title":"BESS Academy","href":"/BESS-academy/introduction"}]},{"tab":"LAYR Academy","pages":[{"title":"LAYR Academy","href":"/LAYR-academy/introduction"}]}]},"basePath":"","title":"Gets a selection of operational data of a block as a timeseries. - terralayr","buildId":"dpl_77Hw7ZuAABM8E3WMbYAf2ohQCr3v","deploymentId":"dpl_77Hw7ZuAABM8E3WMbYAf2ohQCr3v","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-CVpqyvFO.js","utils-vpweLD0v.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-BIOodqb0.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-B1LM3qmu.js","snippetPresets-C5xK0GtN.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-CCsxLnQl.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-C2-WKG22.js","shallow-SdoLUC-q.js","getApiPlaygroundDisplay-BnI8L2hB.js","CodeSnippet-D5M8NCHI.js","CodeSnippets-CXRO8Uom.js","Page-CN9QbZiA.js","getPastedJson-CrfHEdRt.js","icon-Cr8AyUnW.js","MethodPill-J_Cs0kNw.js","DuplicateIcon-DrMboxGw.js","createIcon-B4CIWVbU.js","DynamicMarkdown-D9cdbgj9.js","SectionHeading-BO4CouT0.js","axios-vUo_bRtp.js","Markdown-L1m1-PSi.js","clsx-rIpTdK8h.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-ptfS1uB_.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-D31Sm3f9.js"]}