---
title: "Quote a job on a node"
method: GET
path: "/executors/{executor_uuid}/quote"
tags: ["General APIs with JWT"]
---

# Quote a job on a node

`GET /executors/{executor_uuid}/quote`

## Request

- Base URL: `https://lium.io/api`
- URL: `https://lium.io/api/executors/{executor_uuid}/quote`
- Auth: one of:
  - HTTP bearer
  - API key in header `X-API-Key`
  - none

What renting this node for `hours` costs, line by line, at the rates billing charges: compute (price_per_gpu x gpu_count per hour, billed per second), volume and backup storage (per GB-hour stored). Egress is billed at what AWS charges and has no line amount. Nothing is reserved; the rent's own checks (GPU splitting, availability) still apply.

## Path parameters

- `executor_uuid` string, uuid, required

## Query parameters

- `hours` number, required
- `gpu_count` integer, nullable: Default: the node's free GPUs (what `lium up <node>` rents); every GPU when none is free
- `volume_gb` number
- `backup_gb` number

## Response `200`

Successful Response

- JobQuoteResponse
  - `executor_id` string, uuid, required
  - `gpu_count` integer, required
  - `hours` number, required
  - `price_per_hour` number, required: The pod's hourly price if rented now: price_per_gpu x gpu_count
  - `lines` JobQuoteLine[], required
    - `item` 'compute' | 'volume' | 'backup' | 'egress', required
    - `unit` 'hour' | 'GB-hour' | 'GB', required
    - `rate_usd` number, nullable, required: USD per unit; null when the charge has no fixed rate
    - `quantity` number, required
    - `amount_usd` number, nullable, required: rate_usd x quantity; null when it cannot be quoted
    - `note` string, required
  - `total_usd` number, required: Sum of the quoted lines; egress is not included
  - `pod_balance_floor_usd` number, required: 15 minutes of price_per_hour. A rent needs a balance of more than this plus 15 minutes of each open pod
  - `rent_balance_required_usd` number, nullable: Signed in: the amount the payer's balance must be more than for this rent, pod_balance_floor_usd plus 15 minutes of each open pod; 0 for an account the floor exempts. Null without authentication
  - `allocation` JobQuoteAllocation: What the pod gets on this node for `gpu_count` GPUs: the rent path's own split.
    - `share` number, required: gpu_count / the node's GPUs; CPU, RAM and disk follow it
    - `cpu_count` integer, nullable, required: CPU cores inside the pod
    - `ram_gb` number, nullable, required: RAM inside the pod, GiB (the host keeps its reserve)
    - `local_volume_gb` integer, nullable, required: Local volume (/root) size if rented now; null when the node cannot cap disk per pod
    - `storage_gb` integer, nullable, required: Container writable layer quota if rented now; null as local_volume_gb

## Other responses

- `400`: gpu_count above the node's GPUs
- `404`: Unknown or unpriced node
- `422`: Validation Error

## Changes

- **2026-10-19** `6291d24b3060`: 3 info
  - the endpoint scheme security `APIKeyHeader` was added to the API
  - the endpoint scheme security `JwtAccessBearer` was added to the API
  - added the optional property `rent_balance_required_usd` to the response with the `200` status
- **2026-10-19** `560887f90689`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/lium/apis/lium-backend-api/changes/executors/:executor_uuid/quote/get.md)

---

[API](https://skmtc.dev/lium/apis/lium-backend-api.md) · [All operations](https://skmtc.dev/lium/apis/lium-backend-api/llms.txt) · [OpenAPI document](https://skmtc.dev/lium/apis/lium-backend-api/revisions/a682d3ef1e07?raw)
