Skip to Content
Costs

Estimate a job's cost

POST
/v1/costs/estimate

Full cost of a job per provider: compute + egress + storage, unknown components named.

Authorization

bearer
headerAuthorizationBearer <token>

Your API key: Authorization: Bearer opg_live_...

Header Parameters

OpenGrid-Version?"2026-11-03"

The API version to shape the response for. Default: the version pinned to your key.

Value in"2026-11-03"

Request Body

application/json
  1. body

A job. Start from a preset and override fields, or give gpu, count and hours. Terabytes are decimal (1 TB = 1,000 GB). Body at most 16384 bytes.

preset?string

A reference job (GET /v1/costs/presets).

Value in"R0""R1""R2""R3"
gpu?string

GPU id or alias.

count?integer
Range1 <= value <= 1024
hours?number
Range0.016667 <= value <= 8760
egress_tb?number

Give egress_tb or egress_gb, not both.

Range0 <= value <= 10000
egress_gb?number
Range0 <= value <= 10000000
storage_tb?number

Give storage_tb or storage_gb, not both.

Range0 <= value <= 10000
storage_gb?number
Range0 <= value <= 10000000
storage_class?string
Default"auto"
Value in"auto""shared_fs""block_storage""object_storage"
min_fabric_gbps?number

Only providers whose interconnect is at least this fast.

Range1 <= value <= 100000

Response Body

Success

application/json
  1. response
data*unknown

Field-level schema not published for this route yet; send a request to see one.

meta*

Present on every success. List routes add limit, next_cursor (null on the last page) and total.

Example Request
curl -X POST 'https://data.tryopengrid.com/v1/costs/estimate' \  -H 'Content-Type: application/json' \  -d '{  "gpu": "nvidia-h100-80gb-sxm5",  "count": 8,  "hours": 24,  "egress_tb": 2}'
Example Response
{  "data": null,  "meta": {    "as_of": "2019-08-24T14:15:22Z",    "api_version": "string",    "request_id": "string",    "next_cursor": "string",    "limit": 0,    "total": 0  }}