---
title: "Get offer items by offer id"
method: GET
path: "/offer/{offerId}/items"
tags: ["Offer"]
---

# Get offer items by offer id

`GET /offer/{offerId}/items`

## Request

- Base URL: `https://api3.autarc.energy/v1`
- URL: `https://api3.autarc.energy/v1/offer/{offerId}/items`
- Auth: API key in header `X-Api-Key`

Paginated live line items of one offer, including `productPackage` /
`productPackageItem`. Children carry `package_parent_offer_item_id`, and so
does a `productPackage` sub-package nested one level inside another package.
The top-level package is the sales line — do not sum the rows inside it on
top of it.
`GET /offer/{offerId}` stays the offer row only.

## Path parameters

- `offerId` string, uuid, required

## Query parameters

- `page` integer
- `limit` integer

## Response `200`

Paginated line items of one offer

- object
  - `items` OfferItem[], required
    - `id` string, uuid
    - `offer_id` string, uuid
    - `company_id` string, uuid
    - `type` 'product' | 'customItem' | 'heading' | 'subTotal' | 'previousPayment' | 'productPackage' | 'productPackageItem' | 'freeText' | 'dynamicProductPlaceholder'
    - `heading` string
    - `is_optional` boolean
    - `product_id` string, nullable
    - `product_type` 'heatPump' | 'bufferTank' | 'hotWaterTank' | 'freshWaterStation' | 'radiator' | 'service' | 'other' | 'solarPanel' | 'inverter' | 'battery' | 'wallbox' | 'ev' | 'valve', nullable
    - `description` string, nullable
    - `amount` number, nullable
    - `unit` 'kg' | 'liter' | 'meter' | 'squareMeter' | 'cubicMeter' | 'minute' | 'hour' | 'day' | 'quantity' | 'flatRate' | 'kwp', nullable
    - `tax_rate` number, nullable
    - `buying_price_in_cent` number, nullable
    - `margin` number, nullable
    - `index` integer
    - `package_parent_offer_item_id` string, uuid, nullable: Set on the rows inside a package — `productPackageItem` children, and a `productPackage` sub-package nested one level inside another package. The top-level `productPackage` is the sales line — do not sum the rows inside it. A sub-package's `amount` is per unit of its parent package.
    - `package_has_custom_price` boolean: True when the package parent's price is custom rather than a rollup of its children.
    - `quantity_discount_percentage` number, nullable
    - `vat_category_code` string, nullable
    - `bubble_id` string, nullable
    - `created_at` string, date-time
    - `updated_at` string, date-time
    - `deleted_at` string, date-time, nullable
  - `metadata` object, required
    - `page` integer, required: Current page number
    - `limit` integer, required: Number of items per page
    - `total` integer, required: Total number of items

## Other responses

- `400`: Invalid request — missing or malformed fields, unsupported mime type or fileType, or empty file.
- `404`: The specified resource was not found

---

[API](https://skmtc.dev/autarc/apis/autarc-2-0-api.md) - [All operations](https://skmtc.dev/autarc/apis/autarc-2-0-api/llms.txt) - [OpenAPI document](https://skmtc.dev/autarc/apis/autarc-2-0-api/revisions/adfb20a40efc?raw)
