Untuk agen AI: markdown halaman ini — /docs-content-en/errors/billing.md indeks dokumentasi — /llms.txt

Artikel dokumentasi saat ini tersedia dalam bahasa Inggris.

Billing and plans

A detailed breakdown of the codes the Vibecode API returns when it rejects an operation because of the account's balance or its Bitrix24 plan.

A summary table of all Vibecode API codes — Error codes.

`BILLING_EXHAUSTED` (402)

The billing account has gone into the red: the balance is negative, the grace period is used up, and there are no funds to cover the hourly charges for servers and agents. Requests that create or wake infrastructure are blocked until the account is topped up.

JSON
{
  "success": false,
  "error": {
    "code": "BILLING_EXHAUSTED",
    "message": "Balance depleted",
    "userMessage": "Your Vibecode balance is empty. Top up to resume creating servers.",
    "hint": "If user says they just upgraded, call GET /v1/me?refresh=tariff to force tariff recheck."
  }
}

Solution:

  • Top up the balance on the /billing/topup page.
  • After the top-up, re-read the account state — GET /v1/me?refresh=tariff.

`COMMERCIAL_PLAN_REQUIRED` (402)

The platform could not find the record of the Bitrix24 account the key is bound to, so it cannot check access. Returned when creating a server. The userMessage text suggests a commercial plan, but the refusal is not about the plan.

JSON
{
  "success": false,
  "error": {
    "code": "COMMERCIAL_PLAN_REQUIRED",
    "message": "Commercial Bitrix24 tariff required for server creation",
    "userMessage": "Vibecode servers require a commercial Bitrix24 plan. Plans are managed on the Bitrix24 side: https://www.bitrix24.com/prices/",
    "hint": "If user says they just upgraded, call GET /v1/me?refresh=tariff to force tariff recheck."
  }
}

Solution:

  • Buying or changing a plan does not clear this refusal.
  • Contact support.

Plan rejections (403)

Access to the operation is denied by the account's Bitrix24 plan, not by the key's permissions. The rejection arrives on application installation and on placement binding — including on a self-hosted account, where the key is issued by the connector module.

Code When it arrives error.details.upgradeUrl
INT_TARIFF_REQUIRED The account's access is governed by its Bitrix24 plan, and that plan is a free one: a commercial plan gives full access and a trial plan gives limited access. If the plan cannot be read, a separate code is returned — PORTAL_TARIFF_UNREADABLE not provided
JSON
{
  "success": false,
  "error": {
    "code": "INT_TARIFF_REQUIRED",
    "message": "Paid Bitrix24 plan required (international region)",
    "userMessage": "A paid Bitrix24 plan is required for access."
  }
}

Solution:

  • The rejection is final — repeating the request is pointless. Until the access condition changes on the account, the same call will keep being rejected.
  • The field error.details.upgradeUrl does not arrive with this code, so there is no ready-made upgrade page to send the user to: the account has a plan-based access model and a commercial Bitrix24 plan is required.
  • Branch in the client by error.code, not by the message text.

Existing-bot access. Access for a bot that is already registered on the account follows the same Bitrix24 plan model. After a plan upgrade, call GET /v1/me?refresh=tariff to refresh the access state, then retry the calls that were refused.

See also