Overview
Version one is read-only and rate-limited. For notebooks, classroom tools or bulk indexing, download the JSONL snapshot instead of paging the API.
GET https://the-results-library.hardcode-studios.com/api/v1/records?library=learning&example=1
OpenAPI · JSON Schema · Catalog stats · Example records
Endpoints
| Endpoint | Purpose |
|---|---|
GET /api/v1/records | Paginated record summaries |
GET /api/v1/records/{slug} | Complete structured record |
GET /api/v1/examples | Curated teaching and contribution examples |
GET /api/v1/stats | Counts by library, origin, relationship and block type |
GET /api/v1/profiles/{handle} | Public profile metadata |
GET /api/v1/categories | Category taxonomy |
GET /api/v1/topics | Topic taxonomy |
GET /api/v1/datasets | Dataset releases |
GET /api/v1/openapi.json | OpenAPI 3 document |
GET /api/v1/schema/record.json | JSON Schema for one record |
Query parameters
All of these apply to /api/v1/records and /api/v1/search.
| Parameter | Values |
|---|---|
library | learning or general |
relationship | Comma-separated types such as transforms,produces |
category | Category slug, for example chemistry |
topic | Topic slug, for example physics |
origin_type | community, imported or generated |
block_type | colour, variable, codec, quantity, text, image |
example | 1 for curated examples only |
q | Full-text query |
page, per_page | Pagination, max 50 per page |
Record schema
{
"id": 42,
"slug": "weighted-rgb-blend",
"title": "Blend two colours",
"library": "learning",
"relationship_type": "transforms",
"input": { "blocks": [] },
"relationship": "...",
"output": { "blocks": [] },
"block_types": ["colour"],
"categories": [{ "name": "Colour and Design", "slug": "colour-design" }],
"topics": [{ "name": "Physics", "slug": "physics" }],
"sources": [],
"creator_profile": {},
"revision": 1,
"licence": "CC0-1.0",
"rights": {
"status": "cc0",
"attribution_required": false,
"share_alike": false
},
"origin_type": "community",
"is_example": true,
"provenance": null
}
Input/output contract
Every record must contain at least one meaningful input block, a relationship type and explanatory relationship text, and at least one meaningful output block. Empty placeholder blocks are rejected. Imported records must additionally identify the source record and mapping version.
Use it
Python:
import urllib.request, json
url = "https://the-results-library.hardcode-studios.com/api/v1/examples"
data = json.load(urllib.request.urlopen(url))["data"]
JavaScript:
const res = await fetch("https://the-results-library.hardcode-studios.com/api/v1/records?block_type=variable");
const body = await res.json();
Embed a record with /embed/{slug} or oEmbed at /oembed?url= a public record URL. Dataset files are linked from /datasets.
Response envelope
{ "success": true, "message": "", "data": {}, "meta": {} }
Rights
Community-authored records are dedicated under CC0 1.0. Imported records retain their source-compatible licence and include record-level provenance, attribution, source version and checksum. Supported open identifiers include CC0-1.0, PDM-1.0, PDDL-1.0, US-PUBLIC-DOMAIN, CC BY and CC BY-SA 3.0/4.0, ODbL-1.0, ODC-By-1.0 and Apache-2.0. Non-commercial or unknown rights are rejected. Dataset releases declare varies-by-record when more than one licence is present. External media is represented as a link and excluded from dataset binaries.