> ## 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 ancillary bids for a given virtual asset and interval.

> # Gets all ancillary bids for a given virtual asset and time interval

## Query Parameters

Required query parameters:

`start`: Start specifies the start of the time interval for which to retrieve bids, e.g. `2025-06-17T12:00:00Z` (RFC3339 in UTC).

`end`: End specifies the end of the time interval for which to retrieve bids, e.g. `2025-06-18T12:00:00Z` (RFC3339 in UTC).

Optional query parameters:

`markets`: Returns bids for requested markets as a comma separated string, e.g. `FCR,AFRREnergy`. If not set, returns all markets. Available options (case sensitive): `FCR`, `AFRREnergy`, `AFRRCapacity`.

`productDirections`: Returns bids for requested product directions as a comma separated string, e.g. `NEGPOS,POS`. If not set, returns all product directions. Available options (case sensitive): `POS`, `NEG`, `NEGPOS`.

## 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:

`market`: The market of the bid, one of: `FCR`, `AFRREnergy`, `AFRRCapacity`.

`product`: The product of the bid, e.g. `NEGPOS_00_04` (FCR), `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:

`bidID`: The ID of the bid.

`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.
- FCR: The capacity price of the bid in **EUR/MW**, 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.
- FCR: This field is null.

`status`: The status of the bid, one of: `pending`, `submitted`. `submitted` confirms that the bid has been placed successfully with the TSO. `pending` indicates that the process of placing the bid with the TSO is still in progress. While a bid has status `pending`, it cannot be updated to avoid double bidding. 




## OpenAPI

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


        ## Query Parameters


        Required query parameters:


        `start`: Start specifies the start of the time interval for which to
        retrieve bids, e.g. `2025-06-17T12:00:00Z` (RFC3339 in UTC).


        `end`: End specifies the end of the time interval for which to retrieve
        bids, e.g. `2025-06-18T12:00:00Z` (RFC3339 in UTC).


        Optional query parameters:


        `markets`: Returns bids for requested markets as a comma separated
        string, e.g. `FCR,AFRREnergy`. If not set, returns all markets.
        Available options (case sensitive): `FCR`, `AFRREnergy`, `AFRRCapacity`.


        `productDirections`: Returns bids for requested product directions as a
        comma separated string, e.g. `NEGPOS,POS`. If not set, returns all
        product directions. Available options (case sensitive): `POS`, `NEG`,
        `NEGPOS`.


        ## 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:


        `market`: The market of the bid, one of: `FCR`, `AFRREnergy`,
        `AFRRCapacity`.


        `product`: The product of the bid, e.g. `NEGPOS_00_04` (FCR),
        `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:


        `bidID`: The ID of the bid.


        `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.

        - FCR: The capacity price of the bid in **EUR/MW**, 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.

        - FCR: This field is null.


        `status`: The status of the bid, one of: `pending`, `submitted`.
        `submitted` confirms that the bid has been placed successfully with the
        TSO. `pending` indicates that the process of placing the bid with the
        TSO is still in progress. While a bid has status `pending`, it cannot be
        updated to avoid double bidding. 
      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
        - description: Selected markets
          in: query
          name: markets
          schema:
            type: string
        - description: Selected product directions
          in: query
          name: productDirections
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              type: object
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/AncillaryBidsBody'
                type: array
          description: OK
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '404':
          description: Not Found
        '500':
          description: Internal Server Error
components:
  schemas:
    AncillaryBidsBody:
      properties:
        bids:
          items:
            $ref: '#/components/schemas/AncillaryBidBody'
          type: array
          uniqueItems: false
        deliveryDay:
          example: '2025-11-11'
          type: string
        market:
          example: AFRRCapacity
          type: string
        product:
          example: POS_00_04
          type: string
      required:
        - deliveryDay
        - market
        - product
      type: object
    AncillaryBidBody:
      properties:
        bidID:
          example: 11111111-1111-1111-1111-111111111111
          format: uuid
          type: string
        capacityPrice:
          description: In EUR/MW/h (AFRR Capacity) or EUR/MW (FCR)
          example: 100.5
          format: float
          type: number
        energyPrice:
          description: In EUR/MWh (AFRR Capacity and AFRR Energy only)
          example: 100.5
          format: float
          type: number
        offeredCapacity:
          description: In kW
          example: 1000
          format: float
          type: number
        status:
          example: submitted
          type: string
      required:
        - bidID
        - offeredCapacity
        - status
      type: object

````