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

# Retrieve an asset schedule

> The plan in force for an asset over Berlin delivery dates, the same for partner and Nomos tokens: for every planned quarter hour one slot, with its author. While Nomos optimises the household, Nomos's newest slot is in force, and the partner's where Nomos planned nothing. Otherwise the partner's newest slot is in force.



## OpenAPI

````yaml /openapi/openapi.gauss.json get /assets/{id}/schedule
openapi: 3.0.0
info:
  title: Nomos API
  version: 2026-09-08.gauss
servers:
  - url: https://api.nomos.energy
    description: production
security: []
tags:
  - name: Plans
  - name: Leads
  - name: Subscriptions
  - name: Customers
  - name: Households
  - name: Assets
  - name: Usage
  - name: Prices
  - name: Invoices
  - name: Smart Meter Orders
  - name: Grid Fee Reductions
  - name: Market Partners
  - name: Events
  - name: Authentication
paths:
  /assets/{id}/schedule:
    get:
      tags:
        - Assets
      summary: Retrieve an asset schedule
      description: >-
        The plan in force for an asset over Berlin delivery dates, the same for
        partner and Nomos tokens: for every planned quarter hour one slot, with
        its author. While Nomos optimises the household, Nomos's newest slot is
        in force, and the partner's where Nomos planned nothing. Otherwise the
        partner's newest slot is in force.
      parameters:
        - schema:
            type: string
            example: ha_b7q2m1k8v4n0x3c9l5p2r7td
          required: true
          name: id
          in: path
        - schema:
            type: string
            pattern: ^\d{4}-\d{2}-\d{2}$
            example: '2026-09-08'
            description: First delivery date, inclusive, in Europe/Berlin (YYYY-MM-DD).
          required: true
          description: First delivery date, inclusive, in Europe/Berlin (YYYY-MM-DD).
          name: start
          in: query
        - schema:
            type: string
            pattern: ^\d{4}-\d{2}-\d{2}$
            example: '2026-09-08'
            description: >-
              Last delivery date, inclusive, in Europe/Berlin (YYYY-MM-DD). May
              equal start.
          required: true
          description: >-
            Last delivery date, inclusive, in Europe/Berlin (YYYY-MM-DD). May
            equal start.
          name: end
          in: query
      responses:
        '200':
          description: The plan in force
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AssetSchedule'
        '400':
          description: >-
            The request is invalid: a field fails validation, breaks a business
            rule, or the body is not valid JSON. `errors` lists every problem
            with its field.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrBadRequest'
              examples:
                End before start:
                  summary: End before start
                  value:
                    code: BAD_REQUEST
                    message: end must be on or after start.
                    requestId: 37a04f8f-e791-491c-81e1-86cd304649bb
                    docs: >-
                      https://docs.nomos.energy/api-references/errors/BAD_REQUEST
                    errors:
                      - code: invalid_value
                        field: end
                        message: end must be on or after start.
                Unsupported version header:
                  $ref: '#/components/examples/400-unsupported-version-header'
        '401':
          description: The access token is missing, expired or invalid.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrUnauthorized'
              examples:
                No token:
                  $ref: '#/components/examples/401-no-token'
                Expired token:
                  $ref: '#/components/examples/401-expired-token'
                Invalid token:
                  $ref: '#/components/examples/401-invalid-token'
        '403':
          description: The access token is valid but not allowed to use this endpoint.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrForbidden'
              examples:
                Role without access:
                  $ref: '#/components/examples/403-role-without-access'
                Token without scope:
                  $ref: '#/components/examples/403-token-without-scope-2'
                Customer token without customer:
                  $ref: '#/components/examples/403-customer-token-without-customer'
        '404':
          description: >-
            A resource in the path or the body does not exist or belongs to
            another organization.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrNotFound'
              examples:
                Unknown asset:
                  $ref: '#/components/examples/404-unknown-asset'
        '422':
          description: >-
            A query parameter, such as a filter value or a date range, is
            invalid.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrUnprocessableEntity'
              examples:
                Date that does not exist:
                  $ref: '#/components/examples/422-date-that-does-not-exist'
        '500':
          description: >-
            Something went wrong on our side. Retry later, and send us the
            `requestId` if it persists.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrInternalServerError'
              examples:
                Unexpected error:
                  $ref: '#/components/examples/500-unexpected-error'
      security:
        - Bearer: []
components:
  schemas:
    AssetSchedule:
      type: object
      properties:
        object:
          type: string
          enum:
            - asset_schedule
        asset:
          type: string
          example: ha_b7q2m1k8v4n0x3c9l5p2r7td
        period:
          type: object
          properties:
            start:
              type: string
              example: '2026-10-07T00:00:00.000+02:00'
              description: Inclusive start, with its UTC offset.
            end:
              type: string
              example: '2026-10-08T00:00:00.000+02:00'
              description: Exclusive end, with its UTC offset.
          required:
            - start
            - end
        resolution:
          type: string
          enum:
            - 15min
        items:
          type: array
          items:
            type: object
            properties:
              timestamp:
                type: string
                description: Start of the quarter hour in UTC.
                example: '2026-10-07T10:00:00.000Z'
              mode:
                type: string
                enum:
                  - setpoint
                  - self_consumption
                  - local
                description: >-
                  What the device does in the quarter hour. `setpoint` holds
                  `power_kw` (`battery`, `wallbox`). `self_consumption` switches
                  the device to using solar surplus and keeping the grid near
                  zero (`battery`, `wallbox`). `local` leaves the device's own
                  logic in charge, within any caps (every steerable type, and
                  the only mode for `heat_pump` and `inverter`).
                example: setpoint
              power_kw:
                type: number
                nullable: true
                description: >-
                  The power to hold in kW, positive into the asset and negative
                  out of it, at most the asset's rating. Required for
                  `setpoint`, the only mode that takes it. A `wallbox` only
                  charges.
                example: 3
              max_in_kw:
                type: number
                nullable: true
                minimum: 0
                description: >-
                  Cap on power into the asset in kW, at most its rating.
                  `battery`, `wallbox` and `heat_pump` in `self_consumption` and
                  `local`. 0 blocks charging or drawing.
                example: null
              max_out_kw:
                type: number
                nullable: true
                minimum: 0
                description: >-
                  Cap on power out of the asset in kW, at most its rating.
                  `battery` in `self_consumption` and `local`, and `inverter` in
                  `local`, where it curtails solar: 4 limits it to 4 kW, 0 stops
                  it. 0 on a battery keeps the charge.
                example: null
              min_soc:
                type: number
                nullable: true
                minimum: 0
                maximum: 1
                description: >-
                  Lowest charge level as a share from 0 to 1, not above
                  `max_soc`. `battery` in every mode.
                example: 0.1
              max_soc:
                type: number
                nullable: true
                minimum: 0
                maximum: 1
                description: >-
                  Highest charge level as a share from 0 to 1. `battery` in
                  every mode.
                example: 0.9
              expected_power_kw:
                type: number
                nullable: true
                description: >-
                  The average power the sender expects in the quarter hour in
                  kW, when it differs from what the mode implies. On a
                  `setpoint` it lies between 0 and `power_kw`, and it stays
                  within the caps. Every mode, except on an `inverter`.
                example: null
              author:
                type: string
                enum:
                  - partner
                  - nomos
                description: >-
                  Who sent the slot: `partner` through this API, or `nomos` for
                  Nomos's own plans.
                example: partner
            required:
              - timestamp
              - mode
              - power_kw
              - max_in_kw
              - max_out_kw
              - min_soc
              - max_soc
              - expected_power_kw
              - author
          description: >-
            Sorted by time. On a POST, the stored slots. On a GET, the plan in
            force: one slot per planned quarter hour. A quarter hour without one
            runs the device's own logic.
      required:
        - object
        - asset
        - period
        - resolution
        - items
    ErrBadRequest:
      type: object
      properties:
        code:
          type: string
          enum:
            - BAD_REQUEST
          description: The error code related to the status code.
          example: BAD_REQUEST
        message:
          type: string
          description: A human readable message describing the issue.
        requestId:
          type: string
          description: The request id to be used for debugging and error reporting.
          example: 37a04f8f-e791-491c-81e1-86cd304649bb
        docs:
          type: string
          description: The docs related to the error code.
          example: https://docs.nomos.energy/api-references/errors/BAD_REQUEST
        errors:
          type: array
          items:
            type: object
            properties:
              code:
                type: string
                enum:
                  - invalid_type
                  - too_big
                  - too_small
                  - invalid_format
                  - not_multiple_of
                  - unrecognized_keys
                  - invalid_union
                  - invalid_key
                  - invalid_element
                  - invalid_value
                  - custom
                  - unserviceable_zip
                  - ended_subscription
                  - duplicate_grid_reduction
                  - missing_smart_meter
                  - missing_module_1
                  - unsupported_product
                  - unsupported_meter_order
                  - duplicate_meter_order
                  - unsupported_meter
                  - out_of_period_meter_reading
                  - unsupported_meter_reading
                  - duplicate_meter_reading
                  - implausible_meter_reading
                  - duplicate_customer_email
                  - invalid_iban
                  - upgrade_api_version
                  - withdrawal_not_allowed
                  - invalid_termination_date
                  - subscription_not_started
                  - missing_household
                  - invalid_household_customer
                  - invalid_household_meter
                  - duplicate_consumption_subscription
                  - invalid_inverter
                  - read_only_asset
                  - duplicate_external_id
                  - asset_has_children
                  - asset_decommissioned
                  - asset_not_found
                  - mixed_households
                  - field_not_allowed
                  - invalid_direction
                  - duplicate_timestamp
                  - asset_not_steerable
                  - mode_not_allowed
                  - slot_missing
                example: invalid_type
              field:
                type: string
                example: customer.email
              message:
                type: string
                example: 'Invalid input: expected string, received undefined'
            required:
              - code
              - field
              - message
          description: >-
            Per-field breakdown of a validation or business-rule failure.
            Omitted for API versions before the structured-errors cutoff.
      required:
        - code
        - message
        - requestId
        - docs
    ErrUnauthorized:
      type: object
      properties:
        code:
          type: string
          enum:
            - UNAUTHORIZED
          description: The error code related to the status code.
          example: UNAUTHORIZED
        message:
          type: string
          description: A human readable message describing the issue.
        requestId:
          type: string
          description: The request id to be used for debugging and error reporting.
          example: 37a04f8f-e791-491c-81e1-86cd304649bb
        docs:
          type: string
          description: The docs related to the error code.
          example: https://docs.nomos.energy/api-references/errors/UNAUTHORIZED
      required:
        - code
        - message
        - requestId
        - docs
    ErrForbidden:
      type: object
      properties:
        code:
          type: string
          enum:
            - FORBIDDEN
          description: The error code related to the status code.
          example: FORBIDDEN
        message:
          type: string
          description: A human readable message describing the issue.
        requestId:
          type: string
          description: The request id to be used for debugging and error reporting.
          example: 37a04f8f-e791-491c-81e1-86cd304649bb
        docs:
          type: string
          description: The docs related to the error code.
          example: https://docs.nomos.energy/api-references/errors/FORBIDDEN
      required:
        - code
        - message
        - requestId
        - docs
    ErrNotFound:
      type: object
      properties:
        code:
          type: string
          enum:
            - NOT_FOUND
          description: The error code related to the status code.
          example: NOT_FOUND
        message:
          type: string
          description: A human readable message describing the issue.
        requestId:
          type: string
          description: The request id to be used for debugging and error reporting.
          example: 37a04f8f-e791-491c-81e1-86cd304649bb
        docs:
          type: string
          description: The docs related to the error code.
          example: https://docs.nomos.energy/api-references/errors/NOT_FOUND
        errors:
          type: array
          items:
            type: object
            properties:
              code:
                type: string
                enum:
                  - invalid_type
                  - too_big
                  - too_small
                  - invalid_format
                  - not_multiple_of
                  - unrecognized_keys
                  - invalid_union
                  - invalid_key
                  - invalid_element
                  - invalid_value
                  - custom
                  - unserviceable_zip
                  - ended_subscription
                  - duplicate_grid_reduction
                  - missing_smart_meter
                  - missing_module_1
                  - unsupported_product
                  - unsupported_meter_order
                  - duplicate_meter_order
                  - unsupported_meter
                  - out_of_period_meter_reading
                  - unsupported_meter_reading
                  - duplicate_meter_reading
                  - implausible_meter_reading
                  - duplicate_customer_email
                  - invalid_iban
                  - upgrade_api_version
                  - withdrawal_not_allowed
                  - invalid_termination_date
                  - subscription_not_started
                  - missing_household
                  - invalid_household_customer
                  - invalid_household_meter
                  - duplicate_consumption_subscription
                  - invalid_inverter
                  - read_only_asset
                  - duplicate_external_id
                  - asset_has_children
                  - asset_decommissioned
                  - asset_not_found
                  - mixed_households
                  - field_not_allowed
                  - invalid_direction
                  - duplicate_timestamp
                  - asset_not_steerable
                  - mode_not_allowed
                  - slot_missing
                example: invalid_type
              field:
                type: string
                example: customer.email
              message:
                type: string
                example: 'Invalid input: expected string, received undefined'
            required:
              - code
              - field
              - message
          description: >-
            Per-field breakdown of a validation or business-rule failure.
            Omitted for API versions before the structured-errors cutoff.
      required:
        - code
        - message
        - requestId
        - docs
    ErrUnprocessableEntity:
      type: object
      properties:
        code:
          type: string
          enum:
            - UNPROCESSABLE_ENTITY
          description: The error code related to the status code.
          example: UNPROCESSABLE_ENTITY
        message:
          type: string
          description: A human readable message describing the issue.
        requestId:
          type: string
          description: The request id to be used for debugging and error reporting.
          example: 37a04f8f-e791-491c-81e1-86cd304649bb
        docs:
          type: string
          description: The docs related to the error code.
          example: https://docs.nomos.energy/api-references/errors/UNPROCESSABLE_ENTITY
        errors:
          type: array
          items:
            type: object
            properties:
              code:
                type: string
                enum:
                  - invalid_type
                  - too_big
                  - too_small
                  - invalid_format
                  - not_multiple_of
                  - unrecognized_keys
                  - invalid_union
                  - invalid_key
                  - invalid_element
                  - invalid_value
                  - custom
                  - unserviceable_zip
                  - ended_subscription
                  - duplicate_grid_reduction
                  - missing_smart_meter
                  - missing_module_1
                  - unsupported_product
                  - unsupported_meter_order
                  - duplicate_meter_order
                  - unsupported_meter
                  - out_of_period_meter_reading
                  - unsupported_meter_reading
                  - duplicate_meter_reading
                  - implausible_meter_reading
                  - duplicate_customer_email
                  - invalid_iban
                  - upgrade_api_version
                  - withdrawal_not_allowed
                  - invalid_termination_date
                  - subscription_not_started
                  - missing_household
                  - invalid_household_customer
                  - invalid_household_meter
                  - duplicate_consumption_subscription
                  - invalid_inverter
                  - read_only_asset
                  - duplicate_external_id
                  - asset_has_children
                  - asset_decommissioned
                  - asset_not_found
                  - mixed_households
                  - field_not_allowed
                  - invalid_direction
                  - duplicate_timestamp
                  - asset_not_steerable
                  - mode_not_allowed
                  - slot_missing
                example: invalid_type
              field:
                type: string
                example: customer.email
              message:
                type: string
                example: 'Invalid input: expected string, received undefined'
            required:
              - code
              - field
              - message
          description: >-
            Per-field breakdown of a validation or business-rule failure.
            Omitted for API versions before the structured-errors cutoff.
      required:
        - code
        - message
        - requestId
        - docs
    ErrInternalServerError:
      type: object
      properties:
        code:
          type: string
          enum:
            - INTERNAL_SERVER_ERROR
          description: The error code related to the status code.
          example: INTERNAL_SERVER_ERROR
        message:
          type: string
          description: A human readable message describing the issue.
        requestId:
          type: string
          description: The request id to be used for debugging and error reporting.
          example: 37a04f8f-e791-491c-81e1-86cd304649bb
        docs:
          type: string
          description: The docs related to the error code.
          example: >-
            https://docs.nomos.energy/api-references/errors/INTERNAL_SERVER_ERROR
      required:
        - code
        - message
        - requestId
        - docs
  examples:
    400-unsupported-version-header:
      summary: Unsupported version header
      value:
        code: BAD_REQUEST
        message: Version header 2026-01-01.foo is invalid.
        requestId: 37a04f8f-e791-491c-81e1-86cd304649bb
        docs: https://docs.nomos.energy/api-references/errors/BAD_REQUEST
    401-no-token:
      summary: No token
      value:
        code: UNAUTHORIZED
        message: No authorization header provided.
        requestId: 37a04f8f-e791-491c-81e1-86cd304649bb
        docs: https://docs.nomos.energy/api-references/errors/UNAUTHORIZED
    401-expired-token:
      summary: Expired token
      value:
        code: UNAUTHORIZED
        message: Token expired
        requestId: 37a04f8f-e791-491c-81e1-86cd304649bb
        docs: https://docs.nomos.energy/api-references/errors/UNAUTHORIZED
    401-invalid-token:
      summary: Invalid token
      value:
        code: UNAUTHORIZED
        message: Invalid or malformed token
        requestId: 37a04f8f-e791-491c-81e1-86cd304649bb
        docs: https://docs.nomos.energy/api-references/errors/UNAUTHORIZED
    403-role-without-access:
      summary: Role without access
      value:
        code: FORBIDDEN
        message: Forbidden to access this route.
        requestId: 37a04f8f-e791-491c-81e1-86cd304649bb
        docs: https://docs.nomos.energy/api-references/errors/FORBIDDEN
    403-token-without-scope-2:
      summary: Token without scope
      value:
        code: FORBIDDEN
        message: 'Insufficient scope: read:* required.'
        requestId: 37a04f8f-e791-491c-81e1-86cd304649bb
        docs: https://docs.nomos.energy/api-references/errors/FORBIDDEN
    403-customer-token-without-customer:
      summary: Customer token without customer
      value:
        code: FORBIDDEN
        message: Customer not found.
        requestId: 37a04f8f-e791-491c-81e1-86cd304649bb
        docs: https://docs.nomos.energy/api-references/errors/FORBIDDEN
    404-unknown-asset:
      summary: Unknown asset
      value:
        code: NOT_FOUND
        message: Asset not found
        requestId: 37a04f8f-e791-491c-81e1-86cd304649bb
        docs: https://docs.nomos.energy/api-references/errors/NOT_FOUND
    422-date-that-does-not-exist:
      summary: Date that does not exist
      value:
        code: UNPROCESSABLE_ENTITY
        message: start must be a valid date
        requestId: 37a04f8f-e791-491c-81e1-86cd304649bb
        docs: https://docs.nomos.energy/api-references/errors/UNPROCESSABLE_ENTITY
        errors:
          - code: invalid_format
            field: start
            message: start must be a valid date
    500-unexpected-error:
      summary: Unexpected error
      value:
        code: INTERNAL_SERVER_ERROR
        message: Internal Server Error
        requestId: 37a04f8f-e791-491c-81e1-86cd304649bb
        docs: https://docs.nomos.energy/api-references/errors/INTERNAL_SERVER_ERROR
  securitySchemes:
    Bearer:
      type: http
      scheme: bearer
      bearerFormat: JWT

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.