> ## 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 block.

> Get a block.

Returns a JSON representation of a block. This includes the static parameters of the block, such as its maximum power capability, as well as it's power schedule represented as an array of power-time pairs.

The `powerCapacity` timeseries indicates the amount of power assigned to a block (`ratedChargePowerCapacity` and `ratedDischargePowerCapacity`) and the currently available power capacity on the block (`chargePowerCapacity` and `dischargePowerCapacity`).

It is invalid to schedule a power value at a point in time greater than the corresponding power capacity. e.g.,  if `chargePowerCapacity` for a delivery period starting at time T is 400 kW and `dischargePowerCapacity` is 500 kW then it is only valid to schedule power for that delivery period in the range [-400, 500] kW.

The available power capacities will usually equal the rated power capacities, but may be reduced during unexpected outages.

The `start` and `end` query params 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.

If these params are not specified, this interval will default to 24 hours in the past to 48 hours in the future, up to the lifetime of the block.



## OpenAPI

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


        Returns a JSON representation of a block. This includes the static
        parameters of the block, such as its maximum power capability, as well
        as it's power schedule represented as an array of power-time pairs.


        The `powerCapacity` timeseries indicates the amount of power assigned to
        a block (`ratedChargePowerCapacity` and `ratedDischargePowerCapacity`)
        and the currently available power capacity on the block
        (`chargePowerCapacity` and `dischargePowerCapacity`).


        It is invalid to schedule a power value at a point in time greater than
        the corresponding power capacity. e.g.,  if `chargePowerCapacity` for a
        delivery period starting at time T is 400 kW and
        `dischargePowerCapacity` is 500 kW then it is only valid to schedule
        power for that delivery period in the range [-400, 500] kW.


        The available power capacities will usually equal the rated power
        capacities, but may be reduced during unexpected outages.


        The `start` and `end` query params 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.


        If these params are not specified, this interval will default to 24
        hours in the past to 48 hours in the future, up to the lifetime of the
        block.
      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: Block ID
          in: path
          name: blockID
          required: true
          schema:
            type: string
        - description: Query start time
          in: query
          name: start
          schema:
            type: string
        - description: Query end time
          in: query
          name: end
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              type: object
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Block'
          description: OK
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '500':
          description: Internal Server Error
components:
  schemas:
    Block:
      properties:
        end:
          example: '2023-11-12T00:00:00Z'
          format: dateTime
          type: string
        id:
          example: 11111111-1111-1111-1111-111111111111
          format: uuid
          type: string
        powerCapacity:
          items:
            $ref: '#/components/schemas/PowerCapacityPoint'
          type: array
          uniqueItems: false
        ratedChargePower:
          example: 1000
          format: float
          type: number
        ratedDischargePower:
          example: 1000
          format: float
          type: number
        schedule:
          items:
            $ref: '#/components/schemas/InstructionPoint'
          type: array
          uniqueItems: false
        start:
          example: '2023-11-11T00:00:00Z'
          format: dateTime
          type: string
        unitsPower:
          example: kW
          type: string
      type: object
    PowerCapacityPoint:
      properties:
        chargePowerCapacity:
          example: 380
          format: float
          type: number
        dischargePowerCapacity:
          example: 380
          format: float
          type: number
        ratedChargePowerCapacity:
          example: 380
          format: float
          type: number
        ratedDischargePowerCapacity:
          example: 380
          format: float
          type: number
        time:
          example: '2023-11-11T14:30:00Z'
          format: dateTime
          type: string
      required:
        - chargePowerCapacity
        - dischargePowerCapacity
        - ratedChargePowerCapacity
        - ratedDischargePowerCapacity
        - time
      type: object
    InstructionPoint:
      properties:
        power:
          example: 380
          format: float
          type: number
        time:
          example: '2023-11-11T14:30:00Z'
          format: dateTime
          type: string
      required:
        - power
        - time
      type: object

````