Gets a selection of operational data of a physical asset as a timeseries.
Gets a selection of operational data of a physical asset as a timeseries.
Returns a JSON representation of the selected operational data and its metadata at 15 minute granularity.
Callers must have access to the physical asset and the Read:physical-asset-operational permission.
The user selects the relevant categories of operational data through the query parameter categories, which is a comma separated list. E.g. categories=externalRestrictionMin,externalRestrictionMax
The following categories are documented for public use.
Values are signed power in kW: charge is negative and discharge is positive. Thus externalRestrictionMin = -1000, externalRestrictionMax = 2000 at 2025-07-11T22:00:00Z implies that the asset may charge no more than 1 MW and discharge no more than 2 MW in the delivery period starting at 2025-07-11T22:00:00Z.
externalRestrictionMin: The lower (most negative / charge-side) external power restriction of the physical asset in kW, e.g. -1000.0. This is a sparse timeseries: timestamps with no value set are omitted from the response.
externalRestrictionMax: The upper (most positive / discharge-side) external power restriction of the physical asset in kW, e.g. 2000.0. This is a sparse timeseries: timestamps with no value set are omitted from the response.
Along with the selected operational data, a metadata object is returned which provides the unit for the selected datapoint.
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":"physical-assets-api-reference/operational/gets-a-selection-of-operational-data-of-a-physical-asset-as-a-timeseries","slug":"/physical-assets-api-reference/operational/gets-a-selection-of-operational-data-of-a-physical-asset-as-a-timeseries","pageMetadata":{"title":"Gets a selection of operational data of a physical asset as a timeseries.","description":"Gets a selection of operational data of a physical asset as a timeseries.\n\nReturns a JSON representation of the selected operational data and its metadata at 15 minute granularity.\n\nCallers must have access to the physical asset and the `Read:physical-asset-operational` permission.\n\nThe user selects the relevant categories of operational data through the query parameter `categories`, which is a comma separated list. E.g. `categories=externalRestrictionMin,externalRestrictionMax`\n\nThe following categories are documented for public use.\n\nValues are signed power in kW: charge is negative and discharge is positive. Thus `externalRestrictionMin = -1000`, `externalRestrictionMax = 2000` at `2025-07-11T22:00:00Z` implies that the asset may charge no more than 1 MW and discharge no more than 2 MW in the delivery period starting at `2025-07-11T22:00:00Z`.\n\n`externalRestrictionMin`: The lower (most negative / charge-side) external power restriction of the physical asset in kW, e.g. `-1000.0`. This is a sparse timeseries: timestamps with no value set are omitted from the response.\n\n`externalRestrictionMax`: The upper (most positive / discharge-side) external power restriction of the physical asset in kW, e.g. `2000.0`. This is a sparse timeseries: timestamps with no value set are omitted from the response.\n\nAlong with the selected operational data, a metadata object is returned which provides the unit for the selected datapoint.\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 \"externalRestrictionMin\": {\n \"metaData\": {\n \"unit\": \"kW\"\n },\n \"dataPoints\": [\n {\n \"timestamp\": \"2025-07-11T22:00:00Z\",\n \"value\": -1000\n },\n {\n \"timestamp\": \"2025-07-11T22:15:00Z\",\n \"value\": -1000\n }\n ]\n },\n \"externalRestrictionMax\": {\n \"metaData\": {\n \"unit\": \"kW\"\n },\n \"dataPoints\": [\n {\n \"timestamp\": \"2025-07-11T22:00:00Z\",\n \"value\": 2000\n },\n {\n \"timestamp\": \"2025-07-11T22:15:00Z\",\n \"value\": 2000\n }\n ]\n }\n }\n}\n```\n","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","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 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 physical asset 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: [\"Callers must have access to the physical asset and the \", _jsx(_components.code, {\n children: \"Read:physical-asset-operational\"\n }), \" permission.\"]\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=externalRestrictionMin,externalRestrictionMax\"\n })]\n }), \"\\n\", _jsx(_components.p, {\n children: \"The following categories are documented for public use.\"\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"Values are signed power in kW: charge is negative and discharge is positive. Thus \", _jsx(_components.code, {\n children: \"externalRestrictionMin = -1000\"\n }), \", \", _jsx(_components.code, {\n children: \"externalRestrictionMax = 2000\"\n }), \" at \", _jsx(_components.code, {\n children: \"2025-07-11T22:00:00Z\"\n }), \" implies that the asset may charge no more than 1 MW and discharge no more than 2 MW in the delivery period starting at \", _jsx(_components.code, {\n children: \"2025-07-11T22:00:00Z\"\n }), \".\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.code, {\n children: \"externalRestrictionMin\"\n }), \": The lower (most negative / charge-side) external power restriction of the physical asset in kW, e.g. \", _jsx(_components.code, {\n children: \"-1000.0\"\n }), \". This is a sparse timeseries: timestamps with no value set are omitted from the response.\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.code, {\n children: \"externalRestrictionMax\"\n }), \": The upper (most positive / discharge-side) external power restriction of the physical asset in kW, e.g. \", _jsx(_components.code, {\n children: \"2000.0\"\n }), \". This is a sparse timeseries: timestamps with no value set are omitted from the response.\"]\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: [\"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: \"34\",\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: \"34\",\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: \" \\\"externalRestrictionMin\\\"\"\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: \"-1000\"\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: \"-1000\"\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: \" \\\"externalRestrictionMax\\\"\"\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: \"2000\"\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: \"2000\"\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 physical asset as a timeseries.","description":"Gets a selection of operational data of a physical asset as a timeseries.\n\nReturns a JSON representation of the selected operational data and its metadata at 15 minute granularity.\n\nCallers must have access to the physical asset and the `Read:physical-asset-operational` permission.\n\nThe user selects the relevant categories of operational data through the query parameter `categories`, which is a comma separated list. E.g. `categories=externalRestrictionMin,externalRestrictionMax`\n\nThe following categories are documented for public use.\n\nValues are signed power in kW: charge is negative and discharge is positive. Thus `externalRestrictionMin = -1000`, `externalRestrictionMax = 2000` at `2025-07-11T22:00:00Z` implies that the asset may charge no more than 1 MW and discharge no more than 2 MW in the delivery period starting at `2025-07-11T22:00:00Z`.\n\n`externalRestrictionMin`: The lower (most negative / charge-side) external power restriction of the physical asset in kW, e.g. `-1000.0`. This is a sparse timeseries: timestamps with no value set are omitted from the response.\n\n`externalRestrictionMax`: The upper (most positive / discharge-side) external power restriction of the physical asset in kW, e.g. `2000.0`. This is a sparse timeseries: timestamps with no value set are omitted from the response.\n\nAlong with the selected operational data, a metadata object is returned which provides the unit for the selected datapoint.\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 \"externalRestrictionMin\": {\n \"metaData\": {\n \"unit\": \"kW\"\n },\n \"dataPoints\": [\n {\n \"timestamp\": \"2025-07-11T22:00:00Z\",\n \"value\": -1000\n },\n {\n \"timestamp\": \"2025-07-11T22:15:00Z\",\n \"value\": -1000\n }\n ]\n },\n \"externalRestrictionMax\": {\n \"metaData\": {\n \"unit\": \"kW\"\n },\n \"dataPoints\": [\n {\n \"timestamp\": \"2025-07-11T22:00:00Z\",\n \"value\": 2000\n },\n {\n \"timestamp\": \"2025-07-11T22:15:00Z\",\n \"value\": 2000\n }\n ]\n }\n }\n}\n```\n","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","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"description":"Gets a selection of operational data of a physical asset as a timeseries.\n\nReturns a JSON representation of the selected operational data and its metadata at 15 minute granularity.\n\nCallers must have access to the physical asset and the `Read:physical-asset-operational` permission.\n\nThe user selects the relevant categories of operational data through the query parameter `categories`, which is a comma separated list. E.g. `categories=externalRestrictionMin,externalRestrictionMax`\n\nThe following categories are documented for public use.\n\nValues are signed power in kW: charge is negative and discharge is positive. Thus `externalRestrictionMin = -1000`, `externalRestrictionMax = 2000` at `2025-07-11T22:00:00Z` implies that the asset may charge no more than 1 MW and discharge no more than 2 MW in the delivery period starting at `2025-07-11T22:00:00Z`.\n\n`externalRestrictionMin`: The lower (most negative / charge-side) external power restriction of the physical asset in kW, e.g. `-1000.0`. This is a sparse timeseries: timestamps with no value set are omitted from the response.\n\n`externalRestrictionMax`: The upper (most positive / discharge-side) external power restriction of the physical asset in kW, e.g. `2000.0`. This is a sparse timeseries: timestamps with no value set are omitted from the response.\n\nAlong with the selected operational data, a metadata object is returned which provides the unit for the selected datapoint.\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 \"externalRestrictionMin\": {\n \"metaData\": {\n \"unit\": \"kW\"\n },\n \"dataPoints\": [\n {\n \"timestamp\": \"2025-07-11T22:00:00Z\",\n \"value\": -1000\n },\n {\n \"timestamp\": \"2025-07-11T22:15:00Z\",\n \"value\": -1000\n }\n ]\n },\n \"externalRestrictionMax\": {\n \"metaData\": {\n \"unit\": \"kW\"\n },\n \"dataPoints\": [\n {\n \"timestamp\": \"2025-07-11T22:00:00Z\",\n \"value\": 2000\n },\n {\n \"timestamp\": \"2025-07-11T22:15:00Z\",\n \"value\": 2000\n }\n ]\n }\n }\n}\n```\n","parameters":["7e4652bd-db8c-4408-9d6a-f882ddbc8bae","5119587c-3f93-44dc-8003-e66c045296e7","a7847fb2-cf13-42b5-9418-ba24359b5fd1","b2ec645f-d0e1-40d6-a525-7315e3f10496","63f3316e-a5ff-48df-bda4-c16d005458da"],"requestBody":"c895d1d5-aaeb-4381-8ef8-71f3eca1aa19","responses":{"200":"3fb47a7d-6f56-48d2-b5b0-0dde7e3a1509","400":"dbcf41ab-ee3b-4e0d-866a-16fb1a254401","401":"bdc97235-6057-4dd6-aec0-2120b9d53df7","404":"ce5ad8df-1c5f-4dff-a24b-d8c89e888980","500":"79bc64f2-43d1-4e97-a1b4-a3bc911d499e"},"summary":"Gets a selection of operational data of a physical asset as a timeseries.","tags":["operational"],"method":"get","type":"path","servers":["02673ebf-782b-4f5b-a1c8-ca73bc663908","347ef0aa-faed-45b3-b7d0-c80211d6bb38"],"security":[],"path":"/physical-assets/{physicalAssetID}/operational","baseUrlOptions":["https://api.trlyr.com","https://api.sandbox.trlyr.com"],"title":"Gets a selection of operational data of a physical asset as a timeseries.","codeSamples":[],"requiredOnlyExamples":true,"requestExampleType":"generated","responseExampleType":"generated","prefillPlaygroundWithExample":true,"prefillPlaygroundExamples":[{}],"urlDisplay":"full"},"dependencies":{"parameters":{"7e4652bd-db8c-4408-9d6a-f882ddbc8bae":{"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"}},"5119587c-3f93-44dc-8003-e66c045296e7":{"description":"Physical asset ID","in":"path","name":"physicalAssetID","required":true,"schema":{"format":"uuid","type":"string","isRequired":true,"description":"Physical asset ID","uniqueKey":"","typeLabel":"string\u003cuuid>"}},"a7847fb2-cf13-42b5-9418-ba24359b5fd1":{"description":"Selected operational data categories","in":"query","name":"categories","required":true,"schema":{"type":"string","isRequired":true,"description":"Selected operational data categories","uniqueKey":"","typeLabel":"string"}},"b2ec645f-d0e1-40d6-a525-7315e3f10496":{"description":"Query start time","in":"query","name":"start","required":true,"schema":{"type":"string","isRequired":true,"description":"Query start time","uniqueKey":"","typeLabel":"string"}},"63f3316e-a5ff-48df-bda4-c16d005458da":{"description":"Query end time","in":"query","name":"end","required":true,"schema":{"type":"string","isRequired":true,"description":"Query end time","uniqueKey":"","typeLabel":"string"}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"3fb47a7d-6f56-48d2-b5b0-0dde7e3a1509":{"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"},"dbcf41ab-ee3b-4e0d-866a-16fb1a254401":{"description":"Bad Request","content":{"_mintlify/placeholder":{"schema":{"type":"object","description":""}}}},"bdc97235-6057-4dd6-aec0-2120b9d53df7":{"description":"Unauthorized","content":{"_mintlify/placeholder":{"schema":{"type":"object","description":""}}}},"ce5ad8df-1c5f-4dff-a24b-d8c89e888980":{"description":"Not Found","content":{"_mintlify/placeholder":{"schema":{"type":"object","description":""}}}},"79bc64f2-43d1-4e97-a1b4-a3bc911d499e":{"description":"Internal Server Error","content":{"_mintlify/placeholder":{"schema":{"type":"object","description":""}}}}},"security":{},"servers":{"02673ebf-782b-4f5b-a1c8-ca73bc663908":{"description":"Production API","url":"https://api.trlyr.com"},"347ef0aa-faed-45b3-b7d0-c80211d6bb38":{"description":"Sandbox API","url":"https://api.sandbox.trlyr.com"}}},"originalFileLocation":"https://api.trlyr.com/physical-assets/docs/doc.json"},"subdomain":"terralayr-90","siteName":"terralayr","title":"Gets a selection of operational data of a physical asset as a timeseries. - terralayr","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"originalFileLocation":"physical-assets-api-reference/operational/gets-a-selection-of-operational-data-of-a-physical-asset-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 physical asset as a timeseries. Returns a JSON representation of the selected operational data and its metadata at 15 minute granularity. Callers must have access to the physical asset and the Read:physical-asset-operational permission. The user selects the relevant categories of operational data through the query parameter categories, which is a comma separated list. E.g. categories=externalRestrictionMin,externalRestrictionMax The following categories are documented for public use. Values are signed power in kW: charge is negative and discharge is positive. Thus externalRestrictionMin = -1000, externalRestrictionMax = 2000 at 2025-07-11T22:00:00Z implies that the asset may charge no more than 1 MW and discharge no more than 2 MW in the delivery period starting at 2025-07-11T22:00:00Z. externalRestrictionMin: The lower (most negative / charge-side) external power restriction of the physical asset in kW, e.g. -1000.0. This is a sparse timeseries: timestamps with no value set are omitted from the response. externalRestrictionMax: The upper (most positive / discharge-side) external power restriction of the physical asset in kW, e.g. 2000.0. This is a sparse timeseries: timestamps with no value set are omitted from the response. Along with the selected operational data, a metadata object is returned which provides the unit for the selected datapoint. 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;externalRestrictionMin\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;: -1000 }, { \u0026quot;timestamp\u0026quot;: \u0026quot;2025-07-11T22:15:00Z\u0026quot;, \u0026quot;value\u0026quot;: -1000 } ] }, \u0026quot;externalRestrictionMax\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;: 2000 }, { \u0026quot;timestamp\u0026quot;: \u0026quot;2025-07-11T22:15:00Z\u0026quot;, \u0026quot;value\u0026quot;: 2000 } ] } } }\">\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 physical asset as a timeseries. - terralayr\">\u003cmeta data-mint-head property=\"og:description\" content=\"Gets a selection of operational data of a physical asset as a timeseries. Returns a JSON representation of the selected operational data and its metadata at 15 minute granularity. Callers must have access to the physical asset and the Read:physical-asset-operational permission. The user selects the relevant categories of operational data through the query parameter categories, which is a comma separated list. E.g. categories=externalRestrictionMin,externalRestrictionMax The following categories are documented for public use. Values are signed power in kW: charge is negative and discharge is positive. Thus externalRestrictionMin = -1000, externalRestrictionMax = 2000 at 2025-07-11T22:00:00Z implies that the asset may charge no more than 1 MW and discharge no more than 2 MW in the delivery period starting at 2025-07-11T22:00:00Z. externalRestrictionMin: The lower (most negative / charge-side) external power restriction of the physical asset in kW, e.g. -1000.0. This is a sparse timeseries: timestamps with no value set are omitted from the response. externalRestrictionMax: The upper (most positive / discharge-side) external power restriction of the physical asset in kW, e.g. 2000.0. This is a sparse timeseries: timestamps with no value set are omitted from the response. Along with the selected operational data, a metadata object is returned which provides the unit for the selected datapoint. 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;externalRestrictionMin\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;: -1000 }, { \u0026quot;timestamp\u0026quot;: \u0026quot;2025-07-11T22:15:00Z\u0026quot;, \u0026quot;value\u0026quot;: -1000 } ] }, \u0026quot;externalRestrictionMax\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;: 2000 }, { \u0026quot;timestamp\u0026quot;: \u0026quot;2025-07-11T22:15:00Z\u0026quot;, \u0026quot;value\u0026quot;: 2000 } ] } } }\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"terralayr\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.trlyr.com/physical-assets-api-reference/operational/gets-a-selection-of-operational-data-of-a-physical-asset-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=operational\u0026amp;title=Gets+a+selection+of+operational+data+of+a+physical+asset+as+a+timeseries.\u0026amp;description=Gets+a+selection+of+operational+data+of+a+physical+asset+as+a+timeseries.%0A%0AReturns+a+JSON+representation+of+the+selected+operational+data+and+its+metadata+at+15\u0026amp;theme=6829ac6d8fb6a04cc851f81c\u0026amp;signature=2e9f8ca5701f674346ecb82eb15ba2bf0d38371527753d87574731a3cc8393ac\">\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 physical asset as a timeseries. - terralayr\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Gets a selection of operational data of a physical asset as a timeseries. Returns a JSON representation of the selected operational data and its metadata at 15 minute granularity. Callers must have access to the physical asset and the Read:physical-asset-operational permission. The user selects the relevant categories of operational data through the query parameter categories, which is a comma separated list. E.g. categories=externalRestrictionMin,externalRestrictionMax The following categories are documented for public use. Values are signed power in kW: charge is negative and discharge is positive. Thus externalRestrictionMin = -1000, externalRestrictionMax = 2000 at 2025-07-11T22:00:00Z implies that the asset may charge no more than 1 MW and discharge no more than 2 MW in the delivery period starting at 2025-07-11T22:00:00Z. externalRestrictionMin: The lower (most negative / charge-side) external power restriction of the physical asset in kW, e.g. -1000.0. This is a sparse timeseries: timestamps with no value set are omitted from the response. externalRestrictionMax: The upper (most positive / discharge-side) external power restriction of the physical asset in kW, e.g. 2000.0. This is a sparse timeseries: timestamps with no value set are omitted from the response. Along with the selected operational data, a metadata object is returned which provides the unit for the selected datapoint. 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;externalRestrictionMin\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;: -1000 }, { \u0026quot;timestamp\u0026quot;: \u0026quot;2025-07-11T22:15:00Z\u0026quot;, \u0026quot;value\u0026quot;: -1000 } ] }, \u0026quot;externalRestrictionMax\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;: 2000 }, { \u0026quot;timestamp\u0026quot;: \u0026quot;2025-07-11T22:15:00Z\u0026quot;, \u0026quot;value\u0026quot;: 2000 } ] } } }\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://terralayr-90.mintlify.app/_mintlify/api/og/v2?division=operational\u0026amp;title=Gets+a+selection+of+operational+data+of+a+physical+asset+as+a+timeseries.\u0026amp;description=Gets+a+selection+of+operational+data+of+a+physical+asset+as+a+timeseries.%0A%0AReturns+a+JSON+representation+of+the+selected+operational+data+and+its+metadata+at+15\u0026amp;theme=6829ac6d8fb6a04cc851f81c\u0026amp;signature=2e9f8ca5701f674346ecb82eb15ba2bf0d38371527753d87574731a3cc8393ac\">\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/physical-assets-api-reference/operational/gets-a-selection-of-operational-data-of-a-physical-asset-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=\"/physical-assets-api-reference/operational/gets-a-selection-of-operational-data-of-a-physical-asset-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/physical-assets-api-reference/operational/gets-a-selection-of-operational-data-of-a-physical-asset-as-a-timeseries#webpage\",\"url\":\"https://docs.trlyr.com/physical-assets-api-reference/operational/gets-a-selection-of-operational-data-of-a-physical-asset-as-a-timeseries\",\"name\":\"Gets a selection of operational data of a physical asset as a timeseries.\",\"description\":\"Gets a selection of operational data of a physical asset as a timeseries. Returns a JSON representation of the selected operational data and its metadata at 15 minute granularity. Callers must have access to the physical asset and the Read:physical-asset-operational permission. The user selects the relevant categories of operational data through the query parameter categories, which is a comma separated list. E.g. categories=externalRestrictionMin,externalRestrictionMax The following categories are documented for public use. Values are signed power in kW: charge is negative and discharge is positive. Thus externalRestrictionMin = -1000, externalRestrictionMax = 2000 at 2025-07-11T22:00:00Z implies that the asset may charge no more than 1 MW and discharge no more than 2 MW in the delivery period starting at 2025-07-11T22:00:00Z. externalRestrictionMin: The lower (most negative / charge-side) external power restriction of the physical asset in kW, e.g. -1000.0. This is a sparse timeseries: timestamps with no value set are omitted from the response. externalRestrictionMax: The upper (most positive / discharge-side) external power restriction of the physical asset in kW, e.g. 2000.0. This is a sparse timeseries: timestamps with no value set are omitted from the response. Along with the selected operational data, a metadata object is returned which provides the unit for the selected datapoint. 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\\\": { \\\"externalRestrictionMin\\\": { \\\"metaData\\\": { \\\"unit\\\": \\\"kW\\\" }, \\\"dataPoints\\\": [ { \\\"timestamp\\\": \\\"2025-07-11T22:00:00Z\\\", \\\"value\\\": -1000 }, { \\\"timestamp\\\": \\\"2025-07-11T22:15:00Z\\\", \\\"value\\\": -1000 } ] }, \\\"externalRestrictionMax\\\": { \\\"metaData\\\": { \\\"unit\\\": \\\"kW\\\" }, \\\"dataPoints\\\": [ { \\\"timestamp\\\": \\\"2025-07-11T22:00:00Z\\\", \\\"value\\\": 2000 }, { \\\"timestamp\\\": \\\"2025-07-11T22:15:00Z\\\", \\\"value\\\": 2000 } ] } } }\",\"isPartOf\":{\"@id\":\"https://docs.trlyr.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.trlyr.com/physical-assets-api-reference/operational/gets-a-selection-of-operational-data-of-a-physical-asset-as-a-timeseries#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.trlyr.com/physical-assets-api-reference/operational/gets-a-selection-of-operational-data-of-a-physical-asset-as-a-timeseries#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Physical Asset Management API\",\"item\":\"https://docs.trlyr.com/physical-assets-api-reference/physical-assets/list-physical-assets\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Gets a selection of operational data of a physical asset as a timeseries.\",\"item\":\"https://docs.trlyr.com/physical-assets-api-reference/operational/gets-a-selection-of-operational-data-of-a-physical-asset-as-a-timeseries\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.trlyr.com/physical-assets-api-reference/operational/gets-a-selection-of-operational-data-of-a-physical-asset-as-a-timeseries#apireference\",\"headline\":\"Gets a selection of operational data of a physical asset as a timeseries.\",\"name\":\"Gets a selection of operational data of a physical asset as a timeseries.\",\"description\":\"Gets a selection of operational data of a physical asset as a timeseries. Returns a JSON representation of the selected operational data and its metadata at 15 minute granularity. Callers must have access to the physical asset and the Read:physical-asset-operational permission. The user selects the relevant categories of operational data through the query parameter categories, which is a comma separated list. E.g. categories=externalRestrictionMin,externalRestrictionMax The following categories are documented for public use. Values are signed power in kW: charge is negative and discharge is positive. Thus externalRestrictionMin = -1000, externalRestrictionMax = 2000 at 2025-07-11T22:00:00Z implies that the asset may charge no more than 1 MW and discharge no more than 2 MW in the delivery period starting at 2025-07-11T22:00:00Z. externalRestrictionMin: The lower (most negative / charge-side) external power restriction of the physical asset in kW, e.g. -1000.0. This is a sparse timeseries: timestamps with no value set are omitted from the response. externalRestrictionMax: The upper (most positive / discharge-side) external power restriction of the physical asset in kW, e.g. 2000.0. This is a sparse timeseries: timestamps with no value set are omitted from the response. Along with the selected operational data, a metadata object is returned which provides the unit for the selected datapoint. 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\\\": { \\\"externalRestrictionMin\\\": { \\\"metaData\\\": { \\\"unit\\\": \\\"kW\\\" }, \\\"dataPoints\\\": [ { \\\"timestamp\\\": \\\"2025-07-11T22:00:00Z\\\", \\\"value\\\": -1000 }, { \\\"timestamp\\\": \\\"2025-07-11T22:15:00Z\\\", \\\"value\\\": -1000 } ] }, \\\"externalRestrictionMax\\\": { \\\"metaData\\\": { \\\"unit\\\": \\\"kW\\\" }, \\\"dataPoints\\\": [ { \\\"timestamp\\\": \\\"2025-07-11T22:00:00Z\\\", \\\"value\\\": 2000 }, { \\\"timestamp\\\": \\\"2025-07-11T22:15:00Z\\\", \\\"value\\\": 2000 } ] } } }\",\"url\":\"https://docs.trlyr.com/physical-assets-api-reference/operational/gets-a-selection-of-operational-data-of-a-physical-asset-as-a-timeseries\",\"mainEntityOfPage\":{\"@id\":\"https://docs.trlyr.com/physical-assets-api-reference/operational/gets-a-selection-of-operational-data-of-a-physical-asset-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","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.","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","description":null,"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","description":"Updates external restriction operational data for a physical asset as a timeseries.\n\nCallers must have access to the physical asset and the `Update:physical-asset-operational` permission. The following categories may be updated:\n\nValues are signed power in kW: charge is negative and discharge is positive. Thus `externalRestrictionMin = -1000`, `externalRestrictionMax = 2000` at `2025-07-11T22:00:00Z` implies that the asset may charge no more than 1 MW and discharge no more than 2 MW in the delivery period starting at `2025-07-11T22:00:00Z`.\n\n`externalRestrictionMin`: The lower (most negative / charge-side) external power restriction of the physical asset in kW, e.g. `-1000.0`.\n\n`externalRestrictionMax`: The upper (most positive / discharge-side) external power restriction of the physical asset in kW, e.g. `2000.0`.\n\nRequests that include any other category are rejected.\n\n### Request body\n\nThe request body has the following shape:\n\n```json\n{\n \"data\": {\n \"externalRestrictionMin\": {\n \"dataPoints\": [\n {\n \"timestamp\": \"2025-07-11T22:00:00Z\",\n \"value\": -1000\n }\n ]\n },\n \"externalRestrictionMax\": {\n \"dataPoints\": [\n {\n \"timestamp\": \"2025-07-11T22:00:00Z\",\n \"value\": 2000\n }\n ]\n }\n }\n}\n```\n\nThis body sets `externalRestrictionMin = -1000` and `externalRestrictionMax = 2000` at `2025-07-11T22:00:00Z`, so the asset may charge no more than 1 MW and discharge no more than 2 MW in the delivery period starting at that timestamp.\n\n`data`: A map of operational data category name to category payload. At least one category is required.\n\n`dataPoints`: A non-empty list of points for that category.\n\n`timestamp`: The UTC timestamp of the point, e.g. `2025-07-11T22:00:00Z`.\n\n`value`: The signed power value for the category at that timestamp, in kW (negative for charge, positive for discharge).\n\nA successful update returns `204 No Content`.\n","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 physical asset 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"]}