Docs
BlogHomeStart building

Account

Balance, prices and account-wide settings.


Account-level endpoints: no project in the path.

#Get Account Info

GET/api/v1/vcaas/accountapi-keyFree

Your spendable credit balance. Check it before a large batch of prompts.

Response fields

FieldTypeDescription
data.creditsnumberTotal spendable balance (recurrentCredits + oneTimeCredits)
data.recurrentCreditsnumberPlan credits left this billing period (used first)
data.oneTimeCreditsnumberPurchased credits (never expire)
data.engineOptInobject | undefined{ eligible, mode }: whether new projects can be created with engineVersion: "v2"

Example request

curl -H "api-key: tlm_sk_your_key" \
  https://builder-api.totalum.app/api/v1/vcaas/account
Success · 200 OK
json
{ "errors": null, "data": { "credits": 425.5, "recurrentCredits": 100, "oneTimeCredits": 325.5, "engineOptIn": { "eligible": true, "mode": "default" } } }

Error codes

CodeHTTPMeaning
ACCOUNT_SERVICE_UNAVAILABLE503The balance cannot be read right now; retry in a few minutes

#Get Credit Costs

GET/api/v1/vcaas/credit-costsapi-keyFree

The price in credits of every fixed-price action, and the monthly fees. Read it at runtime instead of hard-coding prices. Prompts are not listed: they are metered (at least 3 credits each). The app's own usage (hosting, database, AI, e-mail…) is metered too: see Usage & Analytics.

Query parameters

FieldTypeRequiredDescription
enginestringNov2 (default for new accounts)

Response fields

FieldTypeDescription
data.creditCosts.CREATE_PROJECTnumberCreating a project
data.creditCosts.CREATE_DEPLOYMENTnumberPublishing
data.creditCosts.START_SERVERnumberRestarting the development environment
data.creditCosts.GET_SOURCE_CODEnumberDownloading the source code
data.creditCosts.RECOVER_VERSIONnumberRestoring a version
data.creditCosts.UPLOAD_FILEnumberUploading a file (free)
data.creditCosts.ADD_CUSTOM_DOMAINnumberAdding a custom domain
data.creditCosts.EXPORT_PROJECTnumberExporting a project
data.creditCosts.IMPORT_PROJECTnumberImporting a project
data.creditCosts.UPDATE_FILEnumberWriting a file (free)
data.creditCosts.REBUILD_PROJECTnumberRebuilding the preview
data.creditCosts.BACKUP_CREATE_MANUALnumberA manual database backup
data.creditCosts.BACKUP_RESTOREnumberRestoring a backup or a point in time
data.creditCosts.VISUAL_EDIT_APPLYnumberApplying a visual-edit batch
data.creditCosts.PAUSE_RESUMEnumberPausing, or resuming, a project
data.creditCosts.MONTHLY_PROJECT_FEEnumberA month a project is published on a paid plan
data.creditCosts.MONTHLY_HOSTING_FEEnumberThat project's hosting, the same month
data.creditCosts.MONTHLY_CUSTOM_DOMAIN_FEEnumberA month a custom domain is active

Example request

curl -H "api-key: tlm_sk_your_key" \
  "https://builder-api.totalum.app/api/v1/vcaas/credit-costs?engine=v2"
Success · 200 OK
json
{
  "errors": null,
  "data": {
    "creditCosts": {
      "CREATE_PROJECT": 2,
      "CREATE_DEPLOYMENT": 0.5,
      "START_SERVER": 2,
      "GET_SOURCE_CODE": 2,
      "RECOVER_VERSION": 2,
      "UPLOAD_FILE": 0,
      "ADD_CUSTOM_DOMAIN": 4,
      "EXPORT_PROJECT": 4,
      "IMPORT_PROJECT": 12,
      "UPDATE_FILE": 0,
      "REBUILD_PROJECT": 2,
      "BACKUP_CREATE_MANUAL": 2,
      "BACKUP_RESTORE": 4,
      "VISUAL_EDIT_APPLY": 0.6,
      "PAUSE_RESUME": 2,
      "MONTHLY_PROJECT_FEE": 1,
      "MONTHLY_HOSTING_FEE": 2,
      "MONTHLY_CUSTOM_DOMAIN_FEE": 3
    }
  }
}

#Get Data Residency

GET/api/v1/vcaas/account/data-residencyapi-keyFree

The account's default for new projects: global (each database placed nearest its users, with read copies elsewhere) or eu (databases created and kept inside the European Union only).

Response fields

FieldTypeDescription
data.dataResidencystring"global" or "eu"

Example request

curl -H "api-key: tlm_sk_your_key" \
  https://builder-api.totalum.app/api/v1/vcaas/account/data-residency
Success · 200 OK
json
{ "errors": null, "data": { "dataResidency": "global" } }
End of Get Data ResidencyNext endpointPUTSet Data Residency

#Set Data Residency

PUT/api/v1/vcaas/account/data-residencyapi-keyFree

Set the default for projects created from now on. Existing projects never move; a project's own dataResidency on create or launch wins. A key restricted to some projects cannot change it.

Body parameters

FieldTypeRequiredDescription
dataResidencystringYes"global" or "eu"

Response fields

FieldTypeDescription
data.dataResidencystringThe new default

Example request

curl -X PUT \
  -H "api-key: tlm_sk_your_key" \
  -H "Content-Type: application/json" \
  -d '{"dataResidency":"eu"}' \
  https://builder-api.totalum.app/api/v1/vcaas/account/data-residency
Success · 200 OK
json
{ "errors": null, "data": { "dataResidency": "eu" } }

Error codes

CodeHTTPMeaning
INVALID_DATA_RESIDENCY400Not "global" or "eu"
API_KEY_SCOPE_FORBIDDEN403This key cannot change account settings
End of Set Data Residency Back to top