{
  "openapi": "3.1.0",
  "info": {
    "title": "Paul Haedo author catalogue",
    "version": "1.5.0",
    "description": "Read-only public representations of first-party, author-approved book information and AI-prepared editorial guides. No authentication, live language model, or write operations."
  },
  "servers": [
    {
      "url": "https://paulhaedo.com/"
    }
  ],
  "security": [],
  "paths": {
    "/community.json": {
      "get": {
        "operationId": "getDiscussionAndThemeGuides",
        "summary": "Read original spoiler-light discussion and thematic guides with canonical source links",
        "responses": {
          "200": {
            "description": "Community guides",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "schemaVersion",
                    "language",
                    "scope",
                    "discussions",
                    "themes"
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/{language}/community.json": {
      "get": {
        "operationId": "getLocalizedDiscussionAndThemeGuides",
        "summary": "Read complete translated discussion and thematic guides",
        "parameters": [
          {
            "name": "language",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "ar",
                "bn",
                "de",
                "es",
                "fa",
                "fr",
                "hi",
                "id",
                "it",
                "ja",
                "ko",
                "nl",
                "pl",
                "pt",
                "ru",
                "sw",
                "ta",
                "te",
                "th",
                "tr",
                "ur",
                "vi",
                "zh"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Translated community guides",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "schemaVersion",
                    "language",
                    "scope",
                    "discussions",
                    "themes"
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/editorial.json": {
      "get": {
        "operationId": "getEditorialLibrary",
        "summary": "Read original introductory editorial guidance and source book references",
        "responses": {
          "200": {
            "description": "Editorial records",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/{language}/editorial.json": {
      "get": {
        "operationId": "getLocalizedEditorialLibrary",
        "summary": "Read translated introductory editorial guidance",
        "parameters": [
          {
            "name": "language",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "ar",
                "bn",
                "de",
                "es",
                "fa",
                "fr",
                "hi",
                "id",
                "it",
                "ja",
                "ko",
                "nl",
                "pl",
                "pt",
                "ru",
                "sw",
                "ta",
                "te",
                "th",
                "tr",
                "ur",
                "vi",
                "zh"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Translated editorial records",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/editorial-index.json": {
      "get": {
        "operationId": "getEditorialSearchIndex",
        "summary": "Read a compact full-body search index; follow recordUrl for complete guidance and source metadata",
        "responses": {
          "200": {
            "description": "Editorial search index",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EditorialSearchIndex"
                }
              }
            }
          }
        }
      }
    },
    "/{language}/editorial-index.json": {
      "get": {
        "operationId": "getLocalizedEditorialSearchIndex",
        "summary": "Read the compact editorial search index in one website language; follow recordUrl for one complete record",
        "parameters": [
          {
            "name": "language",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "ar",
                "bn",
                "de",
                "es",
                "fa",
                "fr",
                "hi",
                "id",
                "it",
                "ja",
                "ko",
                "nl",
                "pl",
                "pt",
                "ru",
                "sw",
                "ta",
                "te",
                "th",
                "tr",
                "ur",
                "vi",
                "zh"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Translated editorial search index",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EditorialSearchIndex"
                }
              }
            }
          }
        }
      }
    },
    "/editorial/{kind}/{slug}.json": {
      "get": {
        "operationId": "getEditorialRecord",
        "summary": "Read one complete original editorial record, its canonical page and source-book links",
        "description": "Discover the stable address through an index recordUrl or the canonical page’s application/json alternate link. This is website editorial guidance, not the book text or a statement of the author’s personal views.",
        "parameters": [
          {
            "name": "kind",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "article",
                "companion",
                "essay",
                "world",
                "lore",
                "story",
                "knowledge"
              ]
            }
          },
          {
            "name": "slug",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Editorial record",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EditorialRecordEnvelope"
                }
              }
            }
          },
          "404": {
            "description": "No published editorial record has this kind and slug."
          }
        }
      }
    },
    "/{language}/editorial/{kind}/{slug}.json": {
      "get": {
        "operationId": "getLocalizedEditorialRecord",
        "summary": "Read one complete translated editorial record with canonical source links",
        "description": "Discover the address through the localized index recordUrl or the localized page’s application/json alternate. Website translation does not imply a translated commercial book edition.",
        "parameters": [
          {
            "name": "language",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "ar",
                "bn",
                "de",
                "es",
                "fa",
                "fr",
                "hi",
                "id",
                "it",
                "ja",
                "ko",
                "nl",
                "pl",
                "pt",
                "ru",
                "sw",
                "ta",
                "te",
                "th",
                "tr",
                "ur",
                "vi",
                "zh"
              ]
            }
          },
          {
            "name": "kind",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "article",
                "companion",
                "essay",
                "world",
                "lore",
                "story",
                "knowledge"
              ]
            }
          },
          {
            "name": "slug",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Translated editorial record",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EditorialRecordEnvelope"
                }
              }
            }
          },
          "404": {
            "description": "No published translated editorial record has this kind and slug."
          }
        }
      }
    },
    "/edition-register.json": {
      "get": {
        "operationId": "getEditionEvidence",
        "summary": "Read edition evidence and explicit verification limits",
        "responses": {
          "200": {
            "description": "Edition register",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          }
        }
      }
    },
    "/reader-guidance.json": {
      "get": {
        "operationId": "getReaderGuidance",
        "summary": "Read selected source-backed FAQs and reading questions",
        "responses": {
          "200": {
            "description": "Reader guidance",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          }
        }
      }
    },
    "/{language}/catalogue.json": {
      "get": {
        "operationId": "getLocalizedCatalogue",
        "summary": "Read translated website book guidance and regional edition searches; not translated book editions",
        "parameters": [
          {
            "name": "language",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Localized catalogue",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          }
        }
      }
    },
    "/{language}/books/{slug}.json": {
      "get": {
        "operationId": "getLocalizedBook",
        "summary": "Read one translated book introduction, canonical identity and regional retailer searches",
        "parameters": [
          {
            "name": "language",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "slug",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Localized book",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          }
        }
      }
    },
    "/languages.json": {
      "get": {
        "operationId": "getLanguages",
        "summary": "Read language editions and regional store defaults",
        "responses": {
          "200": {
            "description": "Translated website catalogue",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          }
        }
      }
    },
    "/search-index.json": {
      "get": {
        "operationId": "getDiscoveryIndex",
        "summary": "Read the unified spoiler-light search index",
        "description": "English editorial records include full introductory searchText and a recordUrl for source-linked individual JSON. Keep text as the short display excerpt; searchText is for matching, not a replacement excerpt.",
        "responses": {
          "200": {
            "description": "Search records",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "version",
                    "spoilers",
                    "items"
                  ],
                  "properties": {
                    "version": {
                      "type": "string"
                    },
                    "spoilers": {
                      "const": false
                    },
                    "items": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "required": [
                          "id",
                          "title",
                          "text",
                          "kind",
                          "url",
                          "tags"
                        ],
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "title": {
                            "type": "string"
                          },
                          "text": {
                            "type": "string"
                          },
                          "kind": {
                            "type": "string"
                          },
                          "url": {
                            "type": "string",
                            "format": "uri-reference"
                          },
                          "tags": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          },
                          "searchText": {
                            "type": "string",
                            "description": "Optional complete introductory guidance used for subject matching."
                          },
                          "recordUrl": {
                            "type": "string",
                            "format": "uri-reference",
                            "description": "Optional stable address for one complete editorial record and its source-book links."
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/reading-paths.json": {
      "get": {
        "operationId": "getReadingPaths",
        "summary": "Read six spoiler-light thematic reading paths",
        "responses": {
          "200": {
            "description": "First-party editorial reading routes",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          }
        }
      }
    },
    "/{language}/research.json": {
      "get": {
        "operationId": "getLocalizedManuscriptResearch",
        "summary": "Read complete translated, spoiler-light companion and essay guidance with source locators",
        "parameters": [
          {
            "name": "language",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "ar",
                "bn",
                "de",
                "es",
                "fa",
                "fr",
                "hi",
                "id",
                "it",
                "ja",
                "ko",
                "nl",
                "pl",
                "pt",
                "ru",
                "sw",
                "ta",
                "te",
                "th",
                "tr",
                "ur",
                "vi",
                "zh"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Translated research",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "schemaVersion",
                    "websiteLanguage",
                    "sourceLanguage",
                    "scope",
                    "spoilersIncluded",
                    "companions",
                    "essays"
                  ],
                  "properties": {
                    "websiteLanguage": {
                      "type": "string",
                      "enum": [
                        "ar",
                        "bn",
                        "de",
                        "es",
                        "fa",
                        "fr",
                        "hi",
                        "id",
                        "it",
                        "ja",
                        "ko",
                        "nl",
                        "pl",
                        "pt",
                        "ru",
                        "sw",
                        "ta",
                        "te",
                        "th",
                        "tr",
                        "ur",
                        "vi",
                        "zh"
                      ]
                    },
                    "sourceLanguage": {
                      "const": "en"
                    },
                    "spoilersIncluded": {
                      "const": false
                    },
                    "companions": {
                      "type": "array",
                      "items": {
                        "type": "object"
                      }
                    },
                    "essays": {
                      "type": "array",
                      "items": {
                        "type": "object"
                      }
                    }
                  }
                }
              }
            }
          },
          "503": {
            "description": "Research guidance is temporarily unavailable; retry after the response delay."
          }
        }
      }
    },
    "/{language}/research-spoilers.json": {
      "get": {
        "operationId": "getLocalizedDetailedResearch",
        "summary": "Explicit opt-in detailed translated discussion; contains spoilers and is excluded from search snippets",
        "parameters": [
          {
            "name": "language",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "ar",
                "bn",
                "de",
                "es",
                "fa",
                "fr",
                "hi",
                "id",
                "it",
                "ja",
                "ko",
                "nl",
                "pl",
                "pt",
                "ru",
                "sw",
                "ta",
                "te",
                "th",
                "tr",
                "ur",
                "vi",
                "zh"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Detailed translated research; no-store and noindex, nosnippet",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "schemaVersion",
                    "websiteLanguage",
                    "sourceLanguage",
                    "scope",
                    "spoilersIncluded",
                    "companions",
                    "essays"
                  ],
                  "properties": {
                    "websiteLanguage": {
                      "type": "string",
                      "enum": [
                        "ar",
                        "bn",
                        "de",
                        "es",
                        "fa",
                        "fr",
                        "hi",
                        "id",
                        "it",
                        "ja",
                        "ko",
                        "nl",
                        "pl",
                        "pt",
                        "ru",
                        "sw",
                        "ta",
                        "te",
                        "th",
                        "tr",
                        "ur",
                        "vi",
                        "zh"
                      ]
                    },
                    "sourceLanguage": {
                      "const": "en"
                    },
                    "spoilersIncluded": {
                      "const": true
                    },
                    "companions": {
                      "type": "array",
                      "items": {
                        "type": "object"
                      }
                    },
                    "essays": {
                      "type": "array",
                      "items": {
                        "type": "object"
                      }
                    }
                  }
                }
              }
            }
          },
          "503": {
            "description": "Research guidance is temporarily unavailable; retry after the response delay."
          }
        }
      }
    },
    "/research.json": {
      "get": {
        "operationId": "getManuscriptResearch",
        "summary": "Read spoiler-light companions and source locators without reproduced passage text",
        "responses": {
          "200": {
            "description": "Source-referenced editorial research",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          }
        }
      }
    },
    "/reader-catalogue.json": {
      "get": {
        "operationId": "getReaderCatalogue",
        "summary": "Read thematic connections, explicit collection contents and reader attributes",
        "responses": {
          "200": {
            "description": "Reader catalogue",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          }
        }
      }
    },
    "/author-facts.json": {
      "get": {
        "operationId": "getAuthorFacts",
        "summary": "Read first-party biography, current catalogue scope and verified public author identities",
        "responses": {
          "200": {
            "description": "Author facts",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "provenance",
                    "scope",
                    "author",
                    "catalogue"
                  ],
                  "additionalProperties": true
                }
              }
            }
          }
        }
      }
    },
    "/{language}/lore-entities.json": {
      "get": {
        "operationId": "getLocalizedLoreReferences",
        "summary": "Read all published lore references in the selected website language with source-work identities",
        "parameters": [
          {
            "name": "language",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "ar",
                "bn",
                "de",
                "es",
                "fa",
                "fr",
                "hi",
                "id",
                "it",
                "ja",
                "ko",
                "nl",
                "pl",
                "pt",
                "ru",
                "sw",
                "ta",
                "te",
                "th",
                "tr",
                "ur",
                "vi",
                "zh"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Translated lore references",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "schemaVersion",
                    "websiteLanguage",
                    "numberOfItems",
                    "entities"
                  ],
                  "additionalProperties": true
                }
              }
            }
          }
        }
      }
    },
    "/lore-entities.json": {
      "get": {
        "operationId": "getLoreEntities",
        "summary": "Read named fictional references with source-book and world context",
        "responses": {
          "200": {
            "description": "Named lore references",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "provenance",
                    "scope",
                    "entities"
                  ],
                  "additionalProperties": true
                }
              }
            }
          }
        }
      }
    },
    "/worlds.json": {
      "get": {
        "operationId": "getWorldGuides",
        "summary": "Read first-party introductory world and lore guides with source books",
        "responses": {
          "200": {
            "description": "World guide data",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "provenance",
                    "scope",
                    "url",
                    "worlds"
                  ],
                  "properties": {
                    "provenance": {
                      "const": "first-party"
                    },
                    "scope": {
                      "type": "string"
                    },
                    "url": {
                      "type": "string"
                    },
                    "worlds": {
                      "type": "array",
                      "items": {
                        "type": "object"
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/author-knowledge.json": {
      "get": {
        "operationId": "getAuthorKnowledge",
        "summary": "Read subject guides to the author-approved nonfiction catalogue",
        "responses": {
          "200": {
            "description": "Nonfiction subject guides",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "provenance",
                    "scope",
                    "url",
                    "themes"
                  ],
                  "properties": {
                    "provenance": {
                      "const": "first-party"
                    },
                    "scope": {
                      "type": "string"
                    },
                    "url": {
                      "type": "string"
                    },
                    "themes": {
                      "type": "array",
                      "items": {
                        "type": "object"
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/catalogue.json": {
      "get": {
        "operationId": "getCatalogue",
        "summary": "Read the current author-approved catalogue",
        "responses": {
          "200": {
            "description": "Current catalogue",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Catalogue"
                }
              }
            }
          }
        }
      }
    },
    "/author.json": {
      "get": {
        "operationId": "getAuthor",
        "summary": "Read author information and provenance",
        "responses": {
          "200": {
            "description": "Author information",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Author"
                }
              }
            }
          }
        }
      }
    },
    "/books/{slug}.json": {
      "get": {
        "operationId": "getBook",
        "summary": "Read one current book and its approved edition listings",
        "parameters": [
          {
            "name": "slug",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "peacekeeper-prequel",
                "peace-keeper",
                "rising-tide",
                "star-rising",
                "star-destroyer",
                "world-engine",
                "pulses",
                "futures-guardian",
                "a-chance-encounter",
                "scandinavian-tequila",
                "moments-are-butterflies",
                "haedian-sci-fi-short-stories-volume-one",
                "haedian-sci-fi-short-stories-volume-two",
                "stack-it-tall",
                "proletarian-hearts-part-one",
                "proletarian-hearts-part-two",
                "spliced",
                "journey-home",
                "emily-reed-and-the-humans",
                "peacekeeper-the-complete-series",
                "romance-novel-mega-pack",
                "the-director",
                "sci-fi-novel-mega-pack",
                "beauty-unexpected",
                "peaceful-resistance",
                "the-designer",
                "the-mycelial-invasion",
                "a-mans-guide-to-surviving-marriage",
                "debt-buster",
                "a-dalliance-across-thought",
                "white-assimilation",
                "haedian-poetry-volume-one",
                "the-reality",
                "the-word-of-era",
                "the-communist-republic",
                "marxist-haedoism",
                "aliens-and-humans"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Book information",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BookRecord"
                }
              }
            }
          },
          "404": {
            "description": "No published, approved book has this slug. The static host serves its not-found response."
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "Provenance": {
        "type": "object",
        "required": [
          "type",
          "scope",
          "sourceUrls"
        ],
        "properties": {
          "type": {
            "const": "first-party"
          },
          "scope": {
            "type": "string"
          },
          "sourceUrls": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "verifiedDate": {
            "type": "string",
            "format": "date"
          }
        }
      },
      "Book": {
        "type": "object",
        "required": [
          "@type",
          "name",
          "url",
          "author",
          "sameAs",
          "workExample"
        ],
        "properties": {
          "@type": {
            "const": "Book"
          },
          "name": {
            "type": "string"
          },
          "url": {
            "type": "string"
          },
          "author": {
            "type": "object"
          },
          "sameAs": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "workExample": {
            "type": "array",
            "items": {
              "type": "object"
            }
          }
        },
        "additionalProperties": true
      },
      "EditorialSearchIndex": {
        "type": "object",
        "required": [
          "schemaVersion",
          "representation",
          "language",
          "items"
        ],
        "properties": {
          "schemaVersion": {
            "const": "1.0"
          },
          "representation": {
            "const": "search-index"
          },
          "language": {
            "type": "string",
            "enum": [
              "en",
              "ar",
              "bn",
              "de",
              "es",
              "fa",
              "fr",
              "hi",
              "id",
              "it",
              "ja",
              "ko",
              "nl",
              "pl",
              "pt",
              "ru",
              "sw",
              "ta",
              "te",
              "th",
              "tr",
              "ur",
              "vi",
              "zh"
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "id",
                "title",
                "intro",
                "kind",
                "canonicalUrl",
                "recordUrl",
                "searchText",
                "sourceWorkIds"
              ],
              "properties": {
                "id": {
                  "type": "string"
                },
                "title": {
                  "type": "string"
                },
                "intro": {
                  "type": "string"
                },
                "kind": {
                  "type": "string"
                },
                "canonicalUrl": {
                  "type": "string",
                  "format": "uri-reference"
                },
                "recordUrl": {
                  "type": "string",
                  "format": "uri-reference",
                  "description": "Fetch this address for complete sections, provenance and source-book links."
                },
                "searchText": {
                  "type": "string",
                  "description": "Complete introductory guidance for matching; use intro for a short display excerpt."
                },
                "sourceWorkIds": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      },
      "EditorialRecordEnvelope": {
        "type": "object",
        "required": [
          "schemaVersion",
          "language",
          "modifiedAt",
          "record"
        ],
        "properties": {
          "schemaVersion": {
            "const": "1.0"
          },
          "language": {
            "type": "string",
            "enum": [
              "en",
              "ar",
              "bn",
              "de",
              "es",
              "fa",
              "fr",
              "hi",
              "id",
              "it",
              "ja",
              "ko",
              "nl",
              "pl",
              "pt",
              "ru",
              "sw",
              "ta",
              "te",
              "th",
              "tr",
              "ur",
              "vi",
              "zh"
            ]
          },
          "modifiedAt": {
            "type": "string"
          },
          "record": {
            "type": "object",
            "required": [
              "id",
              "title",
              "intro",
              "sections",
              "canonicalUrl",
              "websiteLanguage",
              "sourceWorkIds",
              "sources"
            ],
            "properties": {
              "id": {
                "type": "string"
              },
              "title": {
                "type": "string"
              },
              "intro": {
                "type": "string"
              },
              "canonicalUrl": {
                "type": "string",
                "format": "uri-reference"
              },
              "websiteLanguage": {
                "type": "string",
                "enum": [
                  "en",
                  "ar",
                  "bn",
                  "de",
                  "es",
                  "fa",
                  "fr",
                  "hi",
                  "id",
                  "it",
                  "ja",
                  "ko",
                  "nl",
                  "pl",
                  "pt",
                  "ru",
                  "sw",
                  "ta",
                  "te",
                  "th",
                  "tr",
                  "ur",
                  "vi",
                  "zh"
                ]
              },
              "scope": {
                "type": "string"
              },
              "sourceEnglish": {
                "type": "string",
                "format": "uri-reference"
              },
              "sections": {
                "type": "array",
                "items": {
                  "type": "object",
                  "required": [
                    "title",
                    "body"
                  ],
                  "properties": {
                    "title": {
                      "type": "string"
                    },
                    "body": {
                      "type": "string"
                    },
                    "url": {
                      "type": "string",
                      "format": "uri-reference",
                      "description": "Canonical page and stable fragment for this visible section. Optional for compatibility with earlier records."
                    }
                  }
                }
              },
              "sourceWorkIds": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "sources": {
                "type": "array",
                "items": {
                  "type": "object",
                  "required": [
                    "workId",
                    "title",
                    "url"
                  ],
                  "properties": {
                    "workId": {
                      "type": "string"
                    },
                    "title": {
                      "type": "string"
                    },
                    "url": {
                      "type": "string",
                      "format": "uri-reference"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "Author": {
        "type": "object",
        "required": [
          "schemaVersion",
          "provenance",
          "canonicalUrl",
          "author",
          "catalogueUrl",
          "workCount"
        ],
        "properties": {
          "schemaVersion": {
            "const": "1.0"
          },
          "provenance": {
            "$ref": "#/components/schemas/Provenance"
          },
          "canonicalUrl": {
            "type": "string"
          },
          "author": {
            "type": "object",
            "required": [
              "@type",
              "name",
              "url"
            ],
            "properties": {
              "@type": {
                "const": "Person"
              },
              "name": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "description": {
                "type": "string"
              },
              "sameAs": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            },
            "additionalProperties": true
          },
          "catalogueUrl": {
            "type": "string"
          },
          "workCount": {
            "type": "integer",
            "minimum": 0
          }
        }
      },
      "BookRecord": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Book"
          },
          {
            "type": "object",
            "required": [
              "schemaVersion",
              "provenance",
              "canonicalUrl",
              "workId",
              "slug",
              "kind",
              "form",
              "summary",
              "collection",
              "editions",
              "editionAvailability"
            ],
            "properties": {
              "schemaVersion": {
                "const": "1.0"
              },
              "provenance": {
                "$ref": "#/components/schemas/Provenance"
              },
              "canonicalUrl": {
                "type": "string"
              },
              "workId": {
                "type": "string"
              },
              "slug": {
                "type": "string"
              },
              "kind": {
                "enum": [
                  "fiction",
                  "poetry",
                  "nonfiction"
                ]
              },
              "form": {
                "type": "string"
              },
              "summary": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "collection": {
                "type": [
                  "object",
                  "null"
                ],
                "properties": {
                  "title": {
                    "type": "string"
                  },
                  "url": {
                    "type": "string"
                  },
                  "readingOrderConfirmed": {
                    "type": "boolean"
                  },
                  "position": {
                    "type": [
                      "integer",
                      "null"
                    ],
                    "minimum": 1
                  }
                }
              },
              "editions": {
                "type": "array",
                "items": {
                  "type": "object",
                  "required": [
                    "id",
                    "format",
                    "url"
                  ],
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "format": {
                      "type": "string"
                    },
                    "url": {
                      "type": "string"
                    }
                  }
                }
              },
              "editionAvailability": {
                "type": "string"
              }
            }
          }
        ]
      },
      "Catalogue": {
        "type": "object",
        "required": [
          "@context",
          "author",
          "authorProfile",
          "status",
          "url",
          "editionAvailability",
          "genreGuides",
          "works",
          "collections"
        ],
        "properties": {
          "@context": {
            "const": "https://schema.org"
          },
          "author": {
            "type": "string"
          },
          "authorProfile": {
            "type": "object"
          },
          "status": {
            "type": "string"
          },
          "url": {
            "type": "string"
          },
          "editionAvailability": {
            "type": "string"
          },
          "genreGuides": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "name",
                "url",
                "description"
              ],
              "properties": {
                "name": {
                  "type": "string"
                },
                "url": {
                  "type": "string"
                },
                "description": {
                  "type": "string"
                }
              }
            }
          },
          "works": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Book"
            }
          },
          "collections": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "title",
                "url",
                "readingOrderConfirmed",
                "works"
              ],
              "properties": {
                "title": {
                  "type": "string"
                },
                "url": {
                  "type": "string"
                },
                "readingOrderConfirmed": {
                  "type": "boolean"
                },
                "works": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}