API-referens

Alla publika endpoints, på ett ställe

De endpoints som Hippocampus webbapp använder för import, sökning, svar och läsning, med deras fält, strömning, jobb och fel.

Beta: fälten kan fortfarande ändras innan tjänsten blir allmänt tillgänglig.

Resurser för AI

  • Coding agent

    Din kodagent (Claude, Cursor, Codex eller en annan) läser vår skill-fil och sätter upp Hippocampus i ditt projekt på egen hand.

  • API clients

    Din API-klient (Postman, Insomnia eller Bruno) importerar varje anrop med exempelsvar; kör Sign in först så sätts token åt dig.

  • OpenAPI 3.1

    Klientgeneratorer, Swagger UI och andra API-verktyg läser varje endpoint från den här filen, i standardformatet.

  • Chat assistants

    Din chattassistent (ChatGPT, Claude eller Gemini) besvarar frågor om API:et utifrån vår dokumentation, allt i en fil.

Autentisering

En inloggad användares token

Varje anrop bär en Authorization: Bearer <token>-header. Token är ID-token för en inloggad Hippocampus-användare och gäller i ungefär en timme, så ett skript förnyar den på samma sätt som vilken inloggning som helst. Ett anrop når bara det som den användaren får läsa.

Det finns inga API-nycklar ännu: ett skript loggar in som sin egen användare, med de mappar det behöver delade med sig.

Omfång

Vad API:et täcker

Sökning och svar — search returnerar de avsnitt som matchar en fråga, med sidor och en länk till originalet; ask returnerar ett kort svar.

Dokument — importera en källa och följ hur den har delats upp i avsnitt.

Bläddra och läs — lista mappar, läs ett dokuments text eller ladda ner originalet.

Jobb — kontrollera status för en import.

Fel — hur ett fel från respektive tjänst ser ut.

Illustrativt

Hur ett anrop ser ut

Ett dokument importeras, och en fråga besvaras utifrån det som har importerats. Endpoints och fält är inte slutgiltiga.

curl -X POST /ingest \
  -H "Authorization: Bearer $THALIUS_API_KEY" \
  -F "[email protected]"

Endast illustrativt — ännu inget skarpt kontrakt.

Referens

Endpoints

API:et har två tjänster, och båda tar samma token. Core importerar, söker och svarar; Vault lagrar mappar och dokument. Din arbetsytas adresser finns i Hippocampus-appen under Manage workspace → API and MCP. Standardadresserna, som används i exemplen nedan, är https://hippocampuscore.thalius.ai för Core och https://hippocampusvault.thalius.ai för Vault.

Varje endpoint nedan har ett anrop i cURL, Python och JavaScript samt ett förkortat svar.

Id:n i exemplen är förkortade.

Import

Importera dokument

Ladda upp filer till Core. Varje fil läses, delas upp i avsnitt och sammanfattas, och läggs sedan i den mapp du anger. Ett jobb följer arbetet.

Core

POST /ingest

Ladda upp en eller flera filer för import till en mapp.

Query

  • stream — true strömmar förloppet som server-sent events; false (standard) returnerar ett jobb direkt.

Formulärfält (multipart)

  • files — en eller flera filer: .pdf, .docx, .md, .markdown, .txt, .text. Obligatoriskt.
  • file_metadata — JSON-array med ett objekt per fil, i samma ordning: folder_name (mappsökväg) och tags.

Returnerar ett jobb: job_id, status (processing, complete eller error), total_files, done. En fil som redan har importerats kommer tillbaka med duplicate: true.

curl -sS -X POST "https://hippocampuscore.thalius.ai/ingest" \
  -H "Authorization: Bearer $HIPPOCAMPUS_TOKEN" \
  -F "[email protected]" \
  -F 'file_metadata=[{"folder_name":"contracts/master-agreements","tags":["msa"]}]'
{
  "job_id": "c0a9f6d2-…",
  "status": "processing",
  "message": "Queued 1 file",
  "total_files": 1,
  "done": false
}

Core

GET /jobs/{job_id}

Kontrollera en import som startats utan strömning. Polla tills done är true.

Path

  • job_id — från svaret på POST /ingest.

Returnerar status, successful, failed och en post i results per fil, med dess document_id.

curl -sS "https://hippocampuscore.thalius.ai/jobs/c0a9f6d2-…" \
  -H "Authorization: Bearer $HIPPOCAMPUS_TOKEN"
{
  "job_id": "c0a9f6d2-…",
  "status": "complete",
  "successful": 1,
  "failed": 0,
  "results": [
    {
      "filename": "MSA-2025.pdf",
      "success": true,
      "document_id": "8c1f0e4a-…",
      "folder_name": "contracts/master-agreements",
      "duplicate": false
    }
  ],
  "done": true
}

Sökning och svar

Sök och fråga

Search returnerar de avsnitt som matchar en fråga, var och en med sina sidor och en länk till originalet. Ask returnerar ett kort svar skrivet av modellen.

Core

POST /search

Hitta de avsnitt som besvarar en fråga, rankade.

Body (JSON)

  • query — frågan. Obligatoriskt.
  • folder_name — begränsa sökningen till en mappsökväg.
  • tags — begränsa den till dokument med dessa taggar.

Returnerar sources: för varje avsnitt doc_id, document_title, leaf_title (avsnittet), start_page, end_page, text, score och deep_link till originalet på den sidan.

curl -sS -X POST "https://hippocampuscore.thalius.ai/search" \
  -H "Authorization: Bearer $HIPPOCAMPUS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"query":"What is the notice period for termination?","folder_name":"contracts/master-agreements"}'
{
  "sources": [
    {
      "doc_id": "8c1f0e4a-…",
      "document_title": "Master Services Agreement 2025",
      "leaf_title": "12. Term and Termination",
      "start_page": 14,
      "end_page": 15,
      "score": 0.91,
      "text": "Either party may terminate this Agreement on ninety (90) days' written notice…",
      "deep_link": "/documents/5b7d2c90-….pdf#page=14"
    }
  ]
}

Core

POST /ask

Få ett kort svar på en fråga, skrivet utifrån de matchande avsnitten.

Body (JSON)

  • query — frågan. Obligatoriskt.
  • folder_name, tags — som i search.

Returnerar answer, reasoning och confidence. Avsnitten returneras inte; anropa search för dem.

curl -sS -X POST "https://hippocampuscore.thalius.ai/ask" \
  -H "Authorization: Bearer $HIPPOCAMPUS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"query":"What is the notice period for termination?","folder_name":"contracts/master-agreements"}'
{
  "answer": "Either party may terminate on 90 days' written notice (section 12.2).",
  "reasoning": "Section 12.2 of the Master Services Agreement states…",
  "confidence": 0.86
}

Bläddra

Mappar och vad de innehåller

Mappsammanfattningar kommer från Core; mappar och dokumentlistor kommer från Vault.

Core

GET /folders/summary

Läs vad en mapp innehåller, som det skrevs vid importen, utan att köra en sökning.

Query

  • folder_name — mappsökvägen. Obligatoriskt.

Returnerar status (ok, none eller unavailable) och folder_summary med title, description och content.

curl -sS "https://hippocampuscore.thalius.ai/folders/summary?folder_name=contracts/master-agreements" \
  -H "Authorization: Bearer $HIPPOCAMPUS_TOKEN"
{
  "status": "ok",
  "folder_summary": {
    "folder": "contracts/master-agreements",
    "title": "Master agreements",
    "description": "Signed MSAs with customers and suppliers, 2019–2025.",
    "content": "- Master Services Agreement 2025: term, termination, liability caps…",
    "truncated": false
  }
}

Vault

GET /folders

Lista mapparna på toppnivån, eller mapparna inuti en mapp.

Query

  • parentFolderId — mappen att lista. Utelämna den för toppnivån.

Returnerar en array av mappar: id, name, parentFolderId, createdAt, updatedAt.

curl -sS "https://hippocampusvault.thalius.ai/folders?parentFolderId=0c25a285-…" \
  -H "Authorization: Bearer $HIPPOCAMPUS_TOKEN"
[
  {
    "id": "0144f7ed-…",
    "name": "Onboarding notes",
    "parentFolderId": "0c25a285-…",
    "createdAt": "2026-09-08T09:15:16.000Z",
    "updatedAt": "2026-09-08T09:15:16.000Z"
  }
]

Vault

GET /folders/{id}

En mapp. Med include=true returnerar samma anrop även mapparna ovanför den, dess dokument och dess undermappar.

Path

  • id — mappens id.

Query

  • include — true för att lägga till ancestors, documents och subfolders.
curl -sS "https://hippocampusvault.thalius.ai/folders/0144f7ed-…?include=true" \
  -H "Authorization: Bearer $HIPPOCAMPUS_TOKEN"
{
  "id": "0144f7ed-…",
  "name": "Onboarding notes",
  "parentFolderId": "0c25a285-…",
  "ancestors": [
    {
      "id": "0c25a285-…",
      "name": "HR"
    }
  ],
  "documents": [
    {
      "id": "3c76ff09-…",
      "name": "comments.md",
      "contentType": "text/markdown",
      "folderId": "0144f7ed-…",
      "version": 1
    }
  ],
  "subfolders": [
    {
      "id": "9e2a…",
      "name": "_hippocampus"
    }
  ]
}

Vault

GET /documents

Lista dokumenten i en mapp, utan deras innehåll.

Query

  • folderId — mappen. Utelämna den för toppnivån.
  • tag — bara dokument med denna tagg.

Returnerar en array: id, name, contentType, folderId, version, createdAt, updatedAt.

curl -sS "https://hippocampusvault.thalius.ai/documents?folderId=0144f7ed-…" \
  -H "Authorization: Bearer $HIPPOCAMPUS_TOKEN"
[
  {
    "id": "0001b85f-…",
    "name": "Onboarding notes.md",
    "contentType": "text/markdown",
    "folderId": "0144f7ed-…",
    "version": 1,
    "createdAt": "2026-09-08T09:15:17.000Z"
  }
]

Läs

Läs dokument

Vault returnerar ett dokuments text, dess taggar och originalfilen.

Vault

GET /documents/{id}

Ett dokuments detaljer. Ett textdokument bär också sitt content som Markdown.

Path

  • id — dokumentets id.

Returnerar id, name, contentType, size, version, folderId, createdAt och, för text, content.

curl -sS "https://hippocampusvault.thalius.ai/documents/0001b85f-…" \
  -H "Authorization: Bearer $HIPPOCAMPUS_TOKEN"
{
  "id": "0001b85f-…",
  "name": "Onboarding notes.md",
  "contentType": "text/markdown",
  "size": 510,
  "version": 1,
  "folderId": "d3f3ed56-…",
  "createdAt": "2026-09-08T09:15:17.000Z",
  "content": "---
type: document
title: Onboarding notes
---
…"
}

Vault

POST /documents/batch

Upp till 100 dokument, med innehåll, i ett anrop.

Body (JSON)

  • ids — upp till 100 dokument-id:n. Obligatoriskt.

Returnerar en array av dokument. Id:n som inte finns eller som du inte får läsa utelämnas.

curl -sS -X POST "https://hippocampusvault.thalius.ai/documents/batch" \
  -H "Authorization: Bearer $HIPPOCAMPUS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"ids":["0001b85f-…","3c76ff09-…"]}'
[
  {
    "id": "0001b85f-…",
    "name": "Onboarding notes.md",
    "contentType": "text/markdown",
    "content": "---
type: document
…"
  },
  {
    "id": "3c76ff09-…",
    "name": "comments.md",
    "contentType": "text/markdown",
    "content": "…"
  }
]

Vault

GET /documents/{id}/content

Själva den lagrade filen: original-PDF:en, en bild eller Markdown, med sin egen content type.

Path

  • id — dokumentets id, till exempel det i ett sökresultats deep_link.
curl -sS -o original.pdf "https://hippocampusvault.thalius.ai/documents/5b7d2c90-…/content" \
  -H "Authorization: Bearer $HIPPOCAMPUS_TOKEN"

Vault

GET /documents/{id}/tags

Ett dokuments taggar.

Path

  • id — dokumentets id.

Returnerar tags.

curl -sS "https://hippocampusvault.thalius.ai/documents/0001b85f-…/tags" \
  -H "Authorization: Bearer $HIPPOCAMPUS_TOKEN"
{
  "tags": [
    "onboarding",
    "hr"
  ]
}

Fel

När ett anrop misslyckas

Core svarar med detail. Vault svarar med message, eller med error när token saknas eller inte är giltig.

  • 401 — token saknas, har gått ut eller är inte giltig. Logga in igen.
  • 403 — användaren får inte läsa eller ändra den mappen.
  • 404 — hittades inte, eller kan inte läsas av denna användare.
  • 409 — dokumentet har ändrats sedan du läste det.
  • 422 — ett fält saknas eller har fel typ.
{
  "detail": "Not authenticated"
}

Klienter

För tillfället

curl och vår MCP-server fungerar båda i dag. Officiella SDK:er för Python och TypeScript planeras innan tjänsten blir allmänt tillgänglig.

Vill du ha tidig åtkomst till API:et?

Vi tar in designpartner nu.