API reference
Billing
Plans and Stripe.
Plan and bill
GET
/v1/billing The plan, whether billing is set up, and this period's usage and bill. An admin key or the owner's login.
Answer
planPlan |
plan.namestring |
plan.price_monthnumber |
plan.included_gb_monthsnumber |
plan.included_write_gbnumber |
plan.included_queriesinteger |
plan.included_writesinteger |
plan.included_embed_tokensinteger |
plan.per_gb_monthnumber |
plan.per_gb_writtennumber |
plan.per_million_queriesnumber |
plan.per_million_embed_tokensnumber |
plan.per_million_store_getsnumber |
plan.hard_limitboolean |
plan.qpsinteger |
plan.concurrencyinteger |
plan.storage_quota_gbnumber |
plan.read_inflight_mbinteger |
plan.sql_secondsinteger |
plan.sql_concurrencyinteger |
plan.query_secondsinteger |
plan.max_namespacesinteger |
plan.included_cpu_secondsnumber |
plan.included_store_getsinteger |
plan.included_out_gbnumber |
plan.max_creates_dayinteger |
plan.unverified_sharenumber |
stripeboolean |
customerboolean |
subscribedboolean |
usageUsage |
usage.daysUsageDay[] |
usage.days[].daystring |
usage.days[].queriesinteger |
usage.days[].writesinteger |
usage.days[].write_bytesinteger |
usage.days[].docs_writteninteger |
usage.days[].store_getsinteger |
usage.days[].store_bytesinteger |
usage.days[].mcp_queriesinteger |
usage.days[].mcp_writesinteger |
usage.days[].embed_tokensinteger |
usage.days[].cpu_msnumber |
usage.days[].out_bytesinteger |
usage.days[].gb_monthsnumber |
usage.period_startstringThis billing period's first day (UTC). |
usage.monthstring |
usage.queriesintegerSearches, counts, reads, warms and SQL queries (metered). |
usage.writesintegerDocuments written or deleted. |
usage.write_bytesinteger |
usage.docs_writteninteger |
usage.store_getsintegerObject-storage reads made by queries (cold queries cost more). |
usage.store_bytesinteger |
usage.mcp_queriesinteger |
usage.mcp_writesinteger |
usage.embed_tokensinteger |
usage.cpu_msnumberCPU queries used (metered; the free plan includes plan.included_cpu_seconds). |
usage.out_bytesintegerBytes of answers sent back (metered; the free plan includes plan.included_out_gb). |
usage.stored_bytesinteger |
usage.gb_monthsnumberStorage so far this period. |
usage.planPlan |
usage.plan.namestring |
usage.plan.price_monthnumber |
usage.plan.included_gb_monthsnumber |
usage.plan.included_write_gbnumber |
usage.plan.included_queriesinteger |
usage.plan.included_writesinteger |
usage.plan.included_embed_tokensinteger |
usage.plan.per_gb_monthnumber |
usage.plan.per_gb_writtennumber |
usage.plan.per_million_queriesnumber |
usage.plan.per_million_embed_tokensnumber |
usage.plan.per_million_store_getsnumber |
usage.plan.hard_limitboolean |
usage.plan.qpsinteger |
usage.plan.concurrencyinteger |
usage.plan.storage_quota_gbnumber |
usage.plan.read_inflight_mbinteger |
usage.plan.sql_secondsinteger |
usage.plan.sql_concurrencyinteger |
usage.plan.query_secondsinteger |
usage.plan.max_namespacesinteger |
usage.plan.included_cpu_secondsnumber |
usage.plan.included_store_getsinteger |
usage.plan.included_out_gbnumber |
usage.plan.max_creates_dayinteger |
usage.plan.unverified_sharenumber |
usage.billBillWhat this period costs so far, in dollars. |
usage.bill.basenumber |
usage.bill.storagenumber |
usage.bill.writesnumber |
usage.bill.queriesnumber |
usage.bill.embeddingnumber |
usage.bill.readsnumber |
usage.bill.usagenumber |
usage.bill.totalnumber |
Status codes
200OK |
401No key, or an unknown or revoked one. |
403The key's scope or namespaces don't allow it, or the tenant is suspended. |
curl -s https://api.skimmerdb.com/v1/billing \
-H "Authorization: Bearer $KEY"from skimmerdb import SkimmerDB
from skimmerdb._api.api.billing import get_billing
db = SkimmerDB() # SKIMMERDB_KEY
answer = get_billing.sync(client=db.api)import { SkimmerDB } from "skimmerdb";
import { getBilling } from "skimmerdb/api";
const db = new SkimmerDB(); // SKIMMERDB_KEY
const { data } = await getBilling({ client: db.client });Upgrade to pro (Stripe Checkout)
POST
/v1/billing/checkout A Stripe Checkout page subscribing the tenant to pro: open url in a browser.
Answer
urlstring |
Status codes
200OK |
401No key, or an unknown or revoked one. |
403The key's scope or namespaces don't allow it, or the tenant is suspended. |
501Billing isn't set up on this server. |
502Billing (Stripe) is unavailable right now. |
curl -s -X POST https://api.skimmerdb.com/v1/billing/checkout \
-H "Authorization: Bearer $KEY"from skimmerdb import SkimmerDB
from skimmerdb._api.api.billing import create_checkout
db = SkimmerDB() # SKIMMERDB_KEY
answer = create_checkout.sync(client=db.api)import { SkimmerDB } from "skimmerdb";
import { createCheckout } from "skimmerdb/api";
const db = new SkimmerDB(); // SKIMMERDB_KEY
const { data } = await createCheckout({ client: db.client });{
"url": "https://checkout.stripe.com/c/pay/cs_live_a1b2c3"
}Billing portal (Stripe)
POST
/v1/billing/portal The Stripe Customer Portal: cards, invoices, cancelling.
Answer
urlstring |
Status codes
200OK |
401No key, or an unknown or revoked one. |
403The key's scope or namespaces don't allow it, or the tenant is suspended. |
409Exists already, or not possible in this state. |
501Billing isn't set up on this server. |
502Billing (Stripe) is unavailable right now. |
curl -s -X POST https://api.skimmerdb.com/v1/billing/portal \
-H "Authorization: Bearer $KEY"from skimmerdb import SkimmerDB
from skimmerdb._api.api.billing import create_portal
db = SkimmerDB() # SKIMMERDB_KEY
answer = create_portal.sync(client=db.api)import { SkimmerDB } from "skimmerdb";
import { createPortal } from "skimmerdb/api";
const db = new SkimmerDB(); // SKIMMERDB_KEY
const { data } = await createPortal({ client: db.client });