Quickstart
Make your first calls in about five minutes.
1. Create an account and a key
Sign up in Graphite. We create an organisation, a Default project and a sandbox key for you. The key is shown once — copy it into a secret manager or environment variable.
export AUGSIDIUS_API_KEY="aug_test_..."Sandbox keys start with aug_test_, production keys with aug_live_. Sandbox is free and rate-limited; production needs a paid plan. When creating a key, tick the scopes for the models you want: agents:evidence_qa, agents:extract, agents:care_model, cds_hooks. See Authentication & keys.
2. Ask a clinical question
curl https://api.augsidius.care/v1/chat/completions \
-H "Authorization: Bearer $AUGSIDIUS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model": "aug-evidence-qa",
"messages": [{"role": "user", "content": "Can metformin be continued at eGFR 25?"}]}'The answer is in choices[0].message.content, with [n] markers; the sources are in choices[0].message.augsidius.citations. See Evidence Q&A.
3. Get decision cards for a case
curl https://api.augsidius.care/v1/chat/completions \
-H "Authorization: Bearer $AUGSIDIUS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model": "aug-cds",
"messages": [{"role": "user", "content": "58M, T2DM on metformin. Fever 39.2, severe headache, neck stiffness, no rash. eGFR 25. Plan: ibuprofen 400 mg TDS."}]}'message.content is JSONL — one card per line. Each card has a summary, an indicator (critical, warning, info), a markdown detail, suggestions and its sources. See Decision cards.
4. Follow the case with the care model
Stream the care model and print each line as it arrives:
import json, os
from openai import OpenAI
client = OpenAI(base_url="https://api.augsidius.care/v1", api_key=os.environ["AUGSIDIUS_API_KEY"])
def run(text, session_id=None):
stream = client.chat.completions.create(
model="aug-care-model", stream=True,
messages=[{"role": "user", "content": text}],
extra_body={"augsidius": {"session_id": session_id}} if session_id else None,
)
for chunk in stream:
if chunk.choices and chunk.choices[0].delta.content and chunk.choices[0].delta.content.strip():
item = json.loads(chunk.choices[0].delta.content)
if item["object"] == "care_model.session":
session_id = item["session_id"]
elif item["object"] == "care_model.action":
print(item["rank"], item["label"], "(rules out emergency)" if item["rules_out_emergency"] else "")
return session_id
sid = run("58M, fever 39.2 for 2 days, severe headache, neck stiffness, no rash.")
# ... the clinician asks and examines ...
run("Photophobia present. Kernig's sign negative.", sid)The second call adds to the same session, so conditions and next best actions re-rank. See Care models.
5. Structure a note
curl https://api.augsidius.care/v1/chat/completions \
-H "Authorization: Bearer $AUGSIDIUS_API_KEY" -H "Content-Type: application/json" \
-d '{"model": "aug-extract", "messages": [{"role": "user", "content": "K/c/o HTN on amlodipine 5 OD. C/o burning micturition x 2 days, no fever."}]}'Each line is an entity with its text span, present / absent, values, concept and codes. See Clinical entity extraction.
Where next
- Streaming & formats — SSE, NDJSON and single responses
- Response types — every object and field
- Plans & billing — per-call prices
