Skip to content

Infrastructure endpoints

2 endpoints at https://api.vaif.studio, generated from the API's OpenAPI document. The REST API page covers authentication, and All endpoints lists every group.

GET /infrastructure/sizes

Response 200 (application/json)
{
  plan: "agency" | "enterprise" | "entry" | "entry_plus" | "free" | "pro" | "starter" | "studio_plus";
  dedicatedDbEnabled: boolean;
  dedicatedStackEnabled: boolean;
  maxStorageGb: number;
  includedTier: null | "2xl" | "3xl" | "4xl" | "custom" | "high-memory-large" | "high-memory-medium" | "high-memory-xl" | "large" | "medium" | "micro" | "small" | "xl";
  hasFreeInstanceUsed: boolean;
  storageOverageCentsPerGbMonth: number;
  sizes: {
    instanceType: string;
    displayName: string;
    cpuCores: number;
    memoryMb: number;
    storageSizeGb: number;
    maxConnections: number;
    iops: number;
    monthlyPriceCents: number;
    description: string;
    gradeLabel: string;
  }[];
  tiers: {
    tier: "2xl" | "3xl" | "4xl" | "custom" | "high-memory-large" | "high-memory-medium" | "high-memory-xl" | "large" | "medium" | "micro" | "small" | "xl";
    displayName: string;
    vcpus: number | "shared";
    ramGb: number;
    storageGb: number;
    maxConnections: number;
    gcpInstanceType: string;
    estimatedMonthlyCostCents: number;
    description: string;
    haAvailable: boolean;
    haMonthlyCostMultiplier: number;
    category: "enterprise" | "high-memory" | "standard";
  }[];
}

POST /infrastructure/poll-status

Response 200 (application/json)
{
  ok: boolean;
  message: string;
  updated: number;
} | {
  ok: boolean;
  updated: number;
  results: any[];
  message: string;
} | {
  ok: boolean;
  updated: number;
  results: {
    instanceId: string;
    oldStatus: string;
    newStatus: string;
  }[];
}