Skip to main content

How-to — Authenticate with Eden

Your app authenticates against https://api.edenobservability.com.

Create an org API key in the portal (Settings → API Keys) or use Fill in on the quickstart (appears when you are signed in on the portal).

export EDEN_API_KEY="sk_eden_…"
export EDEN_ORG_ID="org_…"

The SDKs send:

HeaderValue
X-Org-Api-Keyyour API key
X-Org-Idyour org id

You do not need EDEN_BASE_URL for production.

See Manage API keys.

For raw HTTP (ingestion)

curl -X POST \
"https://api.edenobservability.com/orgs/$EDEN_ORG_ID/ingest/custom" \
-H "X-Org-Api-Key: $EDEN_API_KEY" \
-H "X-Org-Id: $EDEN_ORG_ID" \
-H "Content-Type: application/json" \
-d '{ "event_type": "hello", "outcome": "success" }'

Full shapes: Ingestion API.

For the portal (browsers)

Sign in at edenobservability.com. The portal uses Clerk session cookies and proxies API calls — you do not configure Clerk yourself.

Roles

RoleCan create API keysTypical use
owner / adminYesManage workspace
member / viewerNoRead traces, evals

Rotate / revoke

  1. Create a new key under Settings → API Keys.
  2. Deploy it.
  3. Revoke the old key in the portal.

Validate with:

python -m eden_sdk.doctor
# or
npx eden-doctor

Troubleshooting

SymptomLikely cause
401 / missing keyEDEN_API_KEY unset or revoked
403 / wrong orgEDEN_ORG_ID does not match the key's org
No traces appearForgot flush() / doctor never run; check Traces after ~1 min