Lists what can be ordered from one offering — its locations, its sizes with a price per location, the location and size to preselect, the price of a parked server — and every word the create form shows: the labels, the proposed server name, each choice's summary and button text, and the lines under the button. A client renders these strings as they are and builds none itself. Show the person the price of the location and size they pick, then send that price back as the quote of Create a server.
Free sizing (Aitronos servers). Besides the fixed sizes, vCPU and memory can be picked separately from cpu_choices and memory_choices. The server is then the cheapest one in the location with at least that many vCPUs and at least that much memory; resolutions holds that answer for every offered pair, so look it up rather than computing it, and Resolve a free size answers any other pair. When no server has both, the entry's machine_type_id is null and its note names the largest server there.
For Aitronos servers (aitronos) the locations are regions labelled by country, the sizes are Aitronos size classes, and each hourly is what your organization is charged per started hour, in CHF, excluding VAT, with your organization's individual agreement already applied. For your own account (byo) the locations, sizes and prices are the provider's own, in the provider's currency, read with your connected account and cached for 10 minutes; the provider bills you for them. A price that cannot be read right now is null with price_verified: false, never 0, and such a size cannot be created until it can.
It acts for a person: it requires a bearer token whose user holds the use_forge capability in the acting organization, and Forge cloud compute switched on for the organization.
offering_id string required
The offering id from List compute offerings: aitronos, or a bring-your-own provider such as hetzner or digitalocean. 1 to 64 characters.
organization_id string optional
The organization to act in. Defaults to your current organization. You must be an active member of it, or the request is refused with 403 ORGANIZATION_ACCESS_DENIED.
X-Organization-Id string optional
The same as organization_id, as a header. When both are sent, the query parameter wins.
catalog_version string — send it back inside the quote of a create or resume.
title string — the offering's name to show over the form, e.g. Aitronos servers.
description string or null — one line under the title.
free_sizing boolean — true when vCPU and memory can be picked separately (machine_types is not empty). Aitronos servers only.
fields object — every label of the create form: location, size, cpu, memory, name, change, cancel, create, creating (the button while the request runs), alternatives (the heading over other choices after a refusal), and name_max_length (63).
currency string — ISO 4217 code of every price in the response: CHF for Aitronos servers, the provider's own currency for your own account.
price_source string — who sets and bills the prices: aitronos (billed to your organization), or the offering id of the provider that bills you.
locations array — where servers can run, each with id, label, detail (a second line, or null), country (ISO 3166-1 alpha-2), available (at least one size can be ordered there now), order, option_label (the text of the location picker's entry, e.g. Finland · Not available here) and proposed_name (the server name to propose while this location is selected: the location's name and the lowest number none of your organization's servers uses, e.g. germany-2).
sizes array — smallest first, each with id, label, vcpu, memory_gb, disk_gb (or null), arch (x86_64 or arm64), dedicated_cpu, order and prices: one entry per location the size is offered in, with:
location_idstring — the location the price applies to.hourlystring ornull— price per started hour as a decimal string incurrency, excluding VAT;nullwhen it could not be read.monthly_capstring ornull— the most one server of this size is charged in a calendar month.includes_vatboolean — alwaysfalse.availableboolean — the size can be ordered in this location now.price_verifiedboolean —falsewhenhourlycould not be read.summarystring — the choice in one line, e.g.16 vCPU · 64 GB · Germany.option_labelstring — the text of the size picker's entry, with its price or why it cannot be ordered.messagestring — why this choice cannot be created right now; present only then.button_labelstring — the create button for this choice, e.g.Create · 16 vCPU · 64 GB · Germany · CHF 0.83/h, at most CHF 520.30/month.can_createboolean — whether the create button is enabled for this choice.
machine_types array — free sizing: every server that can be picked by vCPU and memory, smallest first, in the same shape as sizes. A machine type of the same vCPU and memory as a size has that size's id (std-16); the others are named after their shape (ded-x86-48c-192g). Empty for a bring-your-own offering.
cpu_choices, memory_choices arrays — free sizing: the values to offer, each {value, label} ({"value": 16, "label": "16 vCPU"}, {"value": 64, "label": "64 GB"}).
resolutions array — free sizing: for every location × cpu_choices value × memory_choices value, {location_id, vcpu, memory_gb, machine_type_id, note}. machine_type_id is the machine_types entry to create (its price is in that entry), or null when no server there has both; note is a sentence to show (why a larger server was chosen, or the largest server there), or null for an exact match.
defaults object — location_id and size_id to preselect (each may be null); name, the server name to propose for that location; and for free sizing vcpu, memory_gb and machine_type_id to preselect (null without free sizing).
parked_storage object — per_gb_month (price per GB of a parked server per month as a decimal string, or null when it is not charged this way or unknown) and note (how parking works for this offering).
notes array of strings — sentences to show next to the prices.
footer_notes array — the lines to show under the create button, in order, each {id, text}: billed_to (who is billed), auto_park (after how many idle hours a server parks itself, from your compute settings; left out when it never does), park and connected_as (bring-your-own), then note_1, note_2, … (the notes).
Abbreviated: one of the four sizes, one of the six machine types and two of the 72 resolutions.
{
"catalog_version": "fc-3b8e1f0a9c42",
"currency": "CHF",
"price_source": "aitronos",
"title": "Aitronos servers",
"description": "Billed to your organization as Forge cloud compute.",
"free_sizing": true,
"fields": {
"location": "Location",
"size": "Size",
"cpu": "CPU",
"memory": "Memory",
"name": "Name",
"change": "Change",
"cancel": "Cancel",
"create": "Create",
"creating": "Creating…",
"alternatives": "Available instead",
"name_max_length": 63
},
"locations": [
{
"id": "eu-central",
"label": "Germany",
"detail": "Falkenstein or Nuremberg",
"country": "DE",
"available": true,
"order": 0,
"option_label": "Germany",
"proposed_name": "germany-1"
},
{
"id": "eu-north",
"label": "Finland",
"detail": "Helsinki",
"country": "FI",
"available": true,
"order": 1,
"option_label": "Finland",
"proposed_name": "finland-1"
}
],
"sizes": [
{
"id": "std-16",
"label": "16 vCPU · 64 GB",
"vcpu": 16,
"memory_gb": 64,
"disk_gb": 360,
"arch": "x86_64",
"dedicated_cpu": true,
"order": 2,
"prices": [
{
"location_id": "eu-central",
"hourly": "0.83",
"monthly_cap": "520.30",
"includes_vat": false,
"available": true,
"price_verified": true,
"summary": "16 vCPU · 64 GB · Germany",
"option_label": "16 vCPU · 64 GB · CHF 0.83/h",
"button_label": "Create · 16 vCPU · 64 GB · Germany · CHF 0.83/h, at most CHF 520.30/month",
"can_create": true
},
{
"location_id": "eu-north",
"hourly": "0.83",
"monthly_cap": "520.30",
"includes_vat": false,
"available": true,
"price_verified": true,
"summary": "16 vCPU · 64 GB · Finland",
"option_label": "16 vCPU · 64 GB · CHF 0.83/h",
"button_label": "Create · 16 vCPU · 64 GB · Finland · CHF 0.83/h, at most CHF 520.30/month",
"can_create": true
}
]
}
],
"machine_types": [
{
"id": "ded-x86-48c-192g",
"label": "48 vCPU · 192 GB",
"vcpu": 48,
"memory_gb": 192,
"disk_gb": 960,
"arch": "x86_64",
"dedicated_cpu": true,
"order": 5,
"prices": [
{
"location_id": "eu-central",
"hourly": "2.58",
"monthly_cap": "1607.04",
"includes_vat": false,
"available": true,
"price_verified": true,
"summary": "48 vCPU · 192 GB · Germany",
"option_label": "48 vCPU · 192 GB · CHF 2.58/h",
"button_label": "Create · 48 vCPU · 192 GB · Germany · CHF 2.58/h, at most CHF 1,607.04/month",
"can_create": true
},
{
"location_id": "eu-north",
"hourly": "2.58",
"monthly_cap": "1607.04",
"includes_vat": false,
"available": true,
"price_verified": true,
"summary": "48 vCPU · 192 GB · Finland",
"option_label": "48 vCPU · 192 GB · CHF 2.58/h",
"button_label": "Create · 48 vCPU · 192 GB · Finland · CHF 2.58/h, at most CHF 1,607.04/month",
"can_create": true
}
]
}
],
"cpu_choices": [
{"value": 2, "label": "2 vCPU"},
{"value": 4, "label": "4 vCPU"},
{"value": 8, "label": "8 vCPU"},
{"value": 16, "label": "16 vCPU"},
{"value": 32, "label": "32 vCPU"},
{"value": 48, "label": "48 vCPU"}
],
"memory_choices": [
{"value": 8, "label": "8 GB"},
{"value": 16, "label": "16 GB"},
{"value": 32, "label": "32 GB"},
{"value": 64, "label": "64 GB"},
{"value": 128, "label": "128 GB"},
{"value": 192, "label": "192 GB"}
],
"resolutions": [
{"location_id": "eu-central", "vcpu": 16, "memory_gb": 64, "machine_type_id": "std-16", "note": null},
{
"location_id": "eu-central",
"vcpu": 16,
"memory_gb": 192,
"machine_type_id": "ded-x86-48c-192g",
"note": "No server in Germany has exactly 16 vCPU and 192 GB, so this is the cheapest one with at least that much."
}
],
"defaults": {
"location_id": "eu-central",
"size_id": "std-16",
"name": "germany-1",
"vcpu": 16,
"memory_gb": 64,
"machine_type_id": "std-16"
},
"parked_storage": {"per_gb_month": "0.0269", "note": "A parked server is stored as a snapshot."},
"notes": ["Billed per started hour, never more than the monthly cap.", "Prices exclude VAT."],
"footer_notes": [
{
"id": "billed_to",
"text": "Billed to Acme AG as Forge cloud compute. Park keeps your work and stops the compute charge."
},
{"id": "auto_park", "text": "Parks on its own after 1 h without use."},
{"id": "note_1", "text": "Billed per started hour, never more than the monthly cap."},
{"id": "note_2", "text": "Prices exclude VAT."}
]
}| Status | Code | When |
|---|---|---|
| 401 | AUTHENTICATION_REQUIRED | No credential, or a credential with no user (an organization API key). |
| 403 | ORGANIZATION_ACCESS_DENIED | organization_id or X-Organization-Id names an organization you are not an active member of. |
| 403 | INSUFFICIENT_PERMISSIONS | The user does not hold use_forge in the acting organization. |
| 403 | FORGE_COMPUTE_DISABLED | Forge cloud compute is not switched on for the organization. |
| 403 | FORGE_COMPUTE_OFFERING_BLOCKED | The offering cannot be used in this environment. message and details.blocked_reason are the catalog's blocked_reason. |
| 403 | FORGE_COMPUTE_OFFERING_NOT_OFFERED | The offering is not offered to you right now: switched off, switched off for your organization, or offered to Aitronos staff only. message names the offering (for example "DigitalOcean is not offered right now.") and details.offering_id is its id. |
| 404 | FORGE_COMPUTE_OFFERING_NOT_FOUND | No offering has this id. |
| 422 | FORGE_COMPUTE_CREDENTIAL_MISSING | A bring-your-own offering whose account is not connected. |
| 422 | FORGE_COMPUTE_CREDENTIAL_REJECTED | The provider refused the connected account. Connect it again. |
| 502 | FORGE_COMPUTE_PROVIDER_UNREACHABLE | The provider did not answer. Try again in a moment. |
- Bash
- Python
- Python
- JavaScript
curl "https://api.aitronos.com/v1/forge/compute/offerings/aitronos/options" \
-H "Authorization: Bearer $ACCESS_TOKEN"Response:
{
"catalog_version": "fc-3b8e1f0a9c42",
"currency": "USD",
"price_source": "digitalocean",
"title": "DigitalOcean",
"description": "Runs in your own DigitalOcean team. DigitalOcean bills you directly.",
"free_sizing": false,
"fields": {
"location": "Location",
"size": "Size",
"cpu": "CPU",
"memory": "Memory",
"name": "Name",
"change": "Change",
"cancel": "Cancel",
"create": "Create",
"creating": "Creating…",
"alternatives": "Available instead",
"name_max_length": 63
},
"locations": [
{
"id": "ams3",
"label": "Amsterdam 3",
"detail": "Amsterdam",
"country": "NL",
"available": true,
"order": 0,
"option_label": "Amsterdam 3",
"proposed_name": "amsterdam-3-1"
},
{
"id": "fra1",
"label": "Frankfurt 1",
"detail": "Frankfurt",
"country": "DE",
"available": true,
"order": 1,
"option_label": "Frankfurt 1",
"proposed_name": "frankfurt-1-1"
}
],
"sizes": [
{
"id": "c-8",
"label": "c-8 · 8 vCPU · 16 GB",
"vcpu": 8,
"memory_gb": 16,
"disk_gb": 100,
"arch": "x86_64",
"dedicated_cpu": true,
"order": 0,
"prices": [
{
"location_id": "ams3",
"hourly": "0.2500",
"monthly_cap": "168.00",
"includes_vat": false,
"available": true,
"price_verified": true,
"summary": "c-8 · 8 vCPU · 16 GB · Amsterdam 3",
"option_label": "c-8 · 8 vCPU · 16 GB · USD 0.25/h",
"button_label": "Create · c-8 · 8 vCPU · 16 GB · Amsterdam 3 · USD 0.25/h (DigitalOcean price)",
"can_create": true
},
{
"location_id": "fra1",
"hourly": "0.2500",
"monthly_cap": "168.00",
"includes_vat": false,
"available": true,
"price_verified": true,
"summary": "c-8 · 8 vCPU · 16 GB · Frankfurt 1",
"option_label": "c-8 · 8 vCPU · 16 GB · USD 0.25/h",
"button_label": "Create · c-8 · 8 vCPU · 16 GB · Frankfurt 1 · USD 0.25/h (DigitalOcean price)",
"can_create": true
}
]
}
],
"machine_types": [],
"cpu_choices": [],
"memory_choices": [],
"resolutions": [],
"defaults": {
"location_id": "fra1",
"size_id": "c-8",
"name": "frankfurt-1-1",
"vcpu": null,
"memory_gb": null,
"machine_type_id": null
},
"parked_storage": {"per_gb_month": "0.0600", "note": "A parked server is stored as a snapshot."},
"notes": ["Prices are DigitalOcean's own, billed by DigitalOcean to your account.", "Prices exclude VAT."],
"footer_notes": [
{"id": "billed_to", "text": "DigitalOcean bills you directly; nothing is added to Acme AG's usage."},
{"id": "park", "text": "Park keeps your work and stops the server's hourly bill."},
{"id": "connected_as", "text": "Connected as ops@acme.example."},
{"id": "note_1", "text": "Prices are DigitalOcean's own, billed by DigitalOcean to your account."},
{"id": "note_2", "text": "Prices exclude VAT."}
]
}- Forge cloud compute overview
- List billing organizations
- Choose the default billing organization
- List project groups
- Register or update a project group
- Delete a project group
- List compute offerings
- Get offering options
- Resolve a free size
- List connected accounts
- Connect a cloud account
- Disconnect a cloud account
- Create a server
- List servers
- List your servers in every organization
- Get a server
- Get a server's daily cost and uptime
- List a server's running intervals
- List a server's event history
- Report a setup step
- Report the server's host key
- Mark a server ready
- Report activity
- Park a server
- Resume a server
- Delete a server
- Revoke a server
- Get compute settings
- Update compute settings
- Get spend limits
- Change the organization's limits
- Set your own limit
- List member limits
- Set a member's limit
- Delete a leftover resource
- Get pricing sheet