Quickstart

Create a memory, add a document, and get a cited answer — in about five minutes.

By the end of this page you will have ingested a document and asked a question about it through the API.

Get an API key

Sign in to the console, open Settings → API Keys and create a key.

The key is shown once. Copy it now — it is stored as a hash, so it cannot be recovered later. (It can be rotated, which is the intended recovery path.)

export CHORDIAN_API_KEY="ck_live_..."

Treat the key like a password. It carries your tenant's full API scope unless you restricted it at creation. For anything that only needs one memory, mint a per-memory key instead — see Authentication.

Confirm you can reach the API

curl https://api.uni-flow.ai/api/v1/workspaces \
  -H "x-api-key: $CHORDIAN_API_KEY"

You should get your workspaces back, including which one is active. Every new account has one default workspace with a memory already attached, so there is nothing to create before ingesting.

Add some content

curl https://api.uni-flow.ai/api/v1/memory/ingest \
  -H "x-api-key: $CHORDIAN_API_KEY" \
  -H "content-type: application/json" \
  -d '{
    "content": "# Acme Corp — Q4 expansion\n\nDeal value EUR 240k. Stage: Security Review. Blocker: BAA approval and EU hosting confirmation. Primary contact: Jana Mueller, VP Sales.",
    "content_type": "markdown",
    "routing": { "mode": "auto" }
  }'

The response tells you where it landed and how confident the classifier was:

{
  "doc_id": "ing_9f2c8a1e",
  "vault_id": "v_sales",
  "routing_confidence": 0.91,
  "needs_review": false,
  "dlp_matches": 0
}

Indexing continues in the background — extraction, perimeter scan, chunking, embedding and entity extraction. For a short document it is ready in a second or two.

Ask a question

curl https://api.uni-flow.ai/api/v1/memory/search \
  -H "x-api-key: $CHORDIAN_API_KEY" \
  -H "content-type: application/json" \
  -d '{"query": "What is blocking the Acme deal?"}'
{
  "answer": "The Acme Corp Q4 expansion is in Security Review. Two items are blocking it: BAA approval and confirmation of EU hosting [1].",
  "citations": [
    { "index": 1, "title": "Acme Corp — Q4 expansion", "document_id": "ing_9f2c8a1e" }
  ],
  "chunk_count": 1,
  "suggested_followups": ["Who is the primary contact at Acme?"]
}

The answer carries inline [1] markers that map to the citations array. If a claim has no marker, it is not grounded — that is your signal to be sceptical.

Try it interactively

Every reference page has a live playground. Paste your key once and fire real requests without leaving the docs:

What just happened

Two things worth noticing. The gateway resolved your key to a tenant and injected that identity — you never sent a tenant id, and there is no parameter that would let you claim one. And the perimeter scanned the content before it was embedded, so if that document had contained a secret it would have been masked before it reached the vector store.

Was this page helpful?
Report an issue

On this page