> ## 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 all aFRR bids for a given virtual asset and delivery day.

> # Gets all aFRR bids for a given virtual asset and delivery day

## Query Parameters

Required query parameters:

`deliveryDay`: The delivery day of the bids in the format `YYYY-MM-DD`, e.g. `2026-05-30` (full day according to RFC3339).

Optional query parameters:

`market`: Returns bids for requested market aFRR market only, e.g. `capacity`. If not set, returns all markets. Available options (case sensitive): `capacity`, `energy`.

## Response format

Returns a JSON representation of the ancillary bids for the given time interval and virtual asset as a list. The following fields are provided:

`productDateCode`: 

The `productDateCode` in the response references a specific product on a given delivery day: e.g. `2025-01-01_POS_00_04`. 

This "product-date-code" can be used to update the bid individually through the PUT endpoint.

`product`: The product of the bid, e.g. `POS_00_04` (aFRR Capacity), `POS_001` (aFRR Energy).

`deliveryDay`: The delivery day of the bid in the format `YYYY-MM-DD`, e.g. `2026-05-30` (full day according to RFC3339).

`bids`: A list of individual bids for the product.

Each bid in the list contains the following fields whose contents can vary depending on the market:

`offeredCapacity`: The offered capacity of the bid in **kilowatts**, e.g. `2000`.

`capacityPrice`:
- aFRR Energy: This field is null.
- aFRR Capacity: The capacity price of the bid in **EUR/MW/h**, e.g. `100.00`. This price is used to determine the position of the bid in the TSO's merit order.

`energyPrice`:
- aFRR Energy: The energy price of the bid in **EUR/MWh**, e.g. `100.00`. This price is used to determine the position of the bid in the TSO's merit order.
- aFRR Capacity: The energy price of the 16 implicit aFRR Energy bids in **EUR/MWh**, e.g. `100.00`. When submitting a bid into the aFRR Capacity market, it is mandatory to place 16 implicit aFRR Energy bids covering the 4 hour duration of the Capacity bid. This is done by providing an `energyPrice` on each Capacity bid. Each of the 16 Energy bids will have the same `offeredCapacity` as the corresponding Capacity bid. These Energy bids can still be updated after the Capacity bid has received a result. However, if the Capacity bid was accepted, the `offeredCapacity` of the Energy bids cannot be reduced. If the Capacity bid is rejected, the implicit Energy bids are also rejected.




## OpenAPI

````yaml https://api.sandbox.trlyr.com/docs/doc.json get /organisations/{organisationID}/virtual-assets/{virtualAssetID}/ancillary/afrr/bids
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}/ancillary/afrr/bids:
    get:
      tags:
        - afrr
      summary: Get all aFRR bids for a given virtual asset and delivery day.
      description: >
        # Gets all aFRR bids for a given virtual asset and delivery day


        ## Query Parameters


        Required query parameters:


        `deliveryDay`: The delivery day of the bids in the format `YYYY-MM-DD`,
        e.g. `2026-05-30` (full day according to RFC3339).


        Optional query parameters:


        `market`: Returns bids for requested market aFRR market only, e.g.
        `capacity`. If not set, returns all markets. Available options (case
        sensitive): `capacity`, `energy`.


        ## Response format


        Returns a JSON representation of the ancillary bids for the given time
        interval and virtual asset as a list. The following fields are provided:


        `productDateCode`: 


        The `productDateCode` in the response references a specific product on a
        given delivery day: e.g. `2025-01-01_POS_00_04`. 


        This "product-date-code" can be used to update the bid individually
        through the PUT endpoint.


        `product`: The product of the bid, e.g. `POS_00_04` (aFRR Capacity),
        `POS_001` (aFRR Energy).


        `deliveryDay`: The delivery day of the bid in the format `YYYY-MM-DD`,
        e.g. `2026-05-30` (full day according to RFC3339).


        `bids`: A list of individual bids for the product.


        Each bid in the list contains the following fields whose contents can
        vary depending on the market:


        `offeredCapacity`: The offered capacity of the bid in **kilowatts**,
        e.g. `2000`.


        `capacityPrice`:

        - aFRR Energy: This field is null.

        - aFRR Capacity: The capacity price of the bid in **EUR/MW/h**, e.g.
        `100.00`. This price is used to determine the position of the bid in the
        TSO's merit order.


        `energyPrice`:

        - aFRR Energy: The energy price of the bid in **EUR/MWh**, e.g.
        `100.00`. This price is used to determine the position of the bid in the
        TSO's merit order.

        - aFRR Capacity: The energy price of the 16 implicit aFRR Energy bids in
        **EUR/MWh**, e.g. `100.00`. When submitting a bid into the aFRR Capacity
        market, it is mandatory to place 16 implicit aFRR Energy bids covering
        the 4 hour duration of the Capacity bid. This is done by providing an
        `energyPrice` on each Capacity bid. Each of the 16 Energy bids will have
        the same `offeredCapacity` as the corresponding Capacity bid. These
        Energy bids can still be updated after the Capacity bid has received a
        result. However, if the Capacity bid was accepted, the `offeredCapacity`
        of the Energy bids cannot be reduced. If the Capacity bid is rejected,
        the implicit Energy bids are also rejected.
      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: Delivery Day
          in: query
          name: deliveryDay
          required: true
          schema:
            default: YYYY-MM-DD
            type: string
        - description: Market
          in: query
          name: market
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              type: object
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/AFRRProductBidsBody'
                type: array
          description: OK
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '404':
          description: Not Found
        '500':
          description: Internal Server Error
components:
  schemas:
    AFRRProductBidsBody:
      properties:
        bids:
          items:
            $ref: '#/components/schemas/AFRRProductBidBody'
          type: array
          uniqueItems: false
        deliveryDay:
          example: '2025-11-11'
          type: string
        product:
          description: 'Capacity market bid: POS_00_04, Energy market bid: POS_001'
          example: POS_00_04
          type: string
        productDateCode:
          description: >-
            Capacity market bid: 2025-11-11_POS_00_04, Energy market bid:
            2025-11-11_POS_001
          example: 2025-11-11_POS_00_04
          type: string
      required:
        - deliveryDay
        - product
        - productDateCode
      type: object
    AFRRProductBidBody:
      properties:
        capacityPrice:
          description: In EUR/MW/h (will be 'null' in energy market bid)
          example: 100.5
          format: float
          type: number
        energyPrice:
          description: In EUR/MWh
          example: 100.5
          format: float
          type: number
        offeredCapacity:
          description: In kW (must be an integer multiple of 1 megawatt, e.g. 1000, 2000)
          example: 1000
          format: float
          type: number
      required:
        - offeredCapacity
      type: object

````