> ## 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 a virtual asset.

> Get a virtual asset.

Returns a JSON representation of a specific virtual asset. This includes the static parameters of the asset, such as its maximum power capability, energy capacity, and efficiency, as well as the IDs of any blocks belonging to it.

`energyCapacity` refers to the rated (or "nameplate") storage capacity of the virtual-asset, regardless of any unavailability that may reduce the usable storage.

`availableEnergyCapacity` refers to the total usable storage currently available, and may thus be smaller than `energyCapacity` during periods of unavailability.



## OpenAPI

````yaml https://api.sandbox.trlyr.com/docs/doc.json get /organisations/{organisationID}/virtual-assets/{virtualAssetID}
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}:
    get:
      tags:
        - virtual-assets
      summary: Get a virtual asset.
      description: >-
        Get a virtual asset.


        Returns a JSON representation of a specific virtual asset. This includes
        the static parameters of the asset, such as its maximum power
        capability, energy capacity, and efficiency, as well as the IDs of any
        blocks belonging to it.


        `energyCapacity` refers to the rated (or "nameplate") storage capacity
        of the virtual-asset, regardless of any unavailability that may reduce
        the usable storage.


        `availableEnergyCapacity` refers to the total usable storage currently
        available, and may thus be smaller than `energyCapacity` during periods
        of unavailability.
      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
      requestBody:
        content:
          application/json:
            schema:
              type: object
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VirtualAsset'
          description: OK
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '500':
          description: Internal Server Error
components:
  schemas:
    VirtualAsset:
      properties:
        annualCycleLimit:
          example: 730
          format: float
          type: number
        availableEnergyCapacity:
          example: 800
          format: float
          type: number
        blockIDs:
          items:
            type: string
          type: array
          uniqueItems: false
        blockMetadata:
          items:
            $ref: '#/components/schemas/BlockMetadata'
          type: array
          uniqueItems: false
        chargeEfficiency:
          example: 0.943
          format: float
          type: number
        createdAt:
          example: '2023-11-11T00:00:00Z'
          format: dateTime
          type: string
        dailyCycleLimit:
          example: 2
          format: float
          type: number
        deliveryZone:
          example: 50Hertz
          type: string
        dischargeEfficiency:
          example: 0.943
          format: float
          type: number
        dispatchGateClosureSeconds:
          example: 480
          format: string
          type: number
        eicCode:
          example: EIC1234567890
          type: string
        end:
          example: '2023-11-12T00:00:00Z'
          format: dateTime
          type: string
        endStateOfChargePercentage:
          example: 75
          format: float
          type: number
        energyCapacity:
          example: 1000
          format: float
          type: number
        feedback:
          example: >-
            This block is projected to be over-charged by 250 kilowatt hours.
            Consider adding more discharging to the schedule, or reducing the
            amount of charging
          type: string
        finalSoCTolerance:
          example: 0.01
          format: float
          type: number
        id:
          example: 11111111-1111-1111-1111-111111111111
          format: uuid
          type: string
        imbalanceCharge:
          example: 0
          format: float
          type: number
        imbalanceDischarge:
          example: 250
          format: float
          type: number
        portfolioID:
          example: 11111111-1111-1111-1111-111111111111
          format: uuid
          type: string
        protectedDurationSeconds:
          example: 3600
          type: integer
        rampRate:
          example: 66
          format: float
          type: number
        ratedChargePower:
          example: 1000
          format: float
          type: number
        ratedDischargePower:
          example: 1000
          format: float
          type: number
        start:
          example: '2023-11-11T00:00:00Z'
          format: dateTime
          type: string
        totalAllowedCycles:
          format: float
          type: number
        unitsEnergy:
          example: kWh
          type: string
        unitsPower:
          example: kW
          type: string
      type: object
    BlockMetadata:
      properties:
        end:
          example: '2023-11-12T00:00:00Z'
          format: dateTime
          type: string
        id:
          example: 11111111-1111-1111-1111-111111111111
          format: uuid
          type: string
        market:
          example: WHOLESALE
          type: string
        start:
          example: '2023-11-11T00:00:00Z'
          format: dateTime
          type: string
      type: object

````