Skip to content
kenari.

Subscriptions (plans)

Subscription plans (optional) grant a rolling quota window for specific models, on top of the regular prepaid balance. While a window still has quota, a request draws from that quota instead of the balance. This page covers the mechanics. For a general overview of how billing works see Billing and Rupiah.

Every plan has up to three rolling quota windows, each optional (zero means unlimited for that window):

WindowPurpose
5 hoursshortest window, bounds short-term bursts
Weeklymid-length window
Monthlylongest window, the abuse ceiling

Quota is measured in real cost (Rupiah), not request count: a more expensive request (a larger model, a longer context) spends more quota. Windows are rolling (counted from activation, not a calendar month boundary) and roll forward on read, so no separate cron is needed to reset them.

When a window runs out, two account toggles decide what happens next:

  • PAYG (pay-as-you-go): the request keeps going, billed from the regular balance.
  • Free route: the request is redirected to a free model (kenari-free), at no cost.

With neither toggle on, a request is rejected with HTTP 429 plan_limit_reached until the next window rolls. Manage these toggles and switch plans from the dashboard.

Langganan shows the plan name and 30-day catalog usage in Rupiah. Limit Paket on Pemakaian shows the remaining 5-hour, weekly, and monthly windows as percentages with reset times. An agent holding a kn- key can use GET /v1/account/quota or the kenari_quota MCP tool to read the active plan name, usage and remaining quota for each finite window in whole Rupiah, reset times, and any active coupon.

plan is null when no plan can be used. Unlimited windows are omitted, and an active coupon is shown separately from the plan windows. Shared keys receive HTTP 403. See For AI agents for MCP setup.

Separate from the paid quota windows above, every plan can also carry its own daily quota for :free models (free_daily_quota). The plan card shows the figure when a plan sets one. Without it, the subscription default applies. This quota does not draw from the paid quota windows: both are counted and reset independently. See Billing and Rupiah for the daily quota mechanism and its tiers.

Each plan covers a specific list of models (scope_models). A request to a covered model draws from the quota windows above. A request to a model outside that list falls straight through to the regular PAYG balance, regardless of remaining window quota.

Some models, on some plans, exempt cache-read tokens from quota spend (fresh input tokens and output tokens still spend quota as usual). This is purely a quota multiplier, not a price cut: the catalog sell price is unchanged, and a PAYG or balance-funded request still pays the full price as before. Free cache only applies when a model is BOTH covered by the funding plan AND listed on that same plan’s free-cache list. One model can be free on one plan and not on another.

Every code goes in the same box. No door rejects a code for being the wrong kind: the box sits on the Saldo (balance) page, the Langganan (subscription) page and the Bagikan (share) page, and all three accept every kind of code.

Once a code is checked, what happens next is decided by what the code holds, not by which page you typed it on:

What the code holdsWhat happens
A plan discount or a trialThe code is held as a Kode aktif (Code active) banner, you are taken to the Langganan page, and every eligible plan card shows its discounted price inline
A top-up bonusThe code is held, you are taken to the Saldo page, and the bonus amount appears as you type an amount
Balance credit, plan access, or a referral codeThe box shows what the code holds first, then waits for you to press confirm. These are one-time and cannot be undone, so they never run on their own
An attribution codeIt was already recorded when you signed up, so the box only tells you that and asks for nothing
A task campaignThe box points you at that campaign’s card on the Bagikan page, where the submission form lives

The Kode aktif (Code active) banner survives navigation between the two pages and carries a remove control if you change your mind. One code is active at a time: entering a new one replaces the old one.

A code’s share link is kenari.id/code/CODE. Opening it while signed in checks the code and takes you straight to where it can be spent. Opening it without an account sends you to signup, and the code is attached the moment the account exists.

While the referral program is active, some plans grant cashback as a percent of everything a referred friend spends, including API usage, plan purchases, and other services, up to a monthly cap. Cashback accrues per day and lands as balance about 3 days after the spend. The friend you invited earns the same cashback on their own spending. Details, your cashback history, and your referral code live on the Undang teman (Invite a friend) card on the Bagikan page. The cashback row in the plan table below only appears while the program is active for that plan.

The plan data below is read directly from GET /api/plans (price, quota windows, covered models, free cache, cashback when active) and GET /api/public/pricing (each model’s normal rate for the free-cache row), so it always matches what is currently live.

Plans

PAYG

Loading plans...