Org API

What the Org API lets your own website and tools do, and how to make your first call in a minute.

The Org API connects a website or tool you run somewhere else to your Lahuta organization. Your site keeps its own design and hosting. Signups, payments, bookings and form submissions still land in your Lahuta dashboard, next to everything that comes in through your Lahuta pages.

What you can do with it

On your websiteWhat happens in Lahuta
A newsletter signup box in the footerThe person becomes a contact and joins your newsletter
A list of your upcoming classes and eventsRead live from your events, with links to register
A blog section that shows your Lahuta postsRead from your published posts
A shop page with your productsBuyers pay on Lahuta's checkout page, and orders show in Commerce → Product orders
A pay button for dues, donations or depositsPaid through your Stripe account, and listed under Commerce → Website payments
A "book a studio slot" formA real booking, with the same confirmation email the booking page sends
A contact, wholesale or job application formThe person is saved as a contact, with a note or a row in a group
An email to the person, or an alert to your teamSent in your organization's name. Emails to a contact are kept on their timeline

If you're the owner

You don't need to write any code yourself. Create an API key as shown in Authentication, send it to your web developer through a password manager or another private channel, and point them to these pages.

What it isn't

  • Not for browser code. The API key has full access to your organization's Org API, so it must stay on a server: a Next.js route handler, a serverless function, your backend. The API doesn't accept requests made from the JavaScript of other websites, so a fetch from a visitor's browser fails before it reaches Lahuta.
  • Not the whole dashboard. You still create events, products, booking types and blog posts in the dashboard, or with an AI assistant. The Org API shows them on your site and sends signups, payments and bookings back.
  • No webhooks. Lahuta doesn't call your server when something happens. To find out whether someone paid, ask for the checkout's status. The payment guides show how.

Quick start

Create an API key

As an admin, open Settings → API keys in the dashboard and select Create API key. Copy the key when it's shown. It's only shown once.

Store it on your server

Save it as an environment variable called LAHUTA_API_KEY. Never commit it to your code or put it in a page's JavaScript.

Make your first call

GET /v1/org returns the organization your key belongs to. If you see your organization's name, you're connected.

curl https://api.lahuta.org/v1/org \
  -H "X-Api-Key: $LAHUTA_API_KEY"
{
  "name": "Northside Pottery",
  "slug": "northside-pottery",
  "image": "https://media.lahuta.io/images/0197a3c2-5b1e-7d40-9f2a-3c8e1b6d4f70/0197a3d0-8c21-7b55-a1e4-2f6b9d3c7e18.png"
}

The basics

  • Base URL: https://api.lahuta.org/v1. The version is part of the path.
  • Authentication: your key in the X-Api-Key header on every request. The key decides which organization you're working with, so no URL contains an organization id.
  • Format: JSON in and out. Send Content-Type: application/json with a body.
  • Times are ISO 8601 in UTC, like 2026-10-17T17:00:00.000Z. Calendar dates are YYYY-MM-DD.
  • Money is in cents, as whole numbers. 4500 is $45.00.
  • Phone numbers use the international E.164 format, like +15035550148.
  • Errors come back as JSON with a _tag that names what went wrong. See Errors.

Guides

Full reference

Every endpoint, field and error is listed in the API reference. You can also download the OpenAPI spec to generate a client or import the API into a tool like Postman.

On this page