Docs · Developers
Everything your business runs on is available to your code: a scoped REST API, official Python and Node SDKs, and 30+ outbound webhooks. Automate workflows, sync with your stack, or build an entirely custom front end on the same data your business already uses.
Overview
Adhara isn't a black box. The same engine that powers your storefront, CRM, commerce and scheduling exposes a clean, scoped API — so anything you can do in the dashboard, you can do from your own code. Authenticate with an API key, reach for the Python or Node SDK (or plain REST), and subscribe to webhooks to stay in sync in real time.
API reference
Every resource is a predictable REST endpoint under /api/v1, documented by a live OpenAPI 3.1 spec at /openapi.json. Coverage spans the whole platform:
curl https://api.adharaweb.com/api/v1/leads \
-H "X-API-Key: adhara_pk_live_xxx"SDKs
Typed, first-party SDKs cover the core domains — leads, blog, scheduling, commerce, events, forms, proposals, assets, email, branding, the Spot storefront, and webhooks. (They're a focused subset of the full REST API; anything not yet in an SDK is a REST call away.)
from adhara_sdk import create_client
from adhara_sdk.models import CreateLeadRequest
client = create_client(api_key="adhara_pk_live_xxx")
# Create a CRM contact from your own app
lead = client.leads.create(
CreateLeadRequest(email="jane@acme.com", first_name="Jane")
)
print(lead.id)import { createClient } from "@eimglobalsolutions/adhara-sdk";
const adhara = createClient({ apiKey: process.env.ADHARA_API_KEY });
// Publish a blog post from CI
const post = await adhara.blog.create({
title: "Shipping notes",
slug: "shipping-notes",
status: "published",
});SDKs are distributed privately to workspaces with API access.
Webhooks
Subscribe to 30+ outbound events and Adhara will POST them to your endpoint — signed with a secret, with full delivery history, usage stats, and a test-send from the dashboard. Keep your data warehouse, Slack, or internal tools in sync the moment something happens.
POST https://your-app.com/hooks/adhara
X-Adhara-Signature: t=...,v1=...
{
"event": "lead.created",
"workspace_id": "04b6d26a-...",
"data": { "id": "9f3c...", "email": "jane@acme.com", "source": "form" }
}Authentication
Server-to-server requests authenticate with an API key in the X-API-Key header (keys are prefixed adhara_pk_). Every key carries scoped permissions in resource:action form, plus configurable rate limits — so a key can do exactly what you grant it and nothing more.
Default limits are 60 requests/min, 1,000/hour, 10,000/day — adjustable per key. User-facing sessions use JWT bearer tokens; the RAG API uses its own keys.
Possibilities
Join the waitlist — we're onboarding developers in waves and would love to build with you.