Skip to content

API Keys

An API key is a randomly generated string that your application sends with every request to maKI. From the key, maKI knows who is asking and which models may be called; usage is logged per key.

You need a key as soon as you call maKI from your own code, an SDK, a notebook, or a tool like curl — anything outside the admin UI at /ui/.

Treat the key like a password:

  • Never check it into source code or a Git repository
  • Store it in an environment variable, a secret manager, or 1Password
  • If you suspect it has been compromised, request a revocation immediately
TypeAssignmentPersonal referenceExample
Personal keyIndividual personYes (indirectly via usage data)Philipp Hematty
Service keyApplication or team (≥3 persons)NoF13-Assistenzsystem
Batch keyAd-hoc bulk processingNoembedding-migration-2026

Contact the maKI administrator (philipp.hematty@uni-mannheim.de) with:

  • Name of the service or team
  • Contact person (technical contact)
  • Intended use (brief description)

If a key is suspected to be compromised:

  1. Report immediately to philipp.hematty@uni-mannheim.de
  2. Administrator disables the key via the LiteLLM admin UI (/ui)
  3. New key is issued and communicated to the contact person
  4. Old key is permanently deleted

Revoked keys become invalid immediately — in-flight requests are completed, new requests are rejected.

API keys are prioritized by type under GPU load:

Key typePriorityBehavior under load
PersonalHigh (1)Requests are served first from the queue
ServiceNormal (64)Requests wait behind personal requests
BatchLow (128)Requests wait behind personal and service requests

When the GPU is not saturated, all key types get full throughput — there is no artificial throttling. Prioritization only kicks in when all parallel slots for a model are occupied.

A model may have a limit on concurrent requests (max_parallel_requests); the table shows the current state. Excess requests are queued and served by priority. If the queue is long, requests receive HTTP 429 and should be retried with exponential backoff.

Loading model list …

There is currently no hard token limit per request. The models’ context windows apply:

Loading model list …

With exclusively local models, there are no per-key cost budgets. Usage is tracked for planning purposes (timestamp, model, token count).

Usage is tracked per key:

  • Requests per model and time period
  • Token consumption (input/output)
  • Error rates

This data is used for capacity planning and cost allocation, not behavioral monitoring (see Privacy Policy).