For AI agents: markdown of this page — /docs-content-en/infra/providers.md documentation index — /llms.txt
Providers and catalogs
Four reference endpoints that return lists of cloud providers and the plans, regions, and OS images available on them. Call them before creating a server to obtain the correct identifiers for provider, plan, region, image in POST /v1/infra/servers.
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.