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

EndpointPurpose
GET /api/v1/recordsPaginated record summaries
GET /api/v1/records/{slug}Complete structured record
GET /api/v1/examplesCurated teaching and contribution examples
GET /api/v1/statsCounts by library, origin, relationship and block type
GET /api/v1/profiles/{handle}Public profile metadata
GET /api/v1/categoriesCategory taxonomy
GET /api/v1/topicsTopic taxonomy
GET /api/v1/datasetsDataset releases
GET /api/v1/openapi.jsonOpenAPI 3 document
GET /api/v1/schema/record.jsonJSON Schema for one record

Query parameters

All of these apply to /api/v1/records and /api/v1/search.

ParameterValues
librarylearning or general
relationshipComma-separated types such as transforms,produces
categoryCategory slug, for example chemistry
topicTopic slug, for example physics
origin_typecommunity, imported or generated
block_typecolour, variable, codec, quantity, text, image
example1 for curated examples only
qFull-text query
page, per_pagePagination, 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.