maksa

docs · api · openapi 3.1.0 · v1.0.0-preview

API reference

Sample specification describing the future public API. Endpoints mirror the OpenAI Files and Batches APIs with one addition: every job carries a deadline. This document is static; the marketing site does not call it.

Base URL https://api.maksa.com/v1. Authenticate with Authorization: Bearer mk_live_…. Endpoints marked public need no key. The raw spec is at /openapi.json.

Prices

get/pricespublicCurrent GPU-hour prices by provider and region

Parameters

gpu (query)
"H100" | "B200"
region (query)
string — Region id, e.g. is-cap-kef

Responses

200 Snapshot
generated_at*
string (date-time)
rows*
PriceRow[]
cheapest_now*
object
get/prices/historypublicDaily min / median / max for the last 90 days

Parameters

gpu* (query)
"H100" | "B200"

Responses

200 History
generated_at
string (date-time)
gpu
Gpu
days
object[]

Quotes

post/quotesPrice a job: where it would run, when it would finish, what it costs

Body · application/json

model*
string
tokens*
integer
deadline*
Tier

Responses

200 Quote, or a counter-offer when the deadline is infeasible
generated_at
string (date-time)
feasible
boolean
price
number
per_million
number
gpu
Gpu
gpu_hours
number
gpus
integer
placements
object[]
start_at
string (date-time)
finish_at
string (date-time)
deadline_at
string (date-time)
comparisons
object[]
saving_pct
number
counter_offer
object

Jobs

post/filesUpload a JSONL input file (OpenAI-compatible)

Body · multipart/form-data

file*
string (binary)
purpose*
"batch"

Responses

200 File object
id
string
bytes
integer
purpose
string
created_at
integer
post/batchesSubmit a job with a deadline

Identical to OpenAI's Batches API, plus `deadline`. `completion_window` is accepted and ignored when `deadline` is present.

Body · application/json

input_file_id*
string
endpoint*
"/v1/chat/completions" | "/v1/completions" | "/v1/embeddings"
deadline*
Tier
model
string
output_bucket
string
regions
string[] — Residency constraint: region ids or jurisdictions (us, eu, apac)
metadata
object

Responses

200 Batch
id
string
object
"batch"
status
"validating" | "queued" | "in_progress" | "delivering" | "completed" | "failed" | "cancelled"
deadline
Tier
deadline_at
string (date-time)
placement
object[]
eta
string (date-time)
receipt_id
string | null
get/batchesList jobs

Parameters

limit (query)
integer
after (query)
string

Responses

200 Page of batches
data
Batch[]
has_more
boolean
get/batches/{id}Job status, placement and ETA

Parameters

id* (path)
string

Responses

200 Batch
id
string
object
"batch"
status
"validating" | "queued" | "in_progress" | "delivering" | "completed" | "failed" | "cancelled"
deadline
Tier
deadline_at
string (date-time)
placement
object[]
eta
string (date-time)
receipt_id
string | null
post/batches/{id}/cancelCancel; you pay only for GPU-hours already used

Parameters

id* (path)
string

Responses

200 Batch
id
string
object
"batch"
status
"validating" | "queued" | "in_progress" | "delivering" | "completed" | "failed" | "cancelled"
deadline
Tier
deadline_at
string (date-time)
placement
object[]
eta
string (date-time)
receipt_id
string | null

Receipts

get/receipts/{id}publicThe receipt for a finished job

Parameters

id* (path)
string

Responses

200 Receipt
id*
string
customer*
string — Stable redacted name, e.g. otter-7
model*
string
tokens*
integer — Rounded to three significant figures
tier*
Tier
submitted_at*
string (date-time)
deadline_at*
string (date-time)
delivered_at*
string (date-time)
region*
string
gpu*
Gpu
gpu_hours*
number
cost*
number
would_have_cost*
number
saving*
number
deletion_at*
string (date-time)
field_digests*
object
hash*
string
generated_at*
string (date-time)
404 No such receipt

Account

post/account/exitExport everything, refund the balance, close the account

Body · application/json

export_to*
string
refund_balance
boolean

Responses

202 Exit scheduled
exit_id
string
refund_usd
number
refund_by
string (date)