For AI agents: markdown of this page — /docs-content-en/infra/providers/images.md documentation index — /llms.txt
Provider OS images
GET /v1/infra/providers/:providerId/images
Returns the list of operating system images a server can be launched from. The id value is used as the image parameter when creating a server. Bitrix24 Cloud supports only Ubuntu 24.04 LTS — the image in the response is regularly updated to the latest build with security patches.
Parameters
| Parameter | In | Type | Req. | Description |
|---|---|---|---|---|
providerId |
path | string | yes | Provider ID from GET /v1/infra/providers, e.g. bitrix-cloud |
Examples
curl — personal key
curl -H "X-Api-Key: YOUR_API_KEY" \
https://vibecode.bitrix24.com/v1/infra/providers/bitrix-cloud/images
curl — OAuth application
curl -H "X-Api-Key: YOUR_APP_KEY" \
-H "Authorization: Bearer USER_SESSION_TOKEN" \
https://vibecode.bitrix24.com/v1/infra/providers/bitrix-cloud/images
JavaScript — personal key
const res = await fetch(
'https://vibecode.bitrix24.com/v1/infra/providers/bitrix-cloud/images',
{ headers: { 'X-Api-Key': 'YOUR_API_KEY' } }
)
const { data: images } = await res.json()
const defaultImage = images[0].id // current Ubuntu 24.04 LTS build
JavaScript — OAuth application
const res = await fetch(
'https://vibecode.bitrix24.com/v1/infra/providers/bitrix-cloud/images',
{
headers: {
'X-Api-Key': 'YOUR_APP_KEY',
'Authorization': 'Bearer USER_SESSION_TOKEN',
},
}
)
Response fields
| Field | Type | Description |
|---|---|---|
success |
boolean | Always true on success |
data |
array | Array of images |
data[].id |
string | Image ID, passed as image when creating a server. Changes when the build is updated — always take the current one from the response, do not hardcode it |
data[].name |
string | Image name for display to the user |
data[].family |
string | Image family (ubuntu-2404-lts) |
data[].version |
string | Build version |
Response example
{
"success": true,
"data": [
{
"id": "fd83esfomhq25p2ono90",
"name": "Ubuntu 24.04 lts v20260410040341",
"family": "ubuntu-2404-lts",
"version": "ubuntu.24.04.lts.v20260413"
}
]
}
Error response example
404 — unknown providerId:
{
"success": false,
"error": {
"code": "NO_CREDENTIALS",
"message": "No credentials configured for provider nonexistent"
}
}
Errors
| HTTP | Code | Description |
|---|---|---|
| 401 | MISSING_API_KEY |
The X-Api-Key header was not provided |
| 401 | INVALID_API_KEY |
Invalid or expired API key |
| 404 | NO_CREDENTIALS |
A provider with this providerId is not configured on the platform |
| 429 | RATE_LIMITED |
The platform's overall request limit was exceeded |
Full list of common API errors — Errors.
Known specifics
- Do not cache the
idon the client. The image ID changes with every build update — request a fresh one before each server creation. - Other OS families are not supported. The cloud-init scripts that configure the tunnel and runtimes are designed specifically for Ubuntu 24.04 LTS. Debian, CentOS, and other distributions do not work, even if their images are directly available in Bitrix24 Cloud.
- The response is not paginated.
See also
- List of providers —
GET /v1/infra/providers. - Provider plans —
GET /v1/infra/providers/:providerId/plans. - Provider regions —
GET /v1/infra/providers/:providerId/regions. - Creating a server — the
imageparameter.
List of providers
GET /v1/infra/providers
Returns the list of cloud providers on which servers can be created. The available field shows whether the platform has credentials configured for the provider and whether it is ready to create new virtual machines (VMs).
Examples
curl — personal key
curl -H "X-Api-Key: YOUR_API_KEY" \
https://vibecode.bitrix24.com/v1/infra/providers
curl — OAuth application
curl -H "X-Api-Key: YOUR_APP_KEY" \
-H "Authorization: Bearer USER_SESSION_TOKEN" \
https://vibecode.bitrix24.com/v1/infra/providers
JavaScript — personal key
const res = await fetch('https://vibecode.bitrix24.com/v1/infra/providers', {
headers: { 'X-Api-Key': 'YOUR_API_KEY' },
})
const { data } = await res.json()
const active = data.filter(p => p.available)
console.log('Available providers:', active.map(p => p.id))
JavaScript — OAuth application
const res = await fetch('https://vibecode.bitrix24.com/v1/infra/providers', {
headers: {
'X-Api-Key': 'YOUR_APP_KEY',
'Authorization': 'Bearer USER_SESSION_TOKEN',
},
})
const { data } = await res.json()
Response fields
| Field | Type | Description |
|---|---|---|
success |
boolean | Always true on success |
data |
array | Array of providers |
data[].id |
string | Provider ID to pass in provider when creating a server (e.g. bitrix-cloud) |
data[].name |
string | Display name for the user |
data[].available |
boolean | true if the provider is configured on the platform and ready to create servers. false — creation will fail with a NO_CREDENTIALS error |
Response example
{
"success": true,
"data": [
{
"id": "bitrix-cloud",
"name": "Bitrix24 Cloud",
"available": true
}
]
}
Error response example
401 — API key not provided:
{
"success": false,
"error": {
"code": "MISSING_API_KEY",
"message": "API key required. Pass via X-Api-Key header."
}
}
Errors
| HTTP | Code | Description |
|---|---|---|
| 401 | MISSING_API_KEY |
The X-Api-Key header was not provided |
| 401 | INVALID_API_KEY |
Invalid or expired API key |
| 403 | SCOPE_DENIED |
The key lacks the vibe:infra scope (added automatically — report it in feedback if you hit this) |
| 429 | RATE_LIMITED |
The platform's overall request limit was exceeded |
Full list of common API errors — Errors.
Known specifics
- The response is not paginated — the list is small and returned in full.
See also
- Provider plans —
GET /v1/infra/providers/:providerId/plans. - Provider regions —
GET /v1/infra/providers/:providerId/regions. - Provider OS images —
GET /v1/infra/providers/:providerId/images. - Creating a server — where the chosen
providergoes.