For AI agents: markdown of this page — /docs-content-en/infra/providers/regions.md documentation index — /llms.txt

Provider regions

GET /v1/infra/providers/:providerId/regions

Returns the list of data centers (zones) where the provider can place virtual machines. The id value is used as the region parameter when creating a server. By default, choose the first element of the array — it is the platform's current fallback zone with a reserve of free IPs.

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

Terminal
curl -H "X-Api-Key: YOUR_API_KEY" \
  https://vibecode.bitrix24.com/v1/infra/providers/bitrix-cloud/regions

curl — OAuth application

Terminal
curl -H "X-Api-Key: YOUR_APP_KEY" \
  -H "Authorization: Bearer USER_SESSION_TOKEN" \
  https://vibecode.bitrix24.com/v1/infra/providers/bitrix-cloud/regions

JavaScript — personal key

javascript
const res = await fetch(
  'https://vibecode.bitrix24.com/v1/infra/providers/bitrix-cloud/regions',
  { headers: { 'X-Api-Key': 'YOUR_API_KEY' } }
)
const { data: regions } = await res.json()
const defaultRegion = regions[0].id  // current platform fallback

JavaScript — OAuth application

javascript
const res = await fetch(
  'https://vibecode.bitrix24.com/v1/infra/providers/bitrix-cloud/regions',
  {
    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 regions
data[].id string Region ID, passed as region when creating a server (e.g. bc-eu-central)
data[].name string Display name for the user (e.g. "Frankfurt (EU Central)")
data[].country string Two-letter ISO 3166-1 country code (DE)

Response example

JSON
{
  "success": true,
  "data": [
    { "id": "bc-eu-central", "name": "Frankfurt (EU Central)", "country": "DE" },
    { "id": "bc-eu-west", "name": "Ireland (EU West)", "country": "IE" },
    { "id": "bc-us-east", "name": "N. Virginia (US East)", "country": "US" },
    { "id": "bc-us-west", "name": "Oregon (US West)", "country": "US" },
    { "id": "bc-ap-southeast", "name": "Singapore (AP Southeast)", "country": "SG" }
  ]
}

Error response example

404 — unknown providerId:

JSON
{
  "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

  • Switching to a backup zone when IP addresses are exhausted. If the requested zone has run out of free IPs at the provider, when creating a server the platform automatically tries the next zones in the array in the order they appear and, in the creation response, sets region to the one the server actually landed in. The switch to a backup zone is recorded in the audit log as a SERVER_ZONE_FALLBACK event with the original and actual zones.
  • The response is not paginated.

See also

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

Terminal
curl -H "X-Api-Key: YOUR_API_KEY" \
  https://vibecode.bitrix24.com/v1/infra/providers

curl — OAuth application

Terminal
curl -H "X-Api-Key: YOUR_APP_KEY" \
  -H "Authorization: Bearer USER_SESSION_TOKEN" \
  https://vibecode.bitrix24.com/v1/infra/providers

JavaScript — personal key

javascript
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

javascript
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

JSON
{
  "success": true,
  "data": [
    {
      "id": "bitrix-cloud",
      "name": "Bitrix24 Cloud",
      "available": true
    }
  ]
}

Error response example

401 — API key not provided:

JSON
{
  "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