Documentation

Manage Billing

Switch between monthly and yearly billing plans for your app subscriptions.

Change your app’s subscription plan from monthly ($5/month) to yearly ($50/year) or vice versa.

Prerequisites: An active subscription for the app. See the Create & Deploy guide to set one up.

Steps

  1. Check current subscription via account details:

    curl https://api.orbitkit.io/api/account \
      -H "Authorization: Bearer $TOKEN"
    
    let url = URL(string: "https://api.orbitkit.io/api/account")!
    var request = URLRequest(url: url)
    request.setValue("Bearer \(token)", forHTTPHeaderField: "Authorization")
    
    let (data, _) = try await URLSession.shared.data(for: request)
    let account = try JSONDecoder().decode(Account.self, from: data)
    
    const res = await fetch("https://api.orbitkit.io/api/account", {
      headers: { Authorization: `Bearer ${token}` },
    });
    const account = await res.json();
    
  2. Change plan:

    curl -X POST https://api.orbitkit.io/api/apps/$APP_ID/change-plan \
      -H "Authorization: Bearer $TOKEN" \
      -H "Content-Type: application/json" \
      -d '{"plan": "yearly"}'
    
    var request = URLRequest(url: URL(string: "https://api.orbitkit.io/api/apps/\(appId)/change-plan")!)
    request.httpMethod = "POST"
    request.setValue("Bearer \(token)", forHTTPHeaderField: "Authorization")
    request.setValue("application/json", forHTTPHeaderField: "Content-Type")
    request.httpBody = try JSONEncoder().encode(["plan": "yearly"])
    
    let (data, _) = try await URLSession.shared.data(for: request)
    
    const res = await fetch(
      `https://api.orbitkit.io/api/apps/${appId}/change-plan`,
      {
        method: "POST",
        headers: {
          Authorization: `Bearer ${token}`,
          "Content-Type": "application/json",
        },
        body: JSON.stringify({ plan: "yearly" }),
      }
    );
    

    Stripe prorates the charge automatically. The response confirms the new plan type.

Notes

  • Switching from monthly to yearly saves $10/year per app
  • Proration is calculated by Stripe — you’re only charged the difference for the remaining period
  • See the Subscriptions & Billing endpoint reference for all billing operations
  • For dashboard-based billing management, see the Billing & Subscriptions docs