Skip to content

Reading a guide response

GET /v1/guides/{steam_id} returns one Steam guide as it was transcribed: every system it ranks, every level in the author’s order, every graded seed, and for each seed the exact words in the guide it was read from. Nothing is paraphrased, merged with another guide or quietly corrected. Where the guide contradicts itself, both sides are kept and the contradiction is recorded next to them.

SeanErren’s Galil AR | Sandstorm guide, narrowed with ?system= to its “Purple patterns” system. This is the API’s own response, not typed by hand; only dataset_version is set to the example value these docs use throughout.

Terminal window
curl 'https://truefloat.app/api/v1/guides/1528825070?system=galil-purple'
GET /api/v1/guides/1528825070?system=galil-purple
{
"dataset_version": "e9c25a6",
"data": {
"url": "https://steamcommunity.com/sharedfiles/filedetails/?id=1528825070",
"notes": "",
"title": "Galil Sandstorm - patterns guide",
"posted": "2018-10-05T13:04:00",
"schema": "0.5.0",
"authors": ["SeanErren"],
"systems": [
{
"id": "galil-purple",
"item": "galil-sandstorm",
"label": "Purple patterns",
"scale": {"best": 1, "kind": "tier", "worst": 2},
"levels": [
{
"key": "1",
"label": "tier 1",
"images": [
"images/014.jpg",
"images/015.jpg",
"images/016.jpg",
"images/017.jpg",
"images/018.jpg",
"images/019.jpg",
"images/020.jpg",
"images/021.jpg",
"images/022.jpg",
"images/023.jpg"
],
"ordered": true,
"ordered_quote": "Here are the top three purple patterns:"
},
{
"key": "mid",
"label": "mid tier",
"images": ["images/026.jpg", "images/027.jpg"],
"ordered": false,
"gradings": null,
"definition": {
"quote": "These still count as purple patterns but they are not at the top level of purple patterns."
},
"ordered_quote": null
}
],
"gradings": [
{
"note": {
"quote": "Though both patterns are identical, it's important to note that the #583 is more scratched on the barrel but less scratched on the body making it a bit better. Because the two patterns are identical I am referring to them as one."
},
"seed": 583,
"level": "1",
"quote": "1st: #583 | #761",
"evidence": "caption",
"position": 0,
"equivalent_to": [761]
},
{
"seed": 761,
"level": "1",
"quote": "1st: #583 | #761",
"evidence": "caption",
"position": 1,
"equivalent_to": [583]
},
{
"note": {
"quote": "While this pattern has just as much dark purple as the best pattern, more of the light purple on it is on the body making it the second best pattern. Note: This pattern is very close to how good the first pattern is."
},
"seed": 739,
"level": "1",
"quote": "2nd: #739",
"evidence": "caption",
"position": 2
},
{
"note": {
"quote": "This pattern is a bit worse than the first two but it's still a very good pattern."
},
"seed": 178,
"level": "1",
"quote": "3rd: #178",
"evidence": "caption",
"position": 3
}
],
"definition": {
"quote": "Purple patterns are the most desirable patterns. The idea is - the more pure, dark purple the better. While there are a good few purple patterns and you can find purple in any sandstorm pattern, finding them with no tan or white is rare and finding them with almost no color other than dark purple is very rare. Sandstorms that consists almost fully of dark purple are considered the best patterned sandstorms."
},
"paint_indexes": null
}
],
"updated": "2025-07-12T16:25:00",
"callouts": [
{
"kind": "exclusion",
"label": "none purple patterns",
"quote": "Examples of none purple patterns:",
"system": "galil-purple",
"definition": {
"quote": "Though they have a lot of purple, they also have some very visible dominant colors (as marked by the red circles) that make them invalid as purple patterns."
}
},
{
"kind": "exclusion",
"label": "none white patterns",
"quote": "Examples of none white patterns:",
"system": "galil-white",
"definition": {
"quote": "Though these have a lot of white, they also have some very visible purple (marked by the red circles) making them invalid as white patterns."
}
},
{
"kind": "common",
"note": "These and similar patterns to these are very common and are referred to as bad patterns.",
"label": "Common patterns",
"quote": "Examples of common sandstorm patterns:",
"images": [
"images/007.jpg",
"images/008.jpg",
"images/009.jpg",
"images/010.jpg",
"images/011.jpg"
],
"system": null,
"definition": {
"quote": "The most common form of the Galil Sandstorm skin is with all or a good amount of the colors in the template."
}
}
],
"snapshot": {
"path": "sources/1528825070",
"sha256": "b5b00e0bc83cdd6a02236341d2315cd0259a2ab9b239a9cb847c1744cf59e800",
"retrieved_at": "2026-09-11T09:39:57.197387+00:00"
},
"steam_id": "1528825070",
"incomplete": {
"quote": "There are more tier 1 purple patterns than the top three but I can't show them all."
},
"permission": "unknown",
"collaborators": 0,
"discrepancies": [],
"permission_quote": "I (SeanErren) am the sole writer of this guide and I do not permit anyone else to reupload it.",
"unassigned_review": {
"count": 8,
"reviewed_at": "2026-09-11",
"reviewed_by": "coordinator"
}
}
}

Keys come back in the database’s order, shorter names first, not in the order the fields are explained below. Read them by name.

field meaning
steam_id, title, authors, url the guide on Steam, as its page shows it. Show these wherever you show a grade — see Attribution
posted, updated the dates on the guide’s Steam page
snapshot when the page was captured for transcription (retrieved_at) and the SHA-256 of that capture. Every quote in the response exists verbatim in it
permission, permission_quote whether the author granted reuse (unknown for every guide so far), and the author’s own reuse statement, verbatim
incomplete, complete the author’s own claim that the guide lists only some, or all, of the patterns; null when the author says neither
notes our notes, never guide text

A system is one property the guide ranks. definition.quote is how the author defines it. scale.kind says how to draw the scale and best/worst give its bounds when the guide states them — see Levels and scales.

A system’s levels are listed best first, and the array order is the only ordering signal: key is an opaque id, label is the author’s own name for the level.

field meaning
ordered whether the guide says the seeds within this level are themselves ranked
ordered_quote the sentence ordered was read from, e.g. “Here are the top three purple patterns:”
definition the author’s description of the level, verbatim
images the images in that section of the guide, as file names inside the capture. The API does not serve them
gradings: null the level is shown only as images. Here, “mid tier” has pictures but no seed numbers, so no seed is graded in it

gradings is the system’s flat list of graded seeds. Each one points at its level by level (the level’s key) and carries its source:

field meaning
seed the pattern seed, 0 to 1000
level the key of the level it was placed in
quote the exact span of the guide the seed was read from, copied character for character from the capture, odd spacing included. It is what makes every grade checkable against the guide itself
evidence where that span is: text (a list in the guide’s body), caption (an image caption) or image (read off an image with no text, recorded only after two independent readings agreed)
position the seed’s place in the order its level’s quotes list it, from 0: here 583, 761, 739, 178 are 0 to 3. An order of appearance, which means a ranking only when the level is ordered, as this one is
note the author’s own comment on this seed, verbatim
equivalent_to seeds the author explicitly calls the same pattern. SeanErren calls 583 and 761 “identical” and ranks them as one, so each lists the other. Never used for mere resemblance

A field the guide has nothing for is left out of a grading: no rank here, because this author orders the seeds (“1st”, “2nd”, “3rd”) rather than numbering ranks. (The per-seed endpoints always include rank, equivalent_to and value, as null when absent.)

rank, value, and a guide that contradicts itself

Section titled “rank, value, and a guide that contradicts itself”

korenevskiy’s SSG 08 Acid Fade guide ranks its Full Fade seeds with a number and a fade percentage. Below, from GET /v1/guides/3304751006?system=ssg08-acid-fade-full-fade, is the system’s first four gradings and the guide’s discrepancies; the rest of the response is left out, nothing is edited.

GET /api/v1/guides/3304751006?system=ssg08-acid-fade-full-fade (excerpt)
{
"dataset_version": "e9c25a6",
"data": {
"steam_id": "3304751006",
"title": "SSG 08 Acid Fade | Guide",
"systems": [
{
"id": "ssg08-acid-fade-full-fade",
"label": "Full Fade",
"scale": {"best": 1, "kind": "rank", "worst": 10},
"gradings": [
{
"rank": 1,
"seed": 576,
"level": "1",
"quote": "#1 576 100%",
"value": {"name": "fade_pct", "value": 100.0},
"evidence": "text",
"position": 0,
"rank_scope": "level"
},
{
"rank": 2,
"seed": 575,
"level": "2",
"quote": "#2 575 99.97%",
"value": {"name": "fade_pct", "value": 99.97},
"evidence": "text",
"position": 0,
"rank_scope": "level"
},
{
"rank": 3,
"seed": 897,
"level": "3",
"quote": "#3 897 99.91%",
"value": {"name": "fade_pct", "value": 99.91},
"evidence": "text",
"position": 0,
"rank_scope": "level"
},
{
"rank": 4,
"seed": 897,
"level": "4",
"quote": "#4 897 99.70",
"value": {"name": "fade_pct", "value": 99.7},
"evidence": "text",
"position": 0,
"rank_scope": "level"
}
]
}
],
"discrepancies": [
{
"kind": "duplicate_seed",
"seed": 897,
"where": [
"ssg08-acid-fade-full-fade:3",
"ssg08-acid-fade-full-fade:4"
]
},
{
"kind": "prose_contradiction",
"note": "seed 897 listed twice in the Full Fade table, at rank 3 (99.91%) and rank 4 (99.70, no percent sign), with different values",
"quote_a": "#3 897 99.91%",
"quote_b": "#4 897 99.70"
},
{
"kind": "prose_contradiction",
"note": "intro prose names 987 as a top pattern alongside 576, 575, 897, but 987 does not appear anywhere in the Full Fade ranked table",
"quote_a": "This is the most valuable Fade pattern with seed 576 being the #1 pattern, followed closely by seed patterns 575 , 897 , and 987 .",
"quote_b": "#1 576 100%"
}
]
}
}
field meaning
rank the author’s explicit rank for this seed
rank_scope level: the number was written inside that level’s own list, so it compares seeds within the level only. Absent: the rank comes from the guide’s top-level ranked list and compares across the whole guide
value a measurement the author wrote beside the seed, as {name, value}: “#3 897 99.91%” gives fade_pct 99.91

Seed 897 is listed twice, at #3 with 99.91% and at #4 with 99.70. The guide says both, so the API returns both: two gradings, and a duplicate_seed discrepancy naming both places as system:level. A second entry records the conflicting values as a prose_contradiction, and a third records that the intro calls seed 987 a top pattern while the ranked table never lists it. In a discrepancy, quote_a and quote_b are the guide’s words; note is ours.

discrepancy kind what the guide does
duplicate_seed lists one seed twice, in one system or across two; both gradings are kept
count_mismatch states a count for a system that differs from the seeds actually listed
unparseable has a quoted span that can’t be read as seed numbers
prose_contradiction says two things that can’t both be true
caption_vs_list captions an image with a seed under a different level than its text list
caption_unlisted shows and labels a seed in an image but never writes it in a list
image_reused uses one image twice with two different seed captions
field meaning
callouts sections outside the scale: exclusion (the author’s explicit negatives, like “none purple patterns” above), example, mention (honourable mentions) and common (a “common patterns” baseline). Returned whole, even with ?system=
remarks author statements that aren’t definitions or grades: price talk, update promises, comparisons
item_claims what the author says about the item itself (finish, float behaviour). Kept as quotes, never applied to item data
related_guides companion guides the author links to. Linking never merges their grades
unassigned_review a record that every number in the capture not transcribed as a seed was reviewed and classified during transcription

?system= narrows systems only; everything else in the guide is guide-wide and comes back whole.

  • GET /v1/items/{def}/{paint}/seeds/{seed} gives each guide’s verdict on one seed with rank, equivalent_to, value, evidence and quote, plus the level’s place and of.
  • GET /v1/items/{def}/{paint}/patterns gives rank, equivalent_to and value for every seed at once, without the quotes; fetch the guide or the seed when you need the words.
  • GET /v1/dump contains every guide exactly as GET /v1/guides/{steam_id} returns it.