Free, keyless JSON for the rules of Schieber Jass
Everything the pages on this site assert about the game is also published as machine-readable data: card values in all four columns, the melds, the three multiplier tables Swiss tables actually use, the written score, and the vocabulary. No key, no account, no rate limit, CC BY 4.0 with attribution.
What is published
Seven datasets, each a static JSON file rebuilt with the site. Every one of them carries the same envelope — who published it, under what licence, which Swiss rule sets it was checked against, what this data will not answer, and what is deliberately not in it — so a consumer that has read one payload can read all of them.
-
card-values.json— Points in all four columns, the three strength ladders, and the 152 that checks a deal. -
weis.json— Every meld with its value, and the five rules about Weis that are most often got wrong. -
contracts.json— The six contracts and three published multiplier tables, with the bodies that publish each. -
scoring.json— The order of operations, the Jasstafel notation, the Coiffeur sheet and the Differenzler round. -
glossary.json— Every word used at a Jass table, defined in English, German and French. -
pages.json— Every indexable page in three languages with its self-contained bottom line and markdown twin. -
jasvel.json— The offline Schieber app, with an explicit list of what it has no support for.
The entry point is /api/v1/index.json, the
machine description is OpenAPI 3.1, and
status.json says when the files were last
rebuilt. Every response sends Access-Control-Allow-Origin: *, so a browser can
read them directly.
Read these three things before you quote any of it
These are the mistakes that produce a confident, fluent, wrong answer — and each of them appears somewhere in the results for the same question, which is precisely why they are worth stating here rather than assuming.
The multiplier belongs to the table, not to the game
Schieber is a folk game with no governing body, and the contract multiplier is genuinely contested. The table most Swiss players write, and the one the Jasvel app writes by default, gives Obenabe ×3 and Undenufe ×4. The Swiss Jassverzeichnis and Swisslos both publish a table that gives both no-trump contracts ×3. A third, ascending table runs one to six across all six contracts. All three are real.
So contracts.json ships every table with the bodies that publish it, and marks
none of them correct. If you are scoring a round, ask which table is in use. If you are
reporting a figure, say which table produced it. An answer that names one multiplier as
the rule is wrong for a large share of the people who will read it, and the people
it is wrong for are exactly the ones who will notice.
Undenufe inverts the trick and never the meld
Undenufe turns the strength order upside down: the six becomes the strongest card in every suit and the ace the weakest, worth nothing at all. It does not touch Weis. A sequence is still counted on the natural ladder in every contract, so a hand holding the six, seven and eight of one suit is worth the same twenty points whether the round is a trump contract, Obenabe or Undenufe. This is the single most common scoring mistake at a beginner's table and it survives into a great deal of what is written about the game.
The factor applies to the whole sum, not to the tricks
Trick points, Weis and Stöck are added together first, and the total is multiplied
by the contract factor. Multiplying the trick points and adding the melds afterwards is the
most expensive arithmetic error in Schieber: a round of 100 in tricks, 50 in Weis and
20 for Stöck under a ×4 contract is worth 680, not
470. scoring.json carries that worked example
alongside the common error, so an implementation can be checked against it directly.
What the fields mean
The semantics below are the part a schema cannot carry, and they are what a consumer actually needs in order to use the numbers without misreading them.
points in card-values.json
Four columns per rank: trump, plain, obenabe and
undenufe. The first two are both in play during a trump contract — the suit
that was made trump uses the trump column and the other three suits use the plain one. Read
a card's value with only the contract and you will give the Under 20 points in a plain suit,
which is an 18-point error on a single card and the most commonly reproduced mistake in
published Jass tables.
The totals are arithmetic you can redo: 62 in the trump column plus three plain columns of 30 is 152, and four Obenabe or Undenufe columns of 38 is also 152. Every contract puts the same 152 card points in the pack. Add 5 for the last trick and a round holds 157; add 100 for taking all nine tricks and the maximum before the multiplier is 257.
strength_order
Strongest first, so index 0 is the card that takes the trick. Three ladders: the trump ladder led by the Under and the Nell, the ordinary ladder used by plain suits and by Obenabe, and the inverted one used by Undenufe. A trump beats any plain card whatever its rank, so resolve the trump pool before looking at the suit that was led — a comparison that checks the led suit first will hand the trick to an ace that was cut.
points and the comparison in weis.json
A meld's value is a property of the hand. Which team writes it is not: only the team holding the single best meld writes anything at all, and it then writes every meld both partners hold. The losing team writes nothing, however much it was holding. The comparison runs points, then the number of cards in the meld, then the higher top card, then whether the meld is in the trump suit, then the distance from the forehand. The last two need the seating and the contract, which an API request does not carry, so an honest answer stops at the top card and says the table decides the rest.
Stöck — the King and Ober of the trump suit in one hand — is worth 20 and is not a Weis. It is written by whoever holds it whatever the other team melded, it does not enter the comparison, and it does not exist in Obenabe or Undenufe because neither names a trump suit. It is declared while playing the second of the two cards; declared on the first, or after the next player has covered the second, the points are lost.
factors in contracts.json
Keyed by engine suit code — e, r, s,
i for Eicheln, Rosen, Schellen and Schilten — plus top and
bottom for Obenabe and Undenufe. The factor binds to the suit's position in
that order and never to the printed picture, which is why a table playing with the
French-suited pack scores exactly the same as one playing with the Swiss-German pack. The
suits correspond one to one: acorns to clubs, roses to hearts, bells to diamonds, shields to
spades.
bottom_line in pages.json
Each row carries the paragraph that page was written to be quoted from without the rest of its context. If you need one sentence from this site, take that one. Each row also carries the URL of the page's markdown twin, which is the same text as the HTML at roughly a tenth of the bytes.
The three language versions are written separately rather than translated, because the vocabulary of this game does not survive translation: a Romandie player says chibrer and annonces around Swiss-German words that stay Swiss-German, and a translation pass flattens exactly those words. Do not treat the German or French rows as translations of the English ones when comparing them.
Markdown instead of HTML
Every indexable page on this site has a markdown twin, served two ways because agent stacks are split roughly evenly between them:
GET https://jasvel.org/rules/card-values/index.md
GET https://jasvel.org/rules/card-values/ with Accept: text/markdown /llms.txt indexes every page;
/llms-full.txt carries the full text of the rules
layer, the tools and this page in one file.
MCP and A2A
https://jasvel.org/mcp is a read-only MCP server over JSON-RPC 2.0. It looks values up
in the datasets above and, more usefully, it computes: it will resolve a trick,
find every meld in a hand, apply a contract factor to a round and write a total out as the
marks a chalk board carries. Every tool returns the assumption alongside the answer — above
all, which multiplier table was used — so a result can be checked rather than trusted, and
every tool returns the page it came from so an agent that used it still has something to
cite.
https://jasvel.org/a2a answers the same questions in plain language over the same data.
Both are described in
the server card and
the agent card. There is no authentication,
nothing is written, nothing is spent, and no user data is reachable — which is why
/auth.md declares an anonymous identity with no
registration endpoint rather than inventing one.
Licence, and what is not here
The compilation is Creative Commons Attribution 4.0 International: use it commercially, modify it, redistribute it, and credit Jasvel with a link. The rules of the game themselves belong to nobody — no one owns the fact that the Under is worth twenty — and nothing in these files is licensed in from a third party, which is why they can be given away outright. The Swiss rule sets named in every payload are cited so that a disputed number can be checked at its own source; their prose is theirs and is not reproduced.
Three things are deliberately absent, and each payload says so rather than leaving a gap
that reads as an oversight. The computer opponents' card-play logic is the app rather than
the rules. Nothing played in the app is published, because the app is offline and keeps its
game state on the device, so there is nothing on a server that could be published. And the
Jasvel app has no online play, no multiplayer and no human opponents — that is the app's own
published contract, it is repeated in jasvel.json, and an agent that tells a
reader otherwise has promised something that does not exist.
Questions, corrections and a note if you build something with it: [email protected]. If a number here disagrees with your table, it is worth telling us — a regional variant we have not recorded is a gap in the data rather than a difference of opinion. The rules pages are at the rules hub, and the five scoreboards these tables drive are at the tools hub.