Skip to content

GET /api/v1/me

Read-only snapshot of the authenticated user. Use this to display balance, current pricing tier, and trial status. All monetary fields are integer EUR cents (100 cents = €1.00). Manage account settings such as auto top-up in the Developers Portal — they are exposed read-only here for reference.

Call the endpoint

bash
curl -sS -H "Authorization: Bearer $SYBILION_API_TOKEN" \
  https://api.sybilion.dev/api/v1/me
python
import os

from sybilion import Client

client = Client(token=os.environ["SYBILION_API_TOKEN"])

me = client.me()
trial_left = me.signup_trial.remaining_eur_cents if me.signup_trial else 0
print(
    "tier:", me.api_usage_tier,
    "balance:", me.available_eur_cents,
    "trial_left:", trial_left,
)
go
package main

import (
	"context"
	"fmt"
	"log"
	"os"

	"go.sybilion.dev/sybilion"
)

func main() {
	c := sybilion.New(sybilion.Options{
		Token: os.Getenv("SYBILION_API_TOKEN"),
	})

	me, err := c.Me(context.Background())
	if err != nil {
		log.Fatal(err)
	}
	fmt.Printf("tier=%d balance=%d\n",
		me.GetApiUsageTier(), me.GetAvailableEurCents())
}
r
library(sybilion)

cl <- sybilion_client(token = Sys.getenv("SYBILION_API_TOKEN"))

me <- cl$raw$ApiV1MeGet()$content
trial_left <- if (!is.null(me$signup_trial)) me$signup_trial$remaining_eur_cents else 0
cat("tier:", me$api_usage_tier, "balance:", me$available_eur_cents,
    "trial_left:", trial_left, "\n")
java
import com.sybilion.Client;
import com.sybilion.Options;

Client c = new Client(Options.builder().token(System.getenv("SYBILION_API_TOKEN")).build());

var me = c.defaultApi().apiV1MeGet();
System.out.printf("tier=%d balance=%d%n", me.getApiUsageTier(), me.getAvailableEurCents());

Response

json
{
  "user_id": "1f2a8b3e-4c5d-46d7-9a01-2b3c4d5e6f70",
  "balance_eur_cents": 1234,
  "available_eur_cents": 1134,
  "api_usage_tier": 1,
  "lifetime_paid_cents": 5000,
  "payment_count": 1,
  "has_ever_paid": true,
  "euro_tranches": [
    {
      "id": "9c8d7e6f-1a2b-3c4d-5e6f-7a8b9c0d1e2f",
      "source": "stripe",
      "initial_eur_cents": 5000,
      "remaining_eur_cents": 3865,
      "expires_at": "2027-04-30T10:05:00Z",
      "created_at": "2026-04-30T10:05:00Z"
    }
  ],
  "signup_trial": {
    "granted_at": "2026-04-15T10:00:00Z",
    "initial_eur_cents": 100,
    "remaining_eur_cents": 0,
    "expires_at": "2026-04-30T10:00:00Z"
  },
  "auto_recharge": {
    "enabled": false,
    "below_eur_cents": 0,
    "target_eur_cents": 0,
    "monthly_cap_cents": 0,
    "meter_cents": 0,
    "has_stripe_customer": true,
    "meter_month": null
  }
}

Field reference

Top-level

FieldMeaning
user_idStable UUID for the caller.
balance_eur_centsLedger balance in EUR cents (top-ups, charges, refunds, grants).
available_eur_centsbalance_eur_cents minus active holds for in-flight async jobs, in EUR cents.
api_usage_tierYour current pricing tier level. Drives rate-limit and concurrency caps — see Tiers.
lifetime_paid_centsYour all-time top-up total in EUR cents.
payment_countNumber of successful top-ups on your account.
has_ever_paidtrue once your first top-up settles.

When async forecast jobs are running, holds reserve part of the balance until each job settles or fails; then available_eur_cents moves back toward balance_eur_cents.

euro_tranches[]

Active grants that still have a positive balance and have not expired (remaining_eur_cents > 0 AND expires_at > now()). Tranches are consumed in expires_at ASC order.

FieldMeaning
idUUID of the grant.
sourceOne of signup_trial, stripe, partner, legacy. Other labels may appear for custom grants.
initial_eur_centsAmount initially granted in the tranche, in EUR cents.
remaining_eur_centsAmount left after charges and holds, in EUR cents.
expires_atRFC3339 timestamp. Always present — every tranche has an expiry (top-ups are typically valid for 1 year).
created_atRFC3339 timestamp the grant was inserted.

signup_trial

Present only when the caller received a free trial grant on first authentication; the field is omitted otherwise.

FieldMeaning
granted_atRFC3339 timestamp the trial was granted.
initial_eur_centsAmount granted at signup, in EUR cents.
remaining_eur_centsTrial amount left, in EUR cents (drops to 0 after expiry sweep).
expires_atRFC3339 timestamp or omitted.

auto_recharge

Read-only snapshot of auto top-up settings (enabled boolean plus the configured trigger / target / monthly cap). The exact field set may evolve. Configure auto top-up from the Developers Portal — there is no public API or SDK to change it.

Common errors

CodeCauseWhat to do
401Missing or invalid bearer token.Check the API key and the Authorization: Bearer header.

[email protected] · Slack · Discord (links in Community page & header icons)