Eldermind Labs
Dokumentacja

Wszystko, czego potrzebujesz na jednej stronie

W kolejności, w jakiej to naprawdę potrzebne: najpierw działająca odpowiedź, potem dane wejściowe, potem systemy, na końcu to, co może pójść nie tak.

Quickstart

Wygeneruj klucz w panelu, wklej go poniżej i wywołaj bundle. Jedno żądanie zwraca wszystkie osiem systemów i kosztuje 6 kredytów — na darmowym planie starczy Ci ich na 16 pełnych profili.

curl -X POST https://api.eldermind.io/v1/profile/complete \
  -H "Authorization: Bearer sk_live_TWOJ_KLUCZ" \
  -H "Content-Type: application/json" \
  -d '{
    "subject": {
      "birth_date": "1993-09-01",
      "birth_time": "14:30",
      "birth_place": "Warszawa, Polska"
    },
    "detail": "summary"
  }'

Odpowiedź to obiekt z kluczem na każdy system plus meta. Jeśli jeden system zawiedzie, pozostałe wracają normalnie, a błąd ląduje w meta.errors — dostajesz wartość zamiast pięćsetki.

Uwierzytelnianie

Klucz podajesz w nagłówku Authorization. Przechowujemy wyłącznie jego skrót argon2id, więc pokazujemy Ci go dokładnie raz — zgubionego nie odzyskamy ani my, ani Ty.

Authorization: Bearer sk_live_...

Alternatywnie: token OAuth 2.1, którym posługują się konektory czatowe. Uprawnienia, kredyty i limity działają identycznie w obu przypadkach, bo reguły żyją w jednym miejscu. Token OAuth nie zakłada nowego konta — to inny sposób przedstawienia klucza, który już istnieje.

Obiekt subject

Wszystkie endpointy liczące kartę przyjmują ten sam obiekt wejściowy. Wymagana jest wyłącznie data urodzenia.

PoleTypWymagane
birth_datestringtak
birth_timestringnie
birth_placestringalternatywnie
latitude / longitudenumberalternatywnie
timezonestring (IANA)alternatywnie
genderstringnie
full_namestringnie
reference_datestringnie

Podaj albo birth_place, albo trójkę latitude, longitude i timezone. Pierwsze jest wygodniejsze, ale kosztuje około 300 ms na geokodowanie; drugie jest natychmiastowe. Bez birth_time przyjmujemy 12:00 i oflagowujemy w warnings, że Ascendent, domy, filar godziny i Księżyc są wtedy niewiarygodne.

Osiem systemów

Każdy system ma własny endpoint i własny koszt. Wszystkie przyjmują ten sam obiekt subject.

SystemEndpointKredyty
human_design/v1/human-design/chart1
gene_keys/v1/gene-keys/profile1
bazi/v1/bazi/chart1
vedic/v1/vedic/chart2
matrix/v1/matrix/destiny1
numerology/v1/numerology/profile1
western/v1/western/natal1
draconic/v1/draconic/chart1

Endpoint /v1/profile/complete liczy wszystkie osiem naraz za 6 kredytów, z opcjonalnym selektorem systems, gdy potrzebujesz tylko części.

Okna tranzytowe

POST /v1/transits/windows zwraca nadchodzące wejścia planet w znaki i dokładne aspekty tranzytujące do karty natalnej, posortowane od najsilniejszych. To jedyny endpoint, który odpowiada na pytanie „kiedy” zamiast „jaki” — i jedyny, którego wynik jutro będzie inny.

PoleTypWymagane
subjectobjectTe same pola co wszędzie indziej
months1-24Ile miesięcy w przód skanować. Domyślnie 12
max_windows5-100Ile okien zwrócić. Domyślnie 20
start_datestringPoczątek skanu. Domyślnie dzisiaj (UTC)

Skan idzie dzień po dniu, więc miesiące są zarazem zakresem i ceną: rok kosztuje 12 kredytów. Podnoś max_windows razem z months — lista ucina się na limicie, a domyślne 20 osiągane jest mniej więcej po roku, więc dłuższy skan przy domyślnym limicie kosztuje więcej i zwraca to samo.

Dostępne w planach All Access i Business. Na planie darmowym i Starter endpoint odpowiada kodem TRANSITS_NOT_ENTITLED, a pozostałe systemy działają normalnie.

Poziomy szczegółowości

Pełny profil to około 30 KB, czyli mniej więcej 7 700 tokenów — jedno wywołanie narzędzia zjadłoby kontekst modelu, zanim ten zdąży cokolwiek powiedzieć. Dlatego domyślny poziom dla MCP to summary.

PoziomRozmiarZastosowanie
summary~2,2 KBDomyślny dla MCP
standard~18,3 KBDomyślny dla REST
full~30,2 KBEksport, backend-to-backend

Serwer MCP

Ten sam silnik, 14 narzędzi, jeden proces. Dla Cursora, VS Code i Claude Desktop wystarczy wkleić konfigurację z kluczem.

.cursor/mcp.json
{
  "mcpServers": {
    "eldermind-astro": {
      "url": "https://api.eldermind.io/mcp",
      "headers": {
        "Authorization": "Bearer sk_live_TWOJ_KLUCZ"
      }
    }
  }
}

Dla Claude.ai i ChatGPT podaj sam adres https://api.eldermind.io/mcp. Konektor sam wykona rejestrację i przeprowadzi Cię przez ekran zgody — pełny OAuth 2.1 z PKCE i rotacją tokenów odświeżających.

Kredyty i limity

Kredyty naliczamy dopiero po udanym obliczeniu. Odrzucone żądanie nie kosztuje nic. Odpowiedź z cache'u jest naliczana normalnie — dostałeś odpowiedź, o którą prosiłeś — ale oflagowana, żebyś widział własny współczynnik trafień.

Po przekroczeniu limitu zapytań dostajesz 429 z nagłówkiem Retry-After. Po wyczerpaniu kredytów — 402 z adresem strony cennika, z którego model językowy potrafi zrobić sensowny komunikat zamiast halucynować wynik.

Zobacz cennik i koszt każdej operacji →

Kody błędów

Każda awaria wraca w tej samej kopercie, ze stabilnym kodem i numerem żądania. To jest różnica między API, pod które da się pisać, a takim, które trzeba zgadywać.

{
  "error": {
    "code": "AMBIGUOUS_LOCAL_TIME",
    "message": "Local time 02:30:00 on 1993-03-28 does not exist in Europe/Warsaw (daylight-saving gap).",
    "field": "birth_time",
    "request_id": "req_01JD8X...",
    "docs_url": "https://eldermind.io/api/docs#errors"
  }
}
KodHTTP
INVALID_API_KEY401
INSUFFICIENT_CREDITS402
SYSTEM_NOT_ENTITLED403
DETAIL_NOT_ENTITLED403
TRANSITS_NOT_ENTITLED403
INVALID_TIMEZONE422
AMBIGUOUS_LOCAL_TIME422
DATE_OUT_OF_RANGE422
HOUSE_SYSTEM_UNAVAILABLE422
GEOCODING_FAILED422
RATE_LIMITED429
SERVICE_BUSY503
CALCULATION_ERROR500

Numer żądania wraca też w nagłówku X-Request-Id każdej odpowiedzi. Przyślij go w zgłoszeniu, a znajdziemy konkretny wiersz zamiast zgadywać, co się wydarzyło wczoraj.