{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/boekenbase-nl/json-schema/boekenbase-nl-book-schema.json",
  "title": "Book",
  "description": "Volledig boekrecord. Gecodeerde velden hebben een *_name-tegenhanger; contributors/texts/related_products/editions/assets zitten ingesloten.",
  "x-generated": "2026-11-02",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/_original/boekenbase-nl-v1-openapi.json#/components/schemas/Book",
  "type": "object",
  "properties": {
    "isbn13": {
      "type": "string"
    },
    "title": {
      "type": "string"
    },
    "subtitle": {
      "type": [
        "string",
        "null"
      ]
    },
    "series_title": {
      "type": [
        "string",
        "null"
      ]
    },
    "series_number": {
      "type": [
        "string",
        "null"
      ]
    },
    "publisher_name": {
      "type": [
        "string",
        "null"
      ]
    },
    "imprint_name": {
      "type": [
        "string",
        "null"
      ]
    },
    "pub_date": {
      "type": [
        "string",
        "null"
      ],
      "format": "date"
    },
    "product_form": {
      "type": [
        "string",
        "null"
      ]
    },
    "product_form_name": {
      "type": [
        "string",
        "null"
      ]
    },
    "language_code": {
      "type": [
        "string",
        "null"
      ]
    },
    "language_name": {
      "type": [
        "string",
        "null"
      ]
    },
    "nur_main": {
      "type": [
        "string",
        "null"
      ]
    },
    "nur_main_name": {
      "type": [
        "string",
        "null"
      ]
    },
    "price_eur": {
      "type": [
        "number",
        "null"
      ],
      "description": "Adviesprijs incl. btw"
    },
    "availability": {
      "type": [
        "string",
        "null"
      ]
    },
    "availability_name": {
      "type": [
        "string",
        "null"
      ]
    },
    "nur_codes": {
      "type": [
        "array",
        "null"
      ],
      "items": {
        "type": "string"
      },
      "description": "Nevencodes"
    },
    "keywords": {
      "type": [
        "array",
        "null"
      ],
      "items": {
        "type": "string"
      }
    },
    "work_id_nstc": {
      "type": [
        "string",
        "null"
      ],
      "description": "Werk-identifier (NSTC): edities van hetzelfde werk delen deze"
    },
    "source": {
      "type": "string",
      "description": "Herkomst van het record. 'cb' = Nederlandse handelscatalogus (met prijs, beschikbaarheid en NUR); andere waarden zijn internationale bronnen waarvoor die velden ontbreken."
    },
    "thema_main": {
      "type": [
        "string",
        "null"
      ],
      "description": "Thema-hoofdcode (EDItEUR v1.6), waar de bron die levert"
    },
    "thema_codes": {
      "type": [
        "array",
        "null"
      ],
      "items": {
        "type": "string"
      },
      "description": "Overige Thema-codes"
    },
    "updated_at": {
      "type": "string",
      "format": "date-time",
      "description": "Laatste wijziging van dit record. Bumpt bij elke CB-levering die het productrecord of meegeleverde blokken (contributors, teksten, relaties) raakt; wijzigingen aan alléén assets (bv. een nieuwe cover) bumpen niet."
    },
    "contributors": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "seq": {
            "type": "integer"
          },
          "role": {
            "type": "string"
          },
          "role_name": {
            "type": [
              "string",
              "null"
            ]
          },
          "name": {
            "type": [
              "string",
              "null"
            ]
          },
          "key_names": {
            "type": [
              "string",
              "null"
            ],
            "description": "Achternaam/sorteersleutel"
          },
          "names_before_key": {
            "type": [
              "string",
              "null"
            ],
            "description": "Voornamen"
          },
          "prefix_to_key": {
            "type": [
              "string",
              "null"
            ],
            "description": "Tussenvoegsel"
          },
          "corporate_name": {
            "type": [
              "string",
              "null"
            ]
          }
        }
      }
    },
    "texts": {
      "type": "array",
      "description": "Flapteksten, recensies e.d.",
      "items": {
        "type": "object",
        "properties": {
          "seq": {
            "type": "integer"
          },
          "text_type": {
            "type": "string"
          },
          "text_type_name": {
            "type": [
              "string",
              "null"
            ]
          },
          "text": {
            "type": "string",
            "description": "Kan HTML bevatten"
          },
          "text_author": {
            "type": [
              "string",
              "null"
            ]
          },
          "text_source": {
            "type": [
              "string",
              "null"
            ]
          },
          "content_date": {
            "type": [
              "string",
              "null"
            ],
            "format": "date"
          }
        }
      }
    },
    "related_products": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "related_isbn13": {
            "type": "string"
          },
          "relation_code": {
            "type": "string",
            "description": "ONIX-relatiecode; '05-reverse' = dit boek is de vervanger van related_isbn13"
          },
          "relation_name": {
            "type": [
              "string",
              "null"
            ]
          }
        }
      }
    },
    "editions": {
      "type": "array",
      "description": "Andere edities van hetzelfde werk (NSTC)",
      "items": {
        "type": "object",
        "properties": {
          "isbn13": {
            "type": "string"
          },
          "product_form": {
            "type": [
              "string",
              "null"
            ]
          },
          "product_form_name": {
            "type": [
              "string",
              "null"
            ]
          },
          "pub_date": {
            "type": [
              "string",
              "null"
            ],
            "format": "date"
          },
          "cover_url": {
            "type": "string"
          },
          "cover_urls": {
            "type": [
              "object",
              "null"
            ],
            "description": "Front cover in several sizes. `original` is the publisher-supplied JPEG and is always present when the book has a cover; `w176` and `w352` are WebP thumbnails (352 for retina). A handful of source images are corrupt and have no thumbnails — fall back to `original` on a 404.",
            "properties": {
              "original": {
                "type": "string"
              },
              "w176": {
                "type": "string"
              },
              "w352": {
                "type": "string"
              }
            }
          }
        }
      }
    },
    "assets": {
      "type": "array",
      "description": "Cover/achterkant/inkijk met publieke url",
      "items": {
        "type": "object",
        "properties": {
          "kind": {
            "type": "string",
            "enum": [
              "vrk",
              "atk",
              "dvb"
            ]
          },
          "type": {
            "type": "string"
          },
          "url": {
            "type": "string"
          },
          "content_type": {
            "type": "string"
          },
          "bytes": {
            "type": [
              "integer",
              "null"
            ]
          }
        }
      }
    }
  },
  "additionalProperties": true
}