{"components":{"schemas":{"ApiHealth":{"type":"object","properties":{"service":{"type":"string","enum":["nakafa-public-api"]},"status":{"type":"string","enum":["ok"]},"timestamp":{"type":"integer","allOf":[{"exclusiveMinimum":0}]},"version":{"type":"string"}},"required":["service","status","timestamp","version"],"additionalProperties":false},"ApiIndex":{"type":"object","properties":{"authentication":{"type":"string","enum":["none"]},"description":{"type":"string"},"documentation":{"type":"string"},"mcp":{"type":"string"},"name":{"type":"string","enum":["Nakafa Public API"]},"openapi":{"type":"string"},"status":{"type":"string","enum":["active"]},"version":{"type":"string"}},"required":["authentication","description","documentation","mcp","name","openapi","status","version"],"additionalProperties":false},"Content":{"type":"object","properties":{"alignmentId":{"type":"string"},"assetId":{"type":"string"},"conceptId":{"type":"string"},"content_id":{"type":"string"},"learningObjectId":{"type":"string"},"lensId":{"type":"string"},"locale":{"type":"string","enum":["en","id","de"],"description":"Locale of the referenced content."},"route":{"type":"string"},"section":{"type":"string","enum":["articles","material","tryout","quran"],"description":"Top-level Nakafa content section."},"url":{"type":"string"},"markdown_url":{"type":"string"},"description":{"anyOf":[{"type":"string","description":"Short content description when signed metadata provides one."},{"type":"null"}]},"text":{"type":"string","description":"Full agent-readable markdown text."},"title":{"type":"string","description":"Human-readable content title."}},"required":["alignmentId","assetId","conceptId","content_id","learningObjectId","lensId","locale","route","section","url","markdown_url","text","title"],"additionalProperties":false,"description":"Full Nakafa content markdown payload."},"Problem":{"type":"object","properties":{"code":{"type":"string"},"detail":{"type":"string"},"instance":{"type":"string"},"request_id":{"type":"string"},"resolution":{"type":"string"},"status":{"type":"integer","allOf":[{"minimum":400,"maximum":599}]},"title":{"type":"string"},"type":{"type":"string"}},"required":["code","detail","instance","request_id","resolution","status","title","type"],"additionalProperties":false},"QuranReference":{"anyOf":[{"type":"object","properties":{"alignmentId":{"type":"string"},"assetId":{"type":"string"},"conceptId":{"type":"string"},"content_id":{"type":"string"},"learningObjectId":{"type":"string"},"lensId":{"type":"string"},"locale":{"type":"string","enum":["en"]},"route":{"type":"string"},"section":{"type":"string","enum":["articles","material","tryout","quran"],"description":"Top-level Nakafa content section."},"url":{"type":"string"},"markdown_url":{"type":"string"},"name":{"type":"string","allOf":[{"pattern":"\\S","description":"Source-authenticated transliterated surah name."}]},"pre_bismillah":{"anyOf":[{"type":"object","properties":{"arabic":{"type":"string","description":"Exact signed Arabic Bismillah text."},"translation":{"type":"object","properties":{"notes":{"type":"array","items":{"type":"object","properties":{"number":{"type":"integer","allOf":[{"exclusiveMinimum":0}]},"referenceOffset":{"type":"integer","allOf":[{"minimum":0}]},"text":{"type":"string"}},"required":["number","referenceOffset","text"],"additionalProperties":false}},"segments":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"kind":{"type":"string","enum":["text"]},"offset":{"type":"integer","allOf":[{"minimum":0}]},"value":{"type":"string"}},"required":["kind","offset","value"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["note"]},"number":{"type":"integer","allOf":[{"exclusiveMinimum":0}]},"offset":{"type":"integer","allOf":[{"minimum":0}]}},"required":["kind","number","offset"],"additionalProperties":false}]}}},"required":["notes","segments"],"additionalProperties":false,"description":"Reviewed locale translation of the Bismillah with exact source notes."}},"required":["arabic","translation"],"additionalProperties":false},{"type":"null"}],"description":"Dedicated Bismillah before the selected numbered verses when present."},"revelation":{"type":"string","enum":["Meccan","Medinan"],"description":"Source-authenticated revelation place."},"verses":{"type":"array","items":{"type":"object","properties":{"arabic":{"type":"string","description":"Arabic Quran verse text."},"number":{"type":"integer","allOf":[{"exclusiveMinimum":0,"description":"Verse number inside the surah."}]},"tafsir":{"anyOf":[{"type":"string","description":"Reviewed tafsir text when the locale has an embedded edition and it was requested."},{"type":"null"}]},"translation":{"type":"object","properties":{"notes":{"type":"array","items":{"type":"object","properties":{"number":{"type":"integer","allOf":[{"exclusiveMinimum":0}]},"referenceOffset":{"type":"integer","allOf":[{"minimum":0}]},"text":{"type":"string"}},"required":["number","referenceOffset","text"],"additionalProperties":false}},"segments":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"kind":{"type":"string","enum":["text"]},"offset":{"type":"integer","allOf":[{"minimum":0}]},"value":{"type":"string"}},"required":["kind","offset","value"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["note"]},"number":{"type":"integer","allOf":[{"exclusiveMinimum":0}]},"offset":{"type":"integer","allOf":[{"minimum":0}]}},"required":["kind","number","offset"],"additionalProperties":false}]}}},"required":["notes","segments"],"additionalProperties":false,"description":"Translation represented as text and note-reference segments plus exact source notes."}},"required":["arabic","number","translation"],"additionalProperties":false,"description":"Nakafa Quran verse reference."},"allOf":[{"minItems":1,"description":"Bounded Quran verses."}]},"meaning":{"type":"object","properties":{"locale":{"type":"string","enum":["en"]},"text":{"type":"string","allOf":[{"pattern":"\\S","description":"Authored Quran text containing at least one visible character."}]}},"required":["locale","text"],"additionalProperties":false},"sources":{"type":"object","properties":{"arabic":{"type":"object","properties":{"artifact":{"type":"object","properties":{"byte_count":{"type":"integer","allOf":[{"exclusiveMinimum":0}]},"digest":{"type":"string"},"file_count":{"type":"integer","allOf":[{"exclusiveMinimum":0}]}},"required":["byte_count","digest","file_count"],"additionalProperties":false},"id":{"type":"string","enum":["tanzil-text"]},"kind":{"type":"string","enum":["embedded"]},"label":{"type":"string","allOf":[{"pattern":"^\\S[\\s\\S]*\\S$|^\\S$|^$"},{"minLength":1}]},"notice":{"type":"string","allOf":[{"pattern":"^\\S[\\s\\S]*\\S$|^\\S$|^$"},{"minLength":1}]},"publisher":{"type":"string","allOf":[{"pattern":"^\\S[\\s\\S]*\\S$|^\\S$|^$"},{"minLength":1}]},"retrieved_at":{"type":"string","allOf":[{"pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}Z$"}]},"source_url":{"type":"string"},"terms":{"type":"object","properties":{"artifact":{"type":"object","properties":{"byte_count":{"type":"integer","allOf":[{"exclusiveMinimum":0}]},"digest":{"type":"string"},"file_count":{"type":"integer","allOf":[{"exclusiveMinimum":0}]}},"required":["byte_count","digest","file_count"],"additionalProperties":false},"url":{"type":"string"}},"required":["artifact","url"],"additionalProperties":false},"update_url":{"type":"string"},"version":{"type":"string","allOf":[{"pattern":"^\\S[\\s\\S]*\\S$|^\\S$|^$"},{"minLength":1}]}},"required":["artifact","id","kind","label","notice","publisher","retrieved_at","source_url","terms","update_url","version"],"additionalProperties":false},"translation":{"type":"object","properties":{"artifact":{"type":"object","properties":{"byte_count":{"type":"integer","allOf":[{"exclusiveMinimum":0}]},"digest":{"type":"string"},"file_count":{"type":"integer","allOf":[{"exclusiveMinimum":0}]}},"required":["byte_count","digest","file_count"],"additionalProperties":false},"id":{"type":"string","enum":["quranenc-english"]},"kind":{"type":"string","enum":["embedded"]},"label":{"type":"string","allOf":[{"pattern":"^\\S[\\s\\S]*\\S$|^\\S$|^$"},{"minLength":1}]},"notice":{"type":"string","allOf":[{"pattern":"^\\S[\\s\\S]*\\S$|^\\S$|^$"},{"minLength":1}]},"publisher":{"type":"string","allOf":[{"pattern":"^\\S[\\s\\S]*\\S$|^\\S$|^$"},{"minLength":1}]},"retrieved_at":{"type":"string","allOf":[{"pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}Z$"}]},"source_url":{"type":"string"},"terms":{"type":"object","properties":{"artifact":{"type":"object","properties":{"byte_count":{"type":"integer","allOf":[{"exclusiveMinimum":0}]},"digest":{"type":"string"},"file_count":{"type":"integer","allOf":[{"exclusiveMinimum":0}]}},"required":["byte_count","digest","file_count"],"additionalProperties":false},"url":{"type":"string"}},"required":["artifact","url"],"additionalProperties":false},"update_url":{"type":"string"},"version":{"type":"string","allOf":[{"pattern":"^\\S[\\s\\S]*\\S$|^\\S$|^$"},{"minLength":1}]},"locale":{"type":"string","enum":["en"]}},"required":["artifact","id","kind","label","notice","publisher","retrieved_at","source_url","terms","update_url","version","locale"],"additionalProperties":false}},"required":["arabic","translation"],"additionalProperties":false},"tafsir_access":{"type":"object","properties":{"kind":{"type":"string","enum":["external"]},"locale":{"type":"string","enum":["en"]},"notice":{"type":"string","allOf":[{"pattern":"^\\S[\\s\\S]*\\S$|^\\S$|^$"},{"minLength":1}]},"source":{"type":"object","properties":{"id":{"type":"string","enum":["mokhtasar-english"]},"kind":{"type":"string","enum":["external"]},"label":{"type":"string","allOf":[{"pattern":"^\\S[\\s\\S]*\\S$|^\\S$|^$"},{"minLength":1}]},"notice":{"type":"string","allOf":[{"pattern":"^\\S[\\s\\S]*\\S$|^\\S$|^$"},{"minLength":1}]},"publisher":{"type":"string","allOf":[{"pattern":"^\\S[\\s\\S]*\\S$|^\\S$|^$"},{"minLength":1}]},"retrieved_at":{"type":"string","allOf":[{"pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}Z$"}]},"source_url":{"type":"string"},"terms":{"type":"object","properties":{"access":{"type":"string","enum":["link-only"]},"url":{"type":"string"}},"required":["access","url"],"additionalProperties":false},"update_url":{"type":"string"},"version":{"type":"string","allOf":[{"pattern":"^\\S[\\s\\S]*\\S$|^\\S$|^$"},{"minLength":1}]}},"required":["id","kind","label","notice","publisher","retrieved_at","source_url","terms","update_url","version"],"additionalProperties":false}},"required":["kind","locale","notice","source"],"additionalProperties":false,"description":"Signed link-only English Tafsir access."}},"required":["alignmentId","assetId","conceptId","content_id","learningObjectId","lensId","locale","route","section","url","markdown_url","name","pre_bismillah","revelation","verses","meaning","sources","tafsir_access"],"additionalProperties":false},{"type":"object","properties":{"alignmentId":{"type":"string"},"assetId":{"type":"string"},"conceptId":{"type":"string"},"content_id":{"type":"string"},"learningObjectId":{"type":"string"},"lensId":{"type":"string"},"locale":{"type":"string","enum":["id"]},"route":{"type":"string"},"section":{"type":"string","enum":["articles","material","tryout","quran"],"description":"Top-level Nakafa content section."},"url":{"type":"string"},"markdown_url":{"type":"string"},"name":{"type":"string","allOf":[{"pattern":"\\S","description":"Source-authenticated transliterated surah name."}]},"pre_bismillah":{"anyOf":[{"type":"object","properties":{"arabic":{"type":"string","description":"Exact signed Arabic Bismillah text."},"translation":{"type":"object","properties":{"notes":{"type":"array","items":{"type":"object","properties":{"number":{"type":"integer","allOf":[{"exclusiveMinimum":0}]},"referenceOffset":{"type":"integer","allOf":[{"minimum":0}]},"text":{"type":"string"}},"required":["number","referenceOffset","text"],"additionalProperties":false}},"segments":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"kind":{"type":"string","enum":["text"]},"offset":{"type":"integer","allOf":[{"minimum":0}]},"value":{"type":"string"}},"required":["kind","offset","value"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["note"]},"number":{"type":"integer","allOf":[{"exclusiveMinimum":0}]},"offset":{"type":"integer","allOf":[{"minimum":0}]}},"required":["kind","number","offset"],"additionalProperties":false}]}}},"required":["notes","segments"],"additionalProperties":false,"description":"Reviewed locale translation of the Bismillah with exact source notes."}},"required":["arabic","translation"],"additionalProperties":false},{"type":"null"}],"description":"Dedicated Bismillah before the selected numbered verses when present."},"revelation":{"type":"string","enum":["Meccan","Medinan"],"description":"Source-authenticated revelation place."},"verses":{"type":"array","items":{"type":"object","properties":{"arabic":{"type":"string","description":"Arabic Quran verse text."},"number":{"type":"integer","allOf":[{"exclusiveMinimum":0,"description":"Verse number inside the surah."}]},"tafsir":{"anyOf":[{"type":"string","description":"Reviewed tafsir text when the locale has an embedded edition and it was requested."},{"type":"null"}]},"translation":{"type":"object","properties":{"notes":{"type":"array","items":{"type":"object","properties":{"number":{"type":"integer","allOf":[{"exclusiveMinimum":0}]},"referenceOffset":{"type":"integer","allOf":[{"minimum":0}]},"text":{"type":"string"}},"required":["number","referenceOffset","text"],"additionalProperties":false}},"segments":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"kind":{"type":"string","enum":["text"]},"offset":{"type":"integer","allOf":[{"minimum":0}]},"value":{"type":"string"}},"required":["kind","offset","value"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["note"]},"number":{"type":"integer","allOf":[{"exclusiveMinimum":0}]},"offset":{"type":"integer","allOf":[{"minimum":0}]}},"required":["kind","number","offset"],"additionalProperties":false}]}}},"required":["notes","segments"],"additionalProperties":false,"description":"Translation represented as text and note-reference segments plus exact source notes."}},"required":["arabic","number","translation"],"additionalProperties":false,"description":"Nakafa Quran verse reference."},"allOf":[{"minItems":1,"description":"Bounded Quran verses."}]},"meaning":{"anyOf":[{"type":"object","properties":{"locale":{"type":"string","enum":["id"]},"text":{"type":"string","allOf":[{"pattern":"\\S","description":"Authored Quran text containing at least one visible character."}]}},"required":["locale","text"],"additionalProperties":false},{"type":"object","properties":{"locale":{"type":"string","enum":["en"]},"text":{"type":"string","allOf":[{"pattern":"\\S","description":"Authored Quran text containing at least one visible character."}]}},"required":["locale","text"],"additionalProperties":false}]},"sources":{"type":"object","properties":{"arabic":{"type":"object","properties":{"artifact":{"type":"object","properties":{"byte_count":{"type":"integer","allOf":[{"exclusiveMinimum":0}]},"digest":{"type":"string"},"file_count":{"type":"integer","allOf":[{"exclusiveMinimum":0}]}},"required":["byte_count","digest","file_count"],"additionalProperties":false},"id":{"type":"string","enum":["tanzil-text"]},"kind":{"type":"string","enum":["embedded"]},"label":{"type":"string","allOf":[{"pattern":"^\\S[\\s\\S]*\\S$|^\\S$|^$"},{"minLength":1}]},"notice":{"type":"string","allOf":[{"pattern":"^\\S[\\s\\S]*\\S$|^\\S$|^$"},{"minLength":1}]},"publisher":{"type":"string","allOf":[{"pattern":"^\\S[\\s\\S]*\\S$|^\\S$|^$"},{"minLength":1}]},"retrieved_at":{"type":"string","allOf":[{"pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}Z$"}]},"source_url":{"type":"string"},"terms":{"type":"object","properties":{"artifact":{"type":"object","properties":{"byte_count":{"type":"integer","allOf":[{"exclusiveMinimum":0}]},"digest":{"type":"string"},"file_count":{"type":"integer","allOf":[{"exclusiveMinimum":0}]}},"required":["byte_count","digest","file_count"],"additionalProperties":false},"url":{"type":"string"}},"required":["artifact","url"],"additionalProperties":false},"update_url":{"type":"string"},"version":{"type":"string","allOf":[{"pattern":"^\\S[\\s\\S]*\\S$|^\\S$|^$"},{"minLength":1}]}},"required":["artifact","id","kind","label","notice","publisher","retrieved_at","source_url","terms","update_url","version"],"additionalProperties":false},"translation":{"type":"object","properties":{"artifact":{"type":"object","properties":{"byte_count":{"type":"integer","allOf":[{"exclusiveMinimum":0}]},"digest":{"type":"string"},"file_count":{"type":"integer","allOf":[{"exclusiveMinimum":0}]}},"required":["byte_count","digest","file_count"],"additionalProperties":false},"id":{"type":"string","enum":["quranenc-indonesian"]},"kind":{"type":"string","enum":["embedded"]},"label":{"type":"string","allOf":[{"pattern":"^\\S[\\s\\S]*\\S$|^\\S$|^$"},{"minLength":1}]},"notice":{"type":"string","allOf":[{"pattern":"^\\S[\\s\\S]*\\S$|^\\S$|^$"},{"minLength":1}]},"publisher":{"type":"string","allOf":[{"pattern":"^\\S[\\s\\S]*\\S$|^\\S$|^$"},{"minLength":1}]},"retrieved_at":{"type":"string","allOf":[{"pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}Z$"}]},"source_url":{"type":"string"},"terms":{"type":"object","properties":{"artifact":{"type":"object","properties":{"byte_count":{"type":"integer","allOf":[{"exclusiveMinimum":0}]},"digest":{"type":"string"},"file_count":{"type":"integer","allOf":[{"exclusiveMinimum":0}]}},"required":["byte_count","digest","file_count"],"additionalProperties":false},"url":{"type":"string"}},"required":["artifact","url"],"additionalProperties":false},"update_url":{"type":"string"},"version":{"type":"string","allOf":[{"pattern":"^\\S[\\s\\S]*\\S$|^\\S$|^$"},{"minLength":1}]},"locale":{"type":"string","enum":["id"]}},"required":["artifact","id","kind","label","notice","publisher","retrieved_at","source_url","terms","update_url","version","locale"],"additionalProperties":false}},"required":["arabic","translation"],"additionalProperties":false},"tafsir_access":{"type":"object","properties":{"kind":{"type":"string","enum":["embedded"]},"locale":{"type":"string","enum":["id"]},"notice":{"type":"string","allOf":[{"pattern":"^\\S[\\s\\S]*\\S$|^\\S$|^$"},{"minLength":1}]},"source":{"type":"object","properties":{"artifact":{"type":"object","properties":{"byte_count":{"type":"integer","allOf":[{"exclusiveMinimum":0}]},"digest":{"type":"string"},"file_count":{"type":"integer","allOf":[{"exclusiveMinimum":0}]}},"required":["byte_count","digest","file_count"],"additionalProperties":false},"id":{"type":"string","enum":["quranenc-tafsir"]},"kind":{"type":"string","enum":["embedded"]},"label":{"type":"string","allOf":[{"pattern":"^\\S[\\s\\S]*\\S$|^\\S$|^$"},{"minLength":1}]},"notice":{"type":"string","allOf":[{"pattern":"^\\S[\\s\\S]*\\S$|^\\S$|^$"},{"minLength":1}]},"publisher":{"type":"string","allOf":[{"pattern":"^\\S[\\s\\S]*\\S$|^\\S$|^$"},{"minLength":1}]},"retrieved_at":{"type":"string","allOf":[{"pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}Z$"}]},"source_url":{"type":"string"},"terms":{"type":"object","properties":{"artifact":{"type":"object","properties":{"byte_count":{"type":"integer","allOf":[{"exclusiveMinimum":0}]},"digest":{"type":"string"},"file_count":{"type":"integer","allOf":[{"exclusiveMinimum":0}]}},"required":["byte_count","digest","file_count"],"additionalProperties":false},"url":{"type":"string"}},"required":["artifact","url"],"additionalProperties":false},"update_url":{"type":"string"},"version":{"type":"string","allOf":[{"pattern":"^\\S[\\s\\S]*\\S$|^\\S$|^$"},{"minLength":1}]}},"required":["artifact","id","kind","label","notice","publisher","retrieved_at","source_url","terms","update_url","version"],"additionalProperties":false}},"required":["kind","locale","notice","source"],"additionalProperties":false}},"required":["alignmentId","assetId","conceptId","content_id","learningObjectId","lensId","locale","route","section","url","markdown_url","name","pre_bismillah","revelation","verses","meaning","sources","tafsir_access"],"additionalProperties":false},{"type":"object","properties":{"alignmentId":{"type":"string"},"assetId":{"type":"string"},"conceptId":{"type":"string"},"content_id":{"type":"string"},"learningObjectId":{"type":"string"},"lensId":{"type":"string"},"locale":{"type":"string","enum":["de"]},"route":{"type":"string"},"section":{"type":"string","enum":["articles","material","tryout","quran"],"description":"Top-level Nakafa content section."},"url":{"type":"string"},"markdown_url":{"type":"string"},"name":{"type":"string","allOf":[{"pattern":"\\S","description":"Source-authenticated transliterated surah name."}]},"pre_bismillah":{"anyOf":[{"type":"object","properties":{"arabic":{"type":"string","description":"Exact signed Arabic Bismillah text."},"translation":{"type":"object","properties":{"notes":{"type":"array","items":{"type":"object","properties":{"number":{"type":"integer","allOf":[{"exclusiveMinimum":0}]},"referenceOffset":{"type":"integer","allOf":[{"minimum":0}]},"text":{"type":"string"}},"required":["number","referenceOffset","text"],"additionalProperties":false}},"segments":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"kind":{"type":"string","enum":["text"]},"offset":{"type":"integer","allOf":[{"minimum":0}]},"value":{"type":"string"}},"required":["kind","offset","value"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["note"]},"number":{"type":"integer","allOf":[{"exclusiveMinimum":0}]},"offset":{"type":"integer","allOf":[{"minimum":0}]}},"required":["kind","number","offset"],"additionalProperties":false}]}}},"required":["notes","segments"],"additionalProperties":false,"description":"Reviewed locale translation of the Bismillah with exact source notes."}},"required":["arabic","translation"],"additionalProperties":false},{"type":"null"}],"description":"Dedicated Bismillah before the selected numbered verses when present."},"revelation":{"type":"string","enum":["Meccan","Medinan"],"description":"Source-authenticated revelation place."},"verses":{"type":"array","items":{"type":"object","properties":{"arabic":{"type":"string","description":"Arabic Quran verse text."},"number":{"type":"integer","allOf":[{"exclusiveMinimum":0,"description":"Verse number inside the surah."}]},"tafsir":{"anyOf":[{"type":"string","description":"Reviewed tafsir text when the locale has an embedded edition and it was requested."},{"type":"null"}]},"translation":{"type":"object","properties":{"notes":{"type":"array","items":{"type":"object","properties":{"number":{"type":"integer","allOf":[{"exclusiveMinimum":0}]},"referenceOffset":{"type":"integer","allOf":[{"minimum":0}]},"text":{"type":"string"}},"required":["number","referenceOffset","text"],"additionalProperties":false}},"segments":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"kind":{"type":"string","enum":["text"]},"offset":{"type":"integer","allOf":[{"minimum":0}]},"value":{"type":"string"}},"required":["kind","offset","value"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["note"]},"number":{"type":"integer","allOf":[{"exclusiveMinimum":0}]},"offset":{"type":"integer","allOf":[{"minimum":0}]}},"required":["kind","number","offset"],"additionalProperties":false}]}}},"required":["notes","segments"],"additionalProperties":false,"description":"Translation represented as text and note-reference segments plus exact source notes."}},"required":["arabic","number","translation"],"additionalProperties":false,"description":"Nakafa Quran verse reference."},"allOf":[{"minItems":1,"description":"Bounded Quran verses."}]},"meaning":{"anyOf":[{"type":"object","properties":{"locale":{"type":"string","enum":["de"]},"text":{"type":"string","allOf":[{"pattern":"\\S","description":"Authored Quran text containing at least one visible character."}]}},"required":["locale","text"],"additionalProperties":false},{"type":"object","properties":{"locale":{"type":"string","enum":["en"]},"text":{"type":"string","allOf":[{"pattern":"\\S","description":"Authored Quran text containing at least one visible character."}]}},"required":["locale","text"],"additionalProperties":false}]},"sources":{"type":"object","properties":{"arabic":{"type":"object","properties":{"artifact":{"type":"object","properties":{"byte_count":{"type":"integer","allOf":[{"exclusiveMinimum":0}]},"digest":{"type":"string"},"file_count":{"type":"integer","allOf":[{"exclusiveMinimum":0}]}},"required":["byte_count","digest","file_count"],"additionalProperties":false},"id":{"type":"string","enum":["tanzil-text"]},"kind":{"type":"string","enum":["embedded"]},"label":{"type":"string","allOf":[{"pattern":"^\\S[\\s\\S]*\\S$|^\\S$|^$"},{"minLength":1}]},"notice":{"type":"string","allOf":[{"pattern":"^\\S[\\s\\S]*\\S$|^\\S$|^$"},{"minLength":1}]},"publisher":{"type":"string","allOf":[{"pattern":"^\\S[\\s\\S]*\\S$|^\\S$|^$"},{"minLength":1}]},"retrieved_at":{"type":"string","allOf":[{"pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}Z$"}]},"source_url":{"type":"string"},"terms":{"type":"object","properties":{"artifact":{"type":"object","properties":{"byte_count":{"type":"integer","allOf":[{"exclusiveMinimum":0}]},"digest":{"type":"string"},"file_count":{"type":"integer","allOf":[{"exclusiveMinimum":0}]}},"required":["byte_count","digest","file_count"],"additionalProperties":false},"url":{"type":"string"}},"required":["artifact","url"],"additionalProperties":false},"update_url":{"type":"string"},"version":{"type":"string","allOf":[{"pattern":"^\\S[\\s\\S]*\\S$|^\\S$|^$"},{"minLength":1}]}},"required":["artifact","id","kind","label","notice","publisher","retrieved_at","source_url","terms","update_url","version"],"additionalProperties":false},"translation":{"type":"object","properties":{"artifact":{"type":"object","properties":{"byte_count":{"type":"integer","allOf":[{"exclusiveMinimum":0}]},"digest":{"type":"string"},"file_count":{"type":"integer","allOf":[{"exclusiveMinimum":0}]}},"required":["byte_count","digest","file_count"],"additionalProperties":false},"id":{"type":"string","enum":["quranenc-german"]},"kind":{"type":"string","enum":["embedded"]},"label":{"type":"string","allOf":[{"pattern":"^\\S[\\s\\S]*\\S$|^\\S$|^$"},{"minLength":1}]},"notice":{"type":"string","allOf":[{"pattern":"^\\S[\\s\\S]*\\S$|^\\S$|^$"},{"minLength":1}]},"publisher":{"type":"string","allOf":[{"pattern":"^\\S[\\s\\S]*\\S$|^\\S$|^$"},{"minLength":1}]},"retrieved_at":{"type":"string","allOf":[{"pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}Z$"}]},"source_url":{"type":"string"},"terms":{"type":"object","properties":{"artifact":{"type":"object","properties":{"byte_count":{"type":"integer","allOf":[{"exclusiveMinimum":0}]},"digest":{"type":"string"},"file_count":{"type":"integer","allOf":[{"exclusiveMinimum":0}]}},"required":["byte_count","digest","file_count"],"additionalProperties":false},"url":{"type":"string"}},"required":["artifact","url"],"additionalProperties":false},"update_url":{"type":"string"},"version":{"type":"string","allOf":[{"pattern":"^\\S[\\s\\S]*\\S$|^\\S$|^$"},{"minLength":1}]},"locale":{"type":"string","enum":["de"]}},"required":["artifact","id","kind","label","notice","publisher","retrieved_at","source_url","terms","update_url","version","locale"],"additionalProperties":false}},"required":["arabic","translation"],"additionalProperties":false},"tafsir_access":{"type":"object","properties":{"kind":{"type":"string","enum":["external"]},"locale":{"type":"string","enum":["de"]},"notice":{"type":"string","allOf":[{"pattern":"^\\S[\\s\\S]*\\S$|^\\S$|^$"},{"minLength":1}]},"source":{"type":"object","properties":{"id":{"type":"string","enum":["mokhtasar-german"]},"kind":{"type":"string","enum":["external"]},"label":{"type":"string","allOf":[{"pattern":"^\\S[\\s\\S]*\\S$|^\\S$|^$"},{"minLength":1}]},"notice":{"type":"string","allOf":[{"pattern":"^\\S[\\s\\S]*\\S$|^\\S$|^$"},{"minLength":1}]},"publisher":{"type":"string","allOf":[{"pattern":"^\\S[\\s\\S]*\\S$|^\\S$|^$"},{"minLength":1}]},"retrieved_at":{"type":"string","allOf":[{"pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}Z$"}]},"source_url":{"type":"string"},"terms":{"type":"object","properties":{"access":{"type":"string","enum":["link-only"]},"url":{"type":"string"}},"required":["access","url"],"additionalProperties":false},"update_url":{"type":"string"},"version":{"type":"string","allOf":[{"pattern":"^\\S[\\s\\S]*\\S$|^\\S$|^$"},{"minLength":1}]}},"required":["id","kind","label","notice","publisher","retrieved_at","source_url","terms","update_url","version"],"additionalProperties":false}},"required":["kind","locale","notice","source"],"additionalProperties":false,"description":"Signed link-only German Tafsir access."}},"required":["alignmentId","assetId","conceptId","content_id","learningObjectId","lensId","locale","route","section","url","markdown_url","name","pre_bismillah","revelation","verses","meaning","sources","tafsir_access"],"additionalProperties":false}],"description":"Nakafa Quran reference with semantic notes and signed source attribution."},"SearchResult":{"type":"object","properties":{"count":{"type":"integer","allOf":[{"minimum":0,"description":"Number of returned results."}]},"has_more":{"type":"boolean","description":"Whether another page is available."},"items":{"type":"array","items":{"type":"object","properties":{"alignmentId":{"type":"string"},"assetId":{"type":"string"},"conceptId":{"type":"string"},"content_id":{"type":"string"},"learningObjectId":{"type":"string"},"lensId":{"type":"string"},"locale":{"type":"string","enum":["en","id","de"],"description":"Locale of the referenced content."},"route":{"type":"string"},"section":{"type":"string","enum":["articles","material","tryout","quran"],"description":"Top-level Nakafa content section."},"url":{"type":"string"},"markdown_url":{"anyOf":[{"type":"string"},{"type":"null"}]},"description":{"type":"string","description":"Short content description for search results."},"title":{"type":"string","description":"Human-readable content title."},"excerpt":{"type":"string","description":"Plain-text search excerpt with matched context."}},"required":["alignmentId","assetId","conceptId","content_id","learningObjectId","lensId","locale","route","section","url","description","title","excerpt"],"additionalProperties":false,"description":"Searchable Nakafa content result item."},"description":"Bounded search result page."},"limit":{"type":"integer","allOf":[{"exclusiveMinimum":0,"description":"Requested page size."}]},"next_offset":{"anyOf":[{"type":"integer","allOf":[{"minimum":0,"description":"Next page offset when another page is available."}]},{"type":"null"}]},"offset":{"type":"integer","allOf":[{"minimum":0,"description":"Current result offset."}]}},"required":["count","has_more","items","limit","offset"],"additionalProperties":false,"description":"Paginated Nakafa content search result."},"Taxonomy":{"type":"object","properties":{"articles":{"type":"object","properties":{"categories":{"type":"array","items":{"type":"string"},"description":"Supported article categories."}},"required":["categories"],"additionalProperties":false,"description":"Article taxonomy."},"content_counts":{"type":"array","items":{"type":"object","properties":{"count":{"type":"integer","allOf":[{"minimum":0,"description":"Indexed content count."}]},"locale":{"type":"string","enum":["en","id","de"],"description":"Locale for this count."}},"required":["count","locale"],"additionalProperties":false},"description":"Indexed content counts by locale."},"default_locale":{"type":"string","enum":["en","id","de"],"description":"Default Nakafa locale."},"endpoints":{"type":"object","properties":{"direct":{"type":"string"},"recommended":{"type":"string"},"root_note":{"type":"string","description":"Root URL connection guidance."}},"required":["direct","recommended","root_note"],"additionalProperties":false,"description":"MCP endpoint guidance."},"tryout":{"type":"object","properties":{"countries":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Canonical route/schema identifier."},"label":{"type":"string","description":"Localized display label."}},"required":["id","label"],"additionalProperties":false,"description":"Supported taxonomy value with a localized label."},"description":"Supported try-out countries."},"exams":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Canonical route/schema identifier."},"label":{"type":"string","description":"Localized display label."}},"required":["id","label"],"additionalProperties":false,"description":"Supported taxonomy value with a localized label."},"description":"Supported try-out exams."}},"required":["countries","exams"],"additionalProperties":false,"description":"Try-out taxonomy."},"locale":{"type":"string","enum":["en","id","de"],"description":"Locale used for this taxonomy response."},"locales":{"type":"array","items":{"type":"string","enum":["en","id","de"]},"description":"Supported content locales."},"quran":{"type":"object","properties":{"surah_count":{"type":"integer","allOf":[{"exclusiveMinimum":0,"description":"Indexed Quran surah count."}]}},"required":["surah_count"],"additionalProperties":false,"description":"Quran taxonomy."},"sections":{"type":"array","items":{"type":"string","enum":["articles","material","tryout","quran"],"description":"Public Nakafa content section: \"material\" lessons, \"tryout\" exam simulations, \"articles\" editorial/news content, or \"quran\" Quran references."},"description":"Supported top-level content sections."},"tools":{"type":"array","items":{"type":"string"},"description":"Public MCP tools exposed by Nakafa."}},"required":["articles","content_counts","default_locale","endpoints","tryout","locale","locales","quran","sections","tools"],"additionalProperties":false,"description":"Nakafa public content taxonomy."}},"securitySchemes":{}},"externalDocs":{"description":"Nakafa agent-readable documentation","url":"https://nakafa.com/llms.txt"},"info":{"contact":{"email":"nakafaai@gmail.com","name":"Nakafa Support","url":"https://nakafa.com/contact"},"description":"Read-only public access to Nakafa's signed educational content through one supported V1 contract.","license":{"name":"Nakafa terms","url":"https://nakafa.com/en/terms-of-service"},"title":"Nakafa Public API","version":"1.0.0","x-version-policy":"V1 is the only supported public API contract."},"jsonSchemaDialect":"https://json-schema.org/draft/2020-12/schema","openapi":"3.1.1","paths":{"/openapi.json":{"get":{"description":"Returns the OpenAPI 3.1 contract with one-hour cache revalidation.","operationId":"getNakafaOpenApi","parameters":[],"responses":{"200":{"content":{"application/json":{"example":{"info":{"title":"Nakafa Public API","version":"1.0.0"},"openapi":"3.1.1","paths":{}},"schema":{"additionalProperties":true,"properties":{"info":{"type":"object"},"openapi":{"type":"string"},"paths":{"type":"object"}},"required":["openapi","info","paths"],"type":"object"}}},"description":"The canonical Nakafa OpenAPI document."},"304":{"description":"The cached contract is current.","headers":{"ETag":{"description":"Validator for the exact serialized contract.","schema":{"type":"string"}}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Malformed request parameters."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request did not pass the public edge guard."},"405":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The HTTP method is not supported."},"406":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"No acceptable response representation is available."},"415":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The declared request media type is not supported."},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The typed request could not be processed."},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An unexpected server failure occurred."},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The signed content service is unavailable."}},"summary":"Read the OpenAPI contract","tags":["Public read API"],"x-nakafa-read-only":true}},"/v1/quran/{surah}":{"get":{"description":"Returns a bounded Quran verse range with semantic translation notes, signed Arabic and translation sources, and explicit locale-specific tafsir access.","operationId":"getNakafaQuranReference","parameters":[{"description":"Surah number from 1 through 114.","example":1,"in":"path","name":"surah","required":true,"schema":{"type":"integer","allOf":[{"minimum":1,"maximum":114,"description":"Surah number."}]}},{"description":"First verse number. Defaults to 1.","example":1,"in":"query","name":"from_verse","required":false,"schema":{"type":"integer","allOf":[{"exclusiveMinimum":0}]}},{"description":"Last verse number. Defaults to from_verse.","example":7,"in":"query","name":"to_verse","required":false,"schema":{"type":"integer","allOf":[{"exclusiveMinimum":0,"description":"Last verse number to include; defaults to from_verse."}]}},{"description":"Translation locale. Defaults to English.","example":"en","in":"query","name":"locale","required":false,"schema":{"type":"string","enum":["en","id","de"]}},{"description":"Include reviewed tafsir when available.","example":false,"in":"query","name":"include_tafsir","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"example":{"alignmentId":"alignment:example:quran:1","assetId":"asset:example:quran:1","conceptId":"concept:example:quran:1","content_id":"asset:example:quran:1","learningObjectId":"learning-object:example:quran:1","lensId":"lens:example:quran","locale":"en","markdown_url":"https://nakafa.com/en/quran/1.md","meaning":{"locale":"en","text":"The Opening"},"name":"Al-Faatiha","pre_bismillah":null,"revelation":"Meccan","route":"quran/1","section":"quran","sources":{"arabic":{"artifact":{"byte_count":3456789,"digest":"sha256:1111111111111111111111111111111111111111111111111111111111111111","file_count":1},"id":"tanzil-text","kind":"embedded","label":"Example tanzil-text","notice":"Example signed embedded source.","publisher":"Example publisher","retrieved_at":"2026-08-26T15:51:00Z","source_url":"https://example.test/tanzil-text","terms":{"artifact":{"byte_count":3456789,"digest":"sha256:1111111111111111111111111111111111111111111111111111111111111111","file_count":1},"url":"https://example.test/tanzil-text/terms"},"update_url":"https://example.test/tanzil-text/updates","version":"example-version"},"translation":{"artifact":{"byte_count":3456789,"digest":"sha256:1111111111111111111111111111111111111111111111111111111111111111","file_count":1},"id":"quranenc-english","kind":"embedded","label":"Example quranenc-english","notice":"Example signed embedded source.","publisher":"Example publisher","retrieved_at":"2026-08-26T15:51:00Z","source_url":"https://example.test/quranenc-english","terms":{"artifact":{"byte_count":3456789,"digest":"sha256:1111111111111111111111111111111111111111111111111111111111111111","file_count":1},"url":"https://example.test/quranenc-english/terms"},"update_url":"https://example.test/quranenc-english/updates","version":"example-version","locale":"en"}},"tafsir_access":{"kind":"external","locale":"en","notice":"Example signed link-only Tafsir access.","source":{"id":"mokhtasar-english","kind":"external","label":"Example mokhtasar-english","notice":"Example signed link-only source.","publisher":"Example publisher","retrieved_at":"2026-08-26T15:51:00Z","source_url":"https://example.test/mokhtasar-english","terms":{"access":"link-only","url":"https://example.test/mokhtasar-english/terms"},"update_url":"https://example.test/mokhtasar-english/updates","version":"example-version"}},"url":"https://nakafa.com/en/quran/1","verses":[{"arabic":"بِسْمِ اللّٰهِ الرَّحْمٰنِ الرَّحِيْمِ","number":1,"translation":{"notes":[{"number":1,"referenceOffset":47,"text":"Exact source-authored explanatory note."}],"segments":[{"kind":"text","offset":0,"value":"In the name of Allah, the Most Compassionate. "},{"kind":"note","number":1,"offset":47}]}}]},"schema":{"$ref":"#/components/schemas/QuranReference"}}},"description":"A source-grounded Quran reference."},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Malformed request parameters."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request did not pass the public edge guard."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The requested surah was not found."},"405":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The HTTP method is not supported."},"406":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"No acceptable response representation is available."},"415":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The declared request media type is not supported."},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The typed request could not be processed."},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The client exceeded the bounded application quota. Honor Retry-After and retry with backoff.","headers":{"Retry-After":{"description":"Required retry delay in seconds.","schema":{"type":"string"}}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An unexpected server failure occurred."},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The signed content service is unavailable."}},"summary":"Read a source-grounded Quran reference","tags":["Public read API"],"x-nakafa-read-only":true}},"/v1":{"get":{"description":"Returns stable service identity and links for developers and agents.","operationId":"getNakafaApiIndex","parameters":[],"responses":{"200":{"content":{"application/json":{"example":{"authentication":"none","description":"Read-only access to Nakafa's signed educational content for developers and agents.","documentation":"https://nakafa.com/llms.txt","mcp":"https://nakafa.com/mcp","name":"Nakafa Public API","openapi":"https://api.nakafa.com/openapi.json","status":"active","version":"1.0.0"},"schema":{"$ref":"#/components/schemas/ApiIndex"}}},"description":"API service index."},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Malformed request parameters."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request did not pass the public edge guard."},"405":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The HTTP method is not supported."},"406":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"No acceptable response representation is available."},"415":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The declared request media type is not supported."},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The typed request could not be processed."},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An unexpected server failure occurred."},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The signed content service is unavailable."}},"summary":"Read the API index","tags":["Public read API"],"x-nakafa-read-only":true}},"/v1/content":{"get":{"description":"Resolves a readable content ID, resource URI, or canonical URL to agent-readable Markdown.","operationId":"getNakafaContent","parameters":[{"description":"A readable content ID from search, resource URI, or canonical Nakafa URL.","example":"asset:example:material:linear-equations","in":"query","name":"ref","required":true,"schema":{"type":"string","allOf":[{"minLength":1}]}}],"responses":{"200":{"content":{"application/json":{"example":{"alignmentId":"alignment:example:mathematics","assetId":"asset:example:material:linear-equations","conceptId":"concept:example:linear-equations","content_id":"asset:example:material:linear-equations","learningObjectId":"learning-object:example:linear-equations","lensId":"lens:example:secondary-school","locale":"en","markdown_url":"https://nakafa.com/en/subjects/mathematics/algebra/linear-equations.md","route":"subjects/mathematics/algebra/linear-equations","section":"material","url":"https://nakafa.com/en/subjects/mathematics/algebra/linear-equations","description":"A lesson about solving linear equations.","text":"# Linear equations\n\nA linear equation has variables raised to the first power.","title":"Linear equations"},"schema":{"$ref":"#/components/schemas/Content"}}},"description":"Resolved public content."},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Malformed request parameters."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request did not pass the public edge guard."},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The content reference was not found."},"405":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The HTTP method is not supported."},"406":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"No acceptable response representation is available."},"415":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The declared request media type is not supported."},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The typed request could not be processed."},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The client exceeded the bounded application quota. Honor Retry-After and retry with backoff.","headers":{"Retry-After":{"description":"Required retry delay in seconds.","schema":{"type":"string"}}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An unexpected server failure occurred."},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The signed content service is unavailable."}},"summary":"Read public content","tags":["Public read API"],"x-nakafa-read-only":true}},"/v1/health":{"get":{"description":"Returns process health and an observation timestamp without reading content data.","operationId":"getNakafaApiHealth","parameters":[],"responses":{"200":{"content":{"application/json":{"example":{"service":"nakafa-public-api","status":"ok","timestamp":1777072400000,"version":"1.0.0"},"schema":{"$ref":"#/components/schemas/ApiHealth"}}},"description":"The service is available."},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Malformed request parameters."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request did not pass the public edge guard."},"405":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The HTTP method is not supported."},"406":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"No acceptable response representation is available."},"415":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The declared request media type is not supported."},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The typed request could not be processed."},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An unexpected server failure occurred."},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The signed content service is unavailable."}},"summary":"Check API health","tags":["Public read API"],"x-nakafa-read-only":true}},"/v1/search":{"get":{"description":"Searches the current signed Nakafa publication with stable pagination.","operationId":"searchNakafaContent","parameters":[{"description":"One or more alternate search phrases.","example":["linear equations"],"explode":true,"in":"query","name":"query","required":false,"schema":{"type":"array","items":{"type":"string"},"allOf":[{"maxItems":4,"description":"Optional search-engine query strings over synced Nakafa title, route, localized labels, and content text. Use one string for one search, multiple strings for unique alternate phrasings in the same section and locale. Preserve exact identifiers such as names, years, labels, canonical IDs, and URLs. Use limit for requested counts. Use separate parallel search tool calls when section filters differ."}]},"style":"form"},{"description":"Optional top-level content section.","example":"material","in":"query","name":"section","required":false,"schema":{"type":"string","enum":["articles","material","tryout","quran"],"description":"Optional section filter. Use \"material\" for lessons, practice, school materials, class or grade topics, and study content. Use \"articles\" only when the user explicitly asks for articles, news, essays, analysis, or editorial content. Use \"quran\" for surah, ayah, tafsir, or Quran references. Omit this filter for broad topic discovery."}},{"description":"Content locale. Defaults to English.","example":"en","in":"query","name":"locale","required":false,"schema":{"type":"string","enum":["en","id","de"]}},{"description":"Page size. Defaults to 10 and cannot exceed 10.","example":10,"in":"query","name":"limit","required":false,"schema":{"type":"integer","allOf":[{"minimum":1,"maximum":10}]}},{"description":"Zero-based pagination offset.","example":0,"in":"query","name":"offset","required":false,"schema":{"type":"integer","allOf":[{"minimum":0,"maximum":9}]}}],"responses":{"200":{"content":{"application/json":{"example":{"count":1,"has_more":false,"items":[{"alignmentId":"alignment:example:mathematics","assetId":"asset:example:material:linear-equations","conceptId":"concept:example:linear-equations","content_id":"asset:example:material:linear-equations","learningObjectId":"learning-object:example:linear-equations","lensId":"lens:example:secondary-school","locale":"en","markdown_url":"https://nakafa.com/en/subjects/mathematics/algebra/linear-equations.md","route":"subjects/mathematics/algebra/linear-equations","section":"material","url":"https://nakafa.com/en/subjects/mathematics/algebra/linear-equations","description":"A lesson about solving linear equations.","excerpt":"A linear equation has variables raised to the first power.","title":"Linear equations"}],"limit":10,"offset":0},"schema":{"$ref":"#/components/schemas/SearchResult"}}},"description":"A paginated search result."},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Malformed request parameters."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request did not pass the public edge guard."},"405":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The HTTP method is not supported."},"406":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"No acceptable response representation is available."},"415":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The declared request media type is not supported."},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The typed request could not be processed."},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The client exceeded the bounded application quota. Honor Retry-After and retry with backoff.","headers":{"Retry-After":{"description":"Required retry delay in seconds.","schema":{"type":"string"}}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An unexpected server failure occurred."},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The signed content service is unavailable."}},"summary":"Search public content","tags":["Public read API"],"x-nakafa-read-only":true}},"/v1/taxonomy":{"get":{"description":"Returns current public sections, locales, categories, counts, and agent tools.","operationId":"getNakafaTaxonomy","parameters":[{"description":"Locale for localized taxonomy values.","example":"en","in":"query","name":"locale","required":false,"schema":{"type":"string","enum":["en","id","de"]}}],"responses":{"200":{"content":{"application/json":{"example":{"articles":{"categories":["education"]},"content_counts":[{"count":120,"locale":"en"},{"count":120,"locale":"id"},{"count":120,"locale":"de"}],"default_locale":"en","endpoints":{"direct":"https://mcp.nakafa.com/mcp","recommended":"https://nakafa.com/mcp","root_note":"https://mcp.nakafa.com is informational only."},"locale":"en","locales":["en","id","de"],"quran":{"surah_count":114},"sections":["articles","material","tryout","quran"],"tools":["nakafa_search_content","nakafa_get_content","nakafa_get_taxonomy","nakafa_get_quran_reference"],"tryout":{"countries":[],"exams":[]}},"schema":{"$ref":"#/components/schemas/Taxonomy"}}},"description":"Current public taxonomy."},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Malformed request parameters."},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The request did not pass the public edge guard."},"405":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The HTTP method is not supported."},"406":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"No acceptable response representation is available."},"415":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The declared request media type is not supported."},"422":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The typed request could not be processed."},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The client exceeded the bounded application quota. Honor Retry-After and retry with backoff.","headers":{"Retry-After":{"description":"Required retry delay in seconds.","schema":{"type":"string"}}}},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"An unexpected server failure occurred."},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"The signed content service is unavailable."}},"summary":"Read public taxonomy","tags":["Public read API"],"x-nakafa-read-only":true}}},"security":[],"servers":[{"description":"Production","url":"https://api.nakafa.com"}],"tags":[{"description":"Public read-only endpoints that require no user account.","name":"Public read API"}]}