Skip to content

Leafjourney developers

Build on Leafjourney.

The cannabis care platform with an API that doesn't get in your way. Scheduling, charts, outcomes, and AI agents — all addressable from your stack.

v1 stableREST + webhooksHIPAA BAA includedSandbox in 60 seconds

Quick start

Three steps to your first API call

STEP 01

Provision a key

Create a scoped API key from the operator admin panel. Start read-only.

STEP 02

Authenticate

Send the key as a Bearer token in the Authorization header on every request.

STEP 03

Call an endpoint

Fetch patients, schedule appointments, or stream outcomes — scoped to your org.

Provision

Make your first call

curl
curl https://api.leafjourney.com/v1/patients \
  -H "Authorization: Bearer sk_live_..." \
  -H "Accept: application/json"
Node.js
import { Leafjourney } from "@leafjourney/sdk";

const lj = new Leafjourney({ apiKey: process.env.LEAFJOURNEY_KEY });

const patients = await lj.patients.list({ limit: 25 });
console.log(patients.data[0].displayName);

Authentication

Bearer tokens. Scoped. Rotatable.

Every request requires a Bearer token

Pass Authorization: Bearer sk_live_... on every call. Rotate keys at any time from the operator admin panel — old keys revoke instantly.

Scopes constrain what a key can touch

Start with read:patients. Add write scopes only when you need them. Every request is logged in an immutable audit trail tied to the key's scope.

Endpoint reference

The most-used endpoints, at a glance

Full reference — including request/response schemas — lives in the docs.

Method
Path
Description
  • GET
    /v1/patients

    List patients in your organization

  • POST
    /v1/patients

    Create a new patient record

  • GET
    /v1/patients/{id}

    Retrieve a single patient by ID

  • PATCH
    /v1/patients/{id}

    Update demographics or care plan

  • GET
    /v1/appointments

    List upcoming and past appointments

  • POST
    /v1/appointments

    Schedule a new visit

  • GET
    /v1/notes

    List clinical notes — supports server-side filtering

  • POST
    /v1/outcomes

    Submit per-product outcome telemetry

  • GET
    /v1/research/articles

    Search the curated PubMed knowledge base

Rate limits

Generous defaults. Honest headers.

We return X-RateLimit-Remaining and Retry-After on every response. Respect them and you'll never get throttled.

Read endpoints

Burst to 300

100 req / minute

Write endpoints

Burst to 60

30 req / minute

Webhook delivery

Retries with exponential backoff

Unmetered

Keep building

Guides, references, and a place to ask

API documentation

Full REST reference with request/response examples for every endpoint.

Webhooks guide

Subscribe to patient, appointment, and billing events with verified HMAC signatures.

AI agent SDK

Compose chart-aware AI agents with typed tools — same primitives that power our 13 in-product agents.

System status

Live service status and incident history — we publish everything.

Ready to build?

Get a sandbox in minutes

Sandbox orgs ship with realistic synthetic data — run your integration end-to-end without ever touching real PHI.