> ## Documentation Index
> Fetch the complete documentation index at: https://docs.trlyr.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Get the usable energy-capacity of a virtual-asset as a timeseries.

> Get the usable energy-capacity of a virtual-asset as a timeseries.

Returns a JSON representation of the rated and available energy-capacity of the virtual asset at 15-minute granularity in kilowatt-hours.

The available values should be equal to the rated values in normal periods of operation, but may be reduced during periods of unavailability.

These values for energy-capacity are used in the calculation and interpretation of the state-of-charge values on the `/state-of-charge/...` endpoints. For example, for a particular 15-minute period if this timeseries has a value of 10000 kWh and the state-of-charge has a value of 50% for that same period that implies that there are 5000 kWh stored in the virtual-asset at that time.

Note that it is required to provide `start` and `end` params to specify the time interval for which to retrieve values. These values should be strings in RFC3339 format. 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.




## OpenAPI

````yaml https://api.sandbox.trlyr.com/docs/doc.json get /organisations/{organisationID}/virtual-assets/{virtualAssetID}/energy-capacity
openapi: 3.1.0
info:
  description: >
    This API allows clients to manage virtual-assets and blocks on the terralayr
    system.


    A virtual asset is a virtual battery, it has static parameters that dictate
    how much power it can import / export, how much energy it can store, and how
    efficiently it charges / discharges. It also has a state of charge which
    changes as the virtual asset exports and imports power.


    A block represents a slice of the power capacity of a virtual asset over
    time, and has a schedule which can be updated to control what the
    virtual-asset will do.


    Virtual assets should be kept balanced: you should manage the schedule such
    that the such that state of charge at the end of its lifetime is 50%. It is
    possible to submit schedules that do not end at 50%, but the response will
    include information about how much imbalance is left.


    ### Authorization


    All the underneath requests require a Bearer-type `Authorization` Header
    i.e. in the form : `Authorization: Bearer <YOUR_TOKEN>`.


    To retrieve a valid token you must log in to our system using a
    password-username authentication as follows:


    ```

    POST https://api.sandbox.trlyr.com/auth/public/authenticate

    ```


    with the following JSON body:


    ```

    {
        "username": "YOUR_USERNAME",
        "password": "YOUR_PASSWORD"
    }

    ```


    Your username and password are the ones you created after receiving an
    invitation to join your organisation.


    You should receive a JSON response body from which you can extract your
    token under `access_token`.


    If you have any questions, don't hesitate to contact our account manager at
    the following address: support@trlyr.com.
  title: terralayr API
  version: 1.11.3
servers:
  - description: Production API
    url: https://api.trlyr.com
  - description: Sandbox API
    url: https://api.sandbox.trlyr.com
security: []
tags:
  - name: virtual-assets
  - name: afrr
  - name: fcr
  - name: ancillary
  - name: blocks
externalDocs:
  description: ''
  url: ''
paths:
  /organisations/{organisationID}/virtual-assets/{virtualAssetID}/energy-capacity:
    get:
      tags:
        - virtual-assets
      summary: Get the usable energy-capacity of a virtual-asset as a timeseries.
      description: >
        Get the usable energy-capacity of a virtual-asset as a timeseries.


        Returns a JSON representation of the rated and available energy-capacity
        of the virtual asset at 15-minute granularity in kilowatt-hours.


        The available values should be equal to the rated values in normal
        periods of operation, but may be reduced during periods of
        unavailability.


        These values for energy-capacity are used in the calculation and
        interpretation of the state-of-charge values on the
        `/state-of-charge/...` endpoints. For example, for a particular
        15-minute period if this timeseries has a value of 10000 kWh and the
        state-of-charge has a value of 50% for that same period that implies
        that there are 5000 kWh stored in the virtual-asset at that time.


        Note that it is required to provide `start` and `end` params to specify
        the time interval for which to retrieve values. These values should be
        strings in RFC3339 format. 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.
      parameters:
        - description: Access token
          in: header
          name: Authorization
          required: true
          schema:
            default: Bearer <access token value>
            type: string
        - description: Organisation ID
          in: path
          name: organisationID
          required: true
          schema:
            type: string
        - description: Virtual Asset ID
          in: path
          name: virtualAssetID
          required: true
          schema:
            type: string
        - description: Query start time
          in: query
          name: start
          required: true
          schema:
            type: string
        - description: Query end time
          in: query
          name: end
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              type: object
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EnergyCapacityTimeseries'
          description: OK
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '500':
          description: Internal Server Error
components:
  schemas:
    EnergyCapacityTimeseries:
      properties:
        energyCapacityTimeseries:
          items:
            $ref: '#/components/schemas/EnergyCapacityPoint'
          type: array
          uniqueItems: false
      required:
        - energyCapacityTimeseries
      type: object
    EnergyCapacityPoint:
      properties:
        energyCapacity:
          $ref: '#/components/schemas/OperationalEnergyCapacity'
        time:
          example: '2025-06-15T10:00:00Z'
          format: dateTime
          type: string
      required:
        - energyCapacity
        - time
      type: object
    OperationalEnergyCapacity:
      properties:
        available:
          example: 50
          type: number
        rated:
          example: 100
          type: number
      required:
        - available
        - rated
      type: object

````