Marks a server the client finished setting up as ready: transient becomes false, step is ready and ready_at is stamped. The server's own host key must have been reported first; until then the call is refused with 409 FORGE_COMPUTE_INVALID_STATE and details.action ready:host_key_missing. Marking a server that is already ready returns it unchanged.
For a server resumed from a park, becoming ready removes the stored copy of the park in the background, which ends its storage charge.
Allowed while the server is awaiting_client, securing, installing or pairing. Requires a bearer token (or API key) whose principal holds the use_forge capability in the acting organization and created the server or holds manage_forge, and Forge cloud compute switched on for the organization.
host_id string required
The server's id: the fchost_ id returned in id, or the UUID sent when the server was created (any letter case, with or without hyphens).
organization_id string optional
The organization the server belongs to: send its organization.id (from List your servers in every organization). Defaults to your current organization, where a server of another organization is not found. 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.
This endpoint takes no body.
200 OK with the server object in ready.
{
"id": "fchost_5d0c2b9e7a414f3c9e8b1a6d2f4c7e90",
"offering_id": "aitronos",
"kind": "managed",
"name": "build-box",
"organization": {"id": "org_3c1e9a7b5d2f4e8a9b0c6d1e2f3a4b5c", "name": "Acme Engineering"},
"user_id": "usr_7f3a9c2e1b8d4e6fa0c5b3d9e2f1a4c7",
"project_group": {"id": "fpgrp_4b9e2c7a1d3f4e8a9c0b6d2e1f3a5b7c", "client_id": "grp-clients", "name": "Clients"},
"location_id": "eu-central",
"location_label": "Germany",
"size_id": "std-16",
"size_label": "16 vCPU · 64 GB",
"state": "ready",
"state_label": "Ready",
"transient": false,
"step": "ready",
"step_started_at": "2026-09-28T09:03:41.502318Z",
"state_changed_at": "2026-09-28T09:03:41.502318Z",
"failure": null,
"ipv4": "203.0.113.24",
"ipv6": "2001:db8:4f2a::1",
"ssh_port": 22,
"ssh_user": "forge",
"bootstrap_host_key_pub": null,
"host_key_pub": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIExampleServerHostKeyForDocumentationOnly0000",
"price": {
"hourly": "0.83",
"monthly_cap": "520.30",
"currency": "CHF",
"source": "aitronos",
"includes_vat": false,
"catalog_version": "fc-3b8e1f0a9c42",
"quoted_at": "2026-09-28T09:00:00.184066Z",
"parked_per_gb_month": "0.0269",
"price_verified": true
},
"month_to_date": "0.83",
"notice": null,
"idle_reminder": null,
"reconcile_flags": null,
"actions": ["park", "delete", "revoke"],
"created_at": "2026-09-28T09:00:00.184066Z",
"ready_at": "2026-09-28T09:03:41.502318Z",
"parked_at": null,
"parked_expires_at": null,
"deleted_at": null,
"revoked_at": null,
"revoke_reason": null,
"last_activity_at": null
}| Status | Code | When |
|---|---|---|
| 401 | AUTHENTICATION_REQUIRED | No valid credential. |
| 403 | ORGANIZATION_ACCESS_DENIED | organization_id or X-Organization-Id names an organization you are not an active member of. |
| 403 | INSUFFICIENT_PERMISSIONS | The caller does not hold use_forge in the acting organization. |
| 403 | FORGE_COMPUTE_DISABLED | Forge cloud compute is not switched on for the organization. |
| 404 | FORGE_COMPUTE_HOST_NOT_FOUND | No server with this id in the acting organization, or it was created by someone else and the caller does not hold manage_forge. |
| 409 | FORGE_COMPUTE_INVALID_STATE | The host key was not reported yet (details.action ready:host_key_missing), or the server is not being set up (details.action ready). |
| 422 | INVALID_ID_FORMAT | host_id is neither a UUID nor fchost_<32 hex>. |
- Bash
- Python
- Python
- JavaScript
curl -X POST "https://api.aitronos.com/v1/forge/compute/hosts/fchost_5d0c2b9e7a414f3c9e8b1a6d2f4c7e90/ready" \
-H "Authorization: Bearer $ACCESS_TOKEN"Response:
{
"id": "fchost_5d0c2b9e7a414f3c9e8b1a6d2f4c7e90",
"offering_id": "aitronos",
"kind": "managed",
"name": "build-box",
"organization": {"id": "org_3c1e9a7b5d2f4e8a9b0c6d1e2f3a4b5c", "name": "Acme Engineering"},
"user_id": "usr_7f3a9c2e1b8d4e6fa0c5b3d9e2f1a4c7",
"project_group": {"id": "fpgrp_4b9e2c7a1d3f4e8a9c0b6d2e1f3a5b7c", "client_id": "grp-clients", "name": "Clients"},
"location_id": "eu-central",
"location_label": "Germany",
"size_id": "std-16",
"size_label": "16 vCPU · 64 GB",
"state": "ready",
"state_label": "Ready",
"transient": false,
"step": "ready",
"step_started_at": "2026-09-28T09:03:41.502318Z",
"state_changed_at": "2026-09-28T09:03:41.502318Z",
"failure": null,
"ipv4": "203.0.113.24",
"ipv6": "2001:db8:4f2a::1",
"ssh_port": 22,
"ssh_user": "forge",
"bootstrap_host_key_pub": null,
"host_key_pub": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIExampleServerHostKeyForDocumentationOnly0000",
"price": {
"hourly": "0.83",
"monthly_cap": "520.30",
"currency": "CHF",
"source": "aitronos",
"includes_vat": false,
"catalog_version": "fc-3b8e1f0a9c42",
"quoted_at": "2026-09-28T09:00:00.184066Z",
"parked_per_gb_month": "0.0269",
"price_verified": true
},
"month_to_date": "0.83",
"notice": null,
"idle_reminder": null,
"reconcile_flags": null,
"actions": ["park", "delete", "revoke"],
"created_at": "2026-09-28T09:00:00.184066Z",
"ready_at": "2026-09-28T09:03:41.502318Z",
"parked_at": null,
"parked_expires_at": null,
"deleted_at": null,
"revoked_at": null,
"revoke_reason": null,
"last_activity_at": null
}- 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