{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-docs/api-reference/sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":["api-container","api-content","endpoint","api-examples","code-group","tabs","tab"]},"redocly_category":"API Reference","searchWeight":120,"type":"markdown"},"seo":{"title":"List compute offerings","description":"Complete API reference and documentation for Freddy AI-powered backend system by Aitronos","llmstxt":{"hide":false,"sections":[{"title":"Table of contents","includeFiles":["**/*"],"excludeFiles":[]}],"excludeFiles":[]}},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"list-compute-offerings","__idx":0},"children":["List compute offerings"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Lists every place Forge can run a server — Aitronos servers, billed to your organization, and each cloud provider where your organization can connect its own account — with your organization's ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["status"]}," for each, what its servers can do and, for your own accounts, the connect form. Render labels, order and help text from this response. While Forge cloud compute is not switched on for your organization, ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["offerings"]}," is empty rather than refused, so a client can always render the page. It acts for a person: it requires a bearer token whose user holds the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["use_forge"]}," capability in the acting organization, and an organization API key, which carries no user, is refused."]},{"$$mdtype":"Tag","name":"ApiContainer","attributes":{},"children":[{"$$mdtype":"Tag","name":"ApiContent","attributes":{},"children":[{"$$mdtype":"Tag","name":"Endpoint","attributes":{"method":"GET","path":"https://api.aitronos.com/v1/forge/compute/catalog"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["This endpoint takes no parameters."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"query-parameters","__idx":1},"children":["Query Parameters"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["organization_id"]}]}," string ",{"$$mdtype":"Tag","name":"em","attributes":{"style":{"color":"#9ca3af !important","fontWeight":"500 !important","fontStyle":"normal !important"}},"children":["optional"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The organization to act in. Defaults to your current organization. You must be an active member of it, or the request is refused with ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["403 ORGANIZATION_ACCESS_DENIED"]},"."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"headers","__idx":2},"children":["Headers"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["X-Organization-Id"]}]}," string ",{"$$mdtype":"Tag","name":"em","attributes":{"style":{"color":"#9ca3af !important","fontWeight":"500 !important","fontStyle":"normal !important"}},"children":["optional"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The same as ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["organization_id"]},", as a header. When both are sent, the query parameter wins."]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"returns","__idx":3},"children":["Returns"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["catalog_version"]}]}," string — version of the offerings, locations and sizes. Send it back inside the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["quote"]}," of a create or resume; a quote from another version is refused with ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["FORGE_COMPUTE_PRICE_CHANGED"]},"."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["offerings"]}]}," array — the offerings offered to you, in ascending ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["order"]}," (the configured catalog position; ties by ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["id"]},"). An offering that is not offered to you right now is omitted rather than listed as ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["blocked"]},": it is switched off, switched off for your organization, or offered to Aitronos staff only — by default only Aitronos servers are offered; every bring-your-own provider is switched off until enabled. Getting options for, connecting, creating or resuming an omitted offering is refused with ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["403 FORGE_COMPUTE_OFFERING_NOT_OFFERED"]},". Each offering:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["id"]}]}," string — the id used in every other call: ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["aitronos"]},", or a provider such as ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["hetzner"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["digitalocean"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["vultr"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["scaleway"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["exoscale"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["linode"]}," or ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["upcloud"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["kind"]}]}," string — ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["managed"]}," (Aitronos servers, billed to your organization) or ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["byo"]}," (your own account, billed to you by the provider)."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["label"]}]}," string — display name. The Aitronos offering is always \"Aitronos servers\"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["description"]}]}," string — one sentence on who runs and bills the servers."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["order"]}]}," integer — sort key, as configured by Aitronos."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["status"]}]}," string — ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["available"]}," (Aitronos servers can be used), ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["not_connected"]}," (connect an account first), ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["connected"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["credential_invalid"]}," (the provider stopped accepting the stored account; connect it again) or ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["blocked"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["blocked_reason"]}]}," string or ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["null"]}," — why the offering cannot be used, as a sentence to show; ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["null"]}," unless ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["status"]}," is ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["blocked"]},". An offering is blocked when this environment cannot serve it; for Aitronos servers, also when the organization's spending limit (or the share of it set aside for cloud servers) cannot pay one hour of the cheapest Aitronos server, when the spending could not be checked just now, when Aitronos servers are at capacity (\"Aitronos servers are at capacity right now. Try again later.\") or their capacity could not be checked, or when the price of Aitronos servers could not be read (\"Prices for Aitronos servers could not be read just now, so none can be started. Try again in a few minutes.\") — for example \"Your organization has reached its spending limit, so no Aitronos server can be started. An organization admin can raise the limit.\"; and for your own accounts, when you lack ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["manage_forge"]}," and nobody in your organization has connected the account yet."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["blocked_action"]}]}," object — an action that lifts the block, to show beside ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["blocked_reason"]},". Present only for Aitronos servers blocked by the organization's spending limit (never for a capacity block, which nothing in your organization lifts), and only when you may change that limit (the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["manage_users"]}," capability); omitted otherwise. ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["kind"]}," is ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["raise_spend_limit"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["label"]}," the button text (",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Raise the limit"]},") and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["url"]}," the app route where the limit is edited (",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["/usage"]},")."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["capabilities"]}]}," object — ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["park"]}," string or ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["false"]},": how a server can be ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/docs/api-reference/forge-compute/park-host"},"children":["parked"]}," (stopped and kept) and resumed later. ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["snapshot"]},": the server is removed and its disk kept as a snapshot, charged per GB-month while parked. ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["poweroff"]},": the server is powered off and kept as it is; the provider may keep charging for it. ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["false"]}," when a server can only be deleted; such a server never lists ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["park"]}," in its ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["actions"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["credential"]}]}," object — the connect form, present only for ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["byo"]}," offerings (omitted for ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["aitronos"]},"):",{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["fields"]}]}," array — the inputs in display order, every one required. Each has ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["id"]}," (the key to send it under), ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["label"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["secret"]}," (",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["true"]},": show a password input), ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["help"]}," and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["help_url"]}," (the provider's own page, or ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["null"]},")."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["recommendation"]}]}," string or ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["null"]}," — advice on which account or project to connect."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["egress_addresses"]}]}," array of strings — present only for providers whose API keys accept calls only from listed addresses: add every address to the key's access list before connecting. Empty when this environment has no fixed outgoing address; the field's ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["help"]}," then says to allow all IPv4 addresses on the key's access list instead."]}]}]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"catalog_version\": \"fc-3b8e1f0a9c42\",\n  \"offerings\": [\n    {\n      \"id\": \"aitronos\",\n      \"kind\": \"managed\",\n      \"label\": \"Aitronos servers\",\n      \"description\": \"Billed to your organization as Forge cloud compute.\",\n      \"order\": 0,\n      \"status\": \"available\",\n      \"blocked_reason\": null,\n      \"capabilities\": {\"park\": \"snapshot\"}\n    },\n    {\n      \"id\": \"hetzner\",\n      \"kind\": \"byo\",\n      \"label\": \"Hetzner Cloud\",\n      \"description\": \"Runs in your own Hetzner project. Hetzner bills you directly.\",\n      \"order\": 10,\n      \"status\": \"not_connected\",\n      \"blocked_reason\": null,\n      \"capabilities\": {\"park\": \"snapshot\"},\n      \"credential\": {\n        \"fields\": [\n          {\n            \"id\": \"api_token\",\n            \"label\": \"API token\",\n            \"secret\": true,\n            \"help\": \"In your Hetzner project open Security → API tokens and create a token with Read & Write permission.\",\n            \"help_url\": \"https://docs.hetzner.com/cloud/api/getting-started/generating-api-token/\"\n          }\n        ],\n        \"recommendation\": \"Use a project that holds only Forge's servers.\"\n      }\n    },\n    {\n      \"id\": \"linode\",\n      \"kind\": \"byo\",\n      \"label\": \"Akamai/Linode\",\n      \"description\": \"Runs in your own Akamai/Linode account. Akamai bills you directly.\",\n      \"order\": 60,\n      \"status\": \"connected\",\n      \"blocked_reason\": null,\n      \"capabilities\": {\"park\": false},\n      \"credential\": {\n        \"fields\": [\n          {\n            \"id\": \"api_token\",\n            \"label\": \"Personal access token\",\n            \"secret\": true,\n            \"help\": \"Open your profile → API Tokens and create a token with Linodes and Firewalls set to Read/Write and Images to Read Only.\",\n            \"help_url\": \"https://techdocs.akamai.com/cloud-computing/docs/manage-personal-access-tokens\"\n          }\n        ],\n        \"recommendation\": \"Use a project that holds only Forge's servers.\"\n      }\n    }\n  ]\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"errors","__idx":4},"children":["Errors"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Status"},"children":["Status"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Code"},"children":["Code"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"When"},"children":["When"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["401"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["AUTHENTICATION_REQUIRED"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["No credential, or a credential with no user (an organization API key)."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["403"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["ORGANIZATION_ACCESS_DENIED"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["organization_id"]}," or ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["X-Organization-Id"]}," names an organization you are not an active member of."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["403"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["INSUFFICIENT_PERMISSIONS"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The user does not hold ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["use_forge"]}," in the acting organization."]}]}]}]}]}]},{"$$mdtype":"Tag","name":"ApiExamples","attributes":{},"children":[{"$$mdtype":"Tag","name":"CodeGroup","attributes":{"mode":"dropdown"},"children":[{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"bash","data-title":"cURL","header":{"title":"cURL","controls":{"copy":{}}},"source":"curl \"https://api.aitronos.com/v1/forge/compute/catalog\" \\\n  -H \"Authorization: Bearer $ACCESS_TOKEN\"\n","lang":"bash"},"children":[]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"python","data-title":"Python SDK","header":{"title":"Python SDK","controls":{"copy":{}}},"source":"# pip install aitronos-sdk\n#\n# The Python SDK does not expose a typed `forge_compute` namespace yet, so call\n# the endpoint directly with the same bearer token you would pass to `Aitronos(...)`.\nimport httpx\n\nACCESS_TOKEN = \"your-access-token\"\n\ncatalog = httpx.get(\n    \"https://api.aitronos.com/v1/forge/compute/catalog\",\n    headers={\"Authorization\": f\"Bearer {ACCESS_TOKEN}\"},\n).json()\nfor offering in catalog[\"offerings\"]:\n    print(offering[\"id\"], offering[\"status\"], offering[\"blocked_reason\"])\n","lang":"python"},"children":[]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"python","data-title":"Python","header":{"title":"Python","controls":{"copy":{}}},"source":"import os\nimport requests\n\ntoken = os.environ[\"AITRONOS_TOKEN\"]\nresponse = requests.get(\n    \"https://api.aitronos.com/v1/forge/compute/catalog\",\n    headers={\"Authorization\": f\"Bearer {token}\"},\n)\ncatalog = response.json()\nprint(catalog[\"catalog_version\"], [o[\"id\"] for o in catalog[\"offerings\"]])\n","lang":"python"},"children":[]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"javascript","data-title":"JavaScript","header":{"title":"JavaScript","controls":{"copy":{}}},"source":"const response = await fetch(\n  \"https://api.aitronos.com/v1/forge/compute/catalog\",\n  { headers: { Authorization: `Bearer ${process.env.AITRONOS_TOKEN}` } },\n);\nconst catalog = await response.json();\nfor (const offering of catalog.offerings) {\n  console.log(offering.id, offering.status);\n}\n","lang":"javascript"},"children":[]}]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Response:"]}]},{"$$mdtype":"Tag","name":"Tabs","attributes":{"size":"medium"},"children":[{"$$mdtype":"Tag","name":"div","attributes":{"label":"200 OK","disable":false},"children":[{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"catalog_version\": \"fc-3b8e1f0a9c42\",\n  \"offerings\": [\n    {\n      \"id\": \"aitronos\",\n      \"kind\": \"managed\",\n      \"label\": \"Aitronos servers\",\n      \"description\": \"Billed to your organization as Forge cloud compute.\",\n      \"order\": 0,\n      \"status\": \"available\",\n      \"blocked_reason\": null,\n      \"capabilities\": {\"park\": \"snapshot\"}\n    },\n    {\n      \"id\": \"vultr\",\n      \"kind\": \"byo\",\n      \"label\": \"Vultr\",\n      \"description\": \"Runs in your own Vultr account. Vultr bills you directly.\",\n      \"order\": 30,\n      \"status\": \"blocked\",\n      \"blocked_reason\": \"Ask an organization admin to connect Vultr.\",\n      \"capabilities\": {\"park\": \"snapshot\"},\n      \"credential\": {\n        \"fields\": [\n          {\n            \"id\": \"api_key\",\n            \"label\": \"API key\",\n            \"secret\": true,\n            \"help\": \"Open Account → API, enable API access and copy the key. The key only answers the addresses on its Access Control list. Add 198.51.100.21, 198.51.100.22 to that list.\",\n            \"help_url\": \"https://docs.vultr.com/platform/other/api/manage-api-access-control\"\n          }\n        ],\n        \"recommendation\": \"Use a project that holds only Forge's servers.\",\n        \"egress_addresses\": [\"198.51.100.21\", \"198.51.100.22\"]\n      }\n    }\n  ]\n}\n","lang":"json"},"children":[]}]},{"$$mdtype":"Tag","name":"div","attributes":{"label":"200 OK (switched off)","disable":false},"children":[{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"catalog_version\": \"fc-3b8e1f0a9c42\",\n  \"offerings\": []\n}\n","lang":"json"},"children":[]}]},{"$$mdtype":"Tag","name":"div","attributes":{"label":"403 Forbidden","disable":false},"children":[{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"INSUFFICIENT_PERMISSIONS\",\n    \"message\": \"You don't have permission to perform this action.\",\n    \"system_message\": \"Missing required capability: use_forge\",\n    \"type\": \"authorization_error\",\n    \"status\": 403,\n    \"details\": {\"required_capability\": \"use_forge\"},\n    \"trace_id\": \"3f1c9a52-7d4e-4b8a-9c21-6e0d5f7a8b34\",\n    \"timestamp\": \"2026-09-28T09:00:00Z\"\n  }\n}\n","lang":"json"},"children":[]}]}]}]}]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"related-resources","__idx":5},"children":["Related Resources"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/docs/api-reference/forge-compute/introduction"},"children":["Forge cloud compute overview"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/docs/api-reference/forge-compute/list-billing-organizations"},"children":["List billing organizations"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/docs/api-reference/forge-compute/choose-billing-organization"},"children":["Choose the default billing organization"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/docs/api-reference/forge-compute/list-project-groups"},"children":["List project groups"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/docs/api-reference/forge-compute/put-project-group"},"children":["Register or update a project group"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/docs/api-reference/forge-compute/delete-project-group"},"children":["Delete a project group"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/docs/api-reference/forge-compute/list-offerings"},"children":["List compute offerings"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/docs/api-reference/forge-compute/get-offering-options"},"children":["Get offering options"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/docs/api-reference/forge-compute/resolve-offering-size"},"children":["Resolve a free size"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/docs/api-reference/forge-compute/list-credentials"},"children":["List connected accounts"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/docs/api-reference/forge-compute/put-credential"},"children":["Connect a cloud account"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/docs/api-reference/forge-compute/delete-credential"},"children":["Disconnect a cloud account"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/docs/api-reference/forge-compute/create-host"},"children":["Create a server"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/docs/api-reference/forge-compute/list-hosts"},"children":["List servers"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/docs/api-reference/forge-compute/list-my-hosts"},"children":["List your servers in every organization"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/docs/api-reference/forge-compute/get-host"},"children":["Get a server"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/docs/api-reference/forge-compute/get-host-usage"},"children":["Get a server's daily cost and uptime"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/docs/api-reference/forge-compute/list-host-intervals"},"children":["List a server's running intervals"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/docs/api-reference/forge-compute/list-host-events"},"children":["List a server's event history"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/docs/api-reference/forge-compute/report-progress"},"children":["Report a setup step"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/docs/api-reference/forge-compute/report-host-key"},"children":["Report the server's host key"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/docs/api-reference/forge-compute/report-ready"},"children":["Mark a server ready"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/docs/api-reference/forge-compute/report-activity"},"children":["Report activity"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/docs/api-reference/forge-compute/park-host"},"children":["Park a server"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/docs/api-reference/forge-compute/resume-host"},"children":["Resume a server"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/docs/api-reference/forge-compute/delete-host"},"children":["Delete a server"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/docs/api-reference/forge-compute/revoke-host"},"children":["Revoke a server"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/docs/api-reference/forge-compute/get-settings"},"children":["Get compute settings"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/docs/api-reference/forge-compute/update-settings"},"children":["Update compute settings"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/docs/api-reference/forge-compute/get-limits"},"children":["Get spend limits"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/docs/api-reference/forge-compute/update-organization-limits"},"children":["Change the organization's limits"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/docs/api-reference/forge-compute/update-my-limit"},"children":["Set your own limit"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/docs/api-reference/forge-compute/list-member-limits"},"children":["List member limits"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/docs/api-reference/forge-compute/update-member-limit"},"children":["Set a member's limit"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/docs/api-reference/forge-compute/delete-orphan"},"children":["Delete a leftover resource"]}]}]}]},"headings":[{"value":"List compute offerings","id":"list-compute-offerings","depth":1},{"value":"Query Parameters","id":"query-parameters","depth":4},{"value":"Headers","id":"headers","depth":4},{"value":"Returns","id":"returns","depth":2},{"value":"Errors","id":"errors","depth":2},{"value":"Related Resources","id":"related-resources","depth":2}],"frontmatter":{"title":"List compute offerings","keywords":["forge","cloud compute","catalog","offerings","providers"],"seo":{"title":"List compute offerings"}},"lastModified":"2026-10-26T18:32:31.577Z","pagePropGetterError":{"message":"","name":""}},"slug":"/docs/api-reference/forge-compute/list-offerings","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}