API за разработчици

API на Гностичния Лексикон

Свободен, отворен достъп до нарастващ корпус от гностична и езотерична терминология. Създаден за изследователи, разработчици и всеки, който изгражда инструменти за изучаване на древните традиции на мъдростта.

Основен URL

GET https://pleroma.stefansalkimia.com/api/lexicon/public

Удостоверяване

Не е необходимо. API-то е безплатно и отворено. Не се изисква API ключ.

Ограничения

100 заявки на час по IP адрес. Хедъри за ограничение са включени във всеки отговор.

X-RateLimit-Limit: 100
X-RateLimit-Remaining: 99
X-RateLimit-Reset: 1712764800
X-License: CC-BY-SA-4.0

Всеки отговор включва и хедър X-License, който обявява лиценза CC BY-SA 4.0 на данните — така външни инструменти могат да разпознаят лиценза, без да парсват тази страница.

Крайни точки

GET /api/lexicon/public

Връща пагиниран списък с всички термини от лексикона. Поддържа филтриране по стълб, език и търсене.

Параметри на заявката

ПараметърТипПо подразбиранеОписание
localestring"en"Език: "en" (английски) или "bg" (български)
pillarstring-Филтриране по стълб на знанието (напр. cosmology, alchemy, shadow)
qstring-Търсене по име на термин (частично съвпадение, без значение на регистъра)
limitnumber50Резултати на страница (1-500)
offsetnumber0Отместване за пагинация

Примерна заявка

curl
curl "https://pleroma.stefansalkimia.com/api/lexicon/public?pillar=cosmology&limit=10"

Примерен отговор

JSON
{
  "data": [
    {
      "term": "Archon",
      "slug": "archon",
      "definition": "A cosmic parasitic entity in Gnostic cosmology...",
      "pillar": "cosmology",
      "tradition": "Gnostic",
      "etymology": "Greek: archon — ruler",
      "relatedTerms": [
        "demiurge",
        "sophia"
      ],
      "url": "https://pleroma.stefansalkimia.com/en/lexicon/archon"
    }
  ],
  "meta": {
    "total": 222,
    "limit": 50,
    "offset": 0,
    "locale": "en",
    "hasMore": true
  },
  "attribution": {
    "source": "Pleroma Gnosis Lexicon",
    "url": "https://pleroma.stefansalkimia.com",
    "license": "CC BY-SA 4.0",
    "required": "Attribution required: 'Powered by Pleroma Gnosis'"
  }
}

GET /api/lexicon/public/[slug]

Връща единичен термин по неговия слъг, включително пълно съдържание и свързани публикации от блога.

Примерна заявка

curl
curl "https://pleroma.stefansalkimia.com/api/lexicon/public/archon"

Примерен отговор

JSON
{
  "data": {
    "term": "Archon",
    "slug": "archon",
    "definition": "A cosmic parasitic entity in Gnostic cosmology...",
    "fullContent": "A cosmic parasitic entity in Gnostic cosmology that rules the material world...",
    "pillar": "cosmology",
    "tradition": "Gnostic",
    "etymology": "Greek: archon — ruler",
    "pronunciation": "AR-kon",
    "termOriginal": null,
    "relatedTerms": [
      "demiurge",
      "sophia"
    ],
    "relatedPosts": [
      {
        "title": "What Are Archons?",
        "slug": "what-are-archons",
        "url": "https://pleroma.stefansalkimia.com/en/blog/what-are-archons"
      }
    ],
    "url": "https://pleroma.stefansalkimia.com/en/lexicon/archon"
  },
  "attribution": {
    "source": "Pleroma Gnosis Lexicon",
    "url": "https://pleroma.stefansalkimia.com",
    "license": "CC BY-SA 4.0",
    "required": "Attribution required: 'Powered by Pleroma Gnosis'"
  }
}

Полета в отговора

Всеки отговор е JSON обект с три ключа на най-горно ниво: data (терминът или масив от термини), meta (пагинация и метаданни за заявката, само за списъчната крайна точка) и attribution (лиценз и приписване). Таблиците по-долу описват всяко поле, което API-то може да върне.

data — обект на термин

ПолеТипОписание
termstringКаноничното име на термина, както се среща в лексикона.
slugstringИдентификатор, подходящ за URL. Използвай го в пътя на крайната точка за единичен термин.
definitionstringКратко определение от едно-две изречения, подходящо за карти, подсказки и компактни изгледи.
pillarstringСтълбът на знанието, към който принадлежи терминът (напр. cosmology, alchemy, shadow).
traditionstringТрадицията или линията, от която произхожда терминът (напр. гностична, херметична, кабалистична).
etymologystring | nullПроизходът на думата, обикновено включва езика източник. Може да е null, ако е неизвестен.
relatedTermsstring[]Слъгове на други термини, свързани с този. Полезно за обхождане на графа и за секции с близки термини.
urlstringКаноничен URL на страницата на термина в Плерома.
fullContentstringПълният текст на термина в Markdown формат. Само за крайната точка за единичен термин.
pronunciationstring | nullПриблизително фонетично произношение. Може да е null. Само за крайната точка за единичен термин.
termOriginalstring | nullОригиналната форма на термина (напр. на гръцки, иврит), когато е приложимо. Може да е null. Само за крайната точка за единичен термин.
relatedPostsobject[]Масив от публикации, които се позовават на този термин, всяка с title, slug и url. Само за крайната точка за единичен термин.

meta — само за списъчната крайна точка

ПолеТипОписание
meta.totalnumberОбщ брой термини, които съответстват на текущия филтър, преди пагинация.
meta.limitnumberРазмерът на страницата, който реално е приложен (след ограничаване в диапазона 1-500).
meta.offsetnumberОтместването, което реално е приложено (след ограничаване).
meta.localestringЕзикът, използван за този отговор (en или bg).
meta.hasMorebooleanВярно, когато има още страници след тази. Еквивалентно на (offset + limit) < total.
meta.warningsstring[] (optional)Присъства само когато API-то тихо е коригирало входа ти — например ограничен limit извън диапазона или връщане към езика по подразбиране. Всеки низ обяснява по една корекция.

attribution

ПолеТипОписание
attribution.sourcestringЧетимо за хора име на източника на данните.
attribution.urlstringURL, към който трябва да сочи препратката при приписване на данните.
attribution.licensestringSPDX-подобен идентификатор на лиценза. Към днешна дата винаги е CC BY-SA 4.0.
attribution.requiredstringТочният текст за приписване, който молим да показваш до преизползваното съдържание.

Полета, отбелязани със "само за крайната точка за единичен термин", се появяват при GET /api/lexicon/public/[slug] и са пропуснати в списъчната крайна точка, за да останат отговорите компактни.

Налични стълбове

Използвай тези стойности с параметъра pillar за филтриране на термини по област на знанието.

cosmology
alchemy
frequency
temple
matrix
shadow
astrology
mastery
sophia

Приписване

Този API е лицензиран под CC BY-SA 4.0. Свободен си да използваш данните във всеки проект, при условие че включиш приписване с връзка към Плерома.

HTML
<a href="https://pleroma.stefansalkimia.com">Powered by Pleroma Gnosis</a>

Лиценз

Creative Commons Признание-Споделяне на споделеното 4.0 Международен (CC BY-SA 4.0). Можеш да споделяш и адаптираш данните за всякакви цели, включително търговски, стига да осигуриш приписване и да разпространяваш производни произведения под същия лиценз.

Кодове за грешки

КодЗначение
200Успех
400Невалидна заявка (невалиден език или параметри)
404Терминът не е намерен (само за единичен термин)
429Ограничението е надвишено. Провери хедъра Retry-After.

Обратна връзка и контакт

Откри бъг, грешна дефиниция или ти трябва по-високо ограничение за изследване или по-голяма интеграция? Пиши директно — всяко съобщение се чете от човек.

pleroma@stefansalkimia.com

Увеличения на лимита се одобряват за всеки случай поотделно. Включи кратко описание на проекта и очаквания обем заявки и обикновено ще получиш отговор в рамките на няколко дни.