Jeder erfolgreiche Aufruf bringt dem aufrufenden Konto Erfahrung, gewichtet danach, was der Aufruf war. Gemeint ist die Tiefe der Integration und nicht das Verkehrsaufkommen: Aufrufe, die man erst macht, wenn man etwas gebaut hat, zaehlen ein Vielfaches einer Listenseite.
Was ein Aufruf wert ist
Aus derselben Tabelle gelesen, aus der die API schreibt, damit diese Seite ihr nicht hinterherlaufen kann. 20 Operationen liegen ueber dem Grundwert; alles andere bringt 1.
Operation
Was es ist
Wert
GET/v1/attachments/{id}/firearms
List firearms an attachment fits
8
GET/v1/firearms/{id}/attachments
List attachments that fit a firearm
8
GET/v1/firearms/{id}/interfaces
Get a firearm's mount interfaces
8
GET/v1/firearms/head-to-head
Compare two firearms head to head
8
GET/v1/firearms/resolve
Resolve a name to one firearm
8
POST/v1/firearms/resolve
Resolve many names at once
8
GET/v1/ammunition/{id}/ballistics
Compute a ballistic table
5
GET/v1/calibers/{id}/firearms
List firearms in a caliber
5
GET/v1/calibers/ballistics
Get a caliber ballistic profile
5
GET/v1/calibers/compare
Compare calibers
5
GET/v1/firearms/{id}/calculate
Calculate ballistics for a firearm
5
GET/v1/firearms/{id}/similar
Find similar firearms
5
GET/v1/firearms/{id}/variants
List variants
5
GET/v1/firearms/compare
Compare firearms
5
GET/v1/firearms/search
Full-text search
3
GET/v1/ammunition/{id}
Get an ammunition load
2
GET/v1/attachments/{id}
Get an attachment
2
GET/v1/calibers/{id}
Get a caliber
2
GET/v1/firearms/{id}
Get a firearm
2
GET/v1/manufacturers/{id}
Get a manufacturer
2
Jede andere Operation
Listenseiten eingeschlossen. Paginierung baut eine Kopie auf, was in Ordnung ist und nichts beweist.
1
Wer zaehlt
Erfahrung erkennt an, was gebaut wurde, also zaehlen die Clients, die bauen. Die Art wird aus dem User-Agent gelesen, so wie das Anfrageprotokoll sie festhaelt.
Client
Zaehlt
Was es ist
sdk-typescript
ja
Das TypeScript-SDK.
sdk-python
ja
Das Python-SDK.
mcp
ja
Der gehostete MCP-Server.
http-tool
ja
curl, Postman, HTTPie: jemand probiert es wirklich aus.
http-library
ja
Ein HTTP-Client im eigenen Code.
unknown
ja
Eine Laufzeit ohne Agent. Weit eher eine Integration als ein Browser.
browser
nein
Ein Browser bringt nichts.
Zwei weitere Aufrufe bringen nichts. Ein 304 Not Modified bringt nichts, aus demselben Grund, aus dem er kein Kontingent kostet: die hoefliche Integration darf nicht die teure sein, und Caching ist genau das, was uns lieb ist. Ein fehlgeschlagener Aufruf bringt ebenfalls nichts, damit Raten bei Ids sich nicht lohnt.
Die Kurve
Die Stufe folgt allein aus der Gesamterfahrung. Jede Stufe kostet etwas mehr als die vorige, die ersten kommen also schnell und die spaeteren sind verdient. Die Tagesspalte ist der Weg bei voller Ausschoepfung von 500 pro Tag, die eine echte Integration nie erreicht.
Stufe
Beginnt bei
Kostet
Tage am Limit
1
0
0
0
2
50
50
1
3
200
150
1
4
450
250
1
5
800
350
2
6
1,250
450
3
7
1,800
550
4
8
2,450
650
5
9
3,200
750
7
10
4,050
850
9
Breite und Serie
Zwei Zahlen neben der Stufe, beide gezaehlt statt verdient. Es gibt 145 dokumentierte Operationen.
Breite
operationsUsed ist die Zahl der mindestens einmal aufgerufenen Operationen, gemessen an operationsAvailable. Ein naechtlicher Lauf zaehlt sie aus dem Anfrageprotokoll, eine heute erstmals aufgerufene Operation erscheint also morgen. Auf dem Anfragepfad kostet das nichts, und genau darum geht es.
Die Serie
streakDays sind aufeinanderfolgende Tage mit Aufrufen, daysActive ist die Gesamtzahl. Gestern gilt noch als ununterbrochen, eine Zeitzone kostet also keine Serie. Beide bringen keine Erfahrung: eine Praemie fuers Erscheinen belohnt den Kalender statt die Integration.
Den eigenen Rang lesen
GET /v1/me/usage liefert neben den Verbrauchszahlen einen progress-Block: xp, xpToday, dailyXpCap, level, levelStartsAt, nextLevelAt sowie Breite und Serie. Die beiden Stufengrenzen stehen dort, damit ein Client den Balken zeichnen kann, ohne die Formel zu kennen.
Feld
Bedeutung
xp
Experience earned across every key on the account, for its whole life.
xpToday
Experience earned today (UTC).
dailyXpCap
The most one key can earn in a UTC day. A ceiling rather than a target: reaching it every day is not how the levels are meant to be climbed.
level
Your level, derived from xp alone. Nothing else moves it.
levelStartsAt
The experience this level began at.
nextLevelAt
The experience the next level begins at.
streakDays
Consecutive days you have called the API, counting today. A day you did not call breaks it, though yesterday still counts as unbroken so a timezone does not cost you a streak. Reported, never rewarded: no experience is paid for showing up.
daysActive
Days you have called the API at all, over the last two years.
operationsUsed
Documented operations you have called at least once. Counted from the request log by the nightly job, so an operation you called for the first time today appears tomorrow.
operationsAvailable
Documented operations there are to call, counted from this document rather than written down, so it cannot fall behind a route added today.