Skip to content
Docs · Start here

Getting started

Harakumo is one account and one API key for hosting, databases, storage, auth, payments, email, domains and AI — reachable from the SDK, the CLI, plain HTTPS or an AI assistant.

View as Markdown
All topics
On this page

Everything you create lives in a project, projects live in a workspace, and the workspace holds the plan, the Balance and the team. Every service has a REST API over plain HTTPS (https://harakumo.com/api/…), and most are also in the dashboard, the JavaScript SDK and the CLI: each topic's Reference says which. An AI assistant connected over MCP uses the same API, with your permissions.

New here? The Quickstart builds a working app with a database, browser uploads and payments, step by step. Every step works on the free plan: the app is one worker.js file on the edge.

The pieces

LevelWhat it is
AccountYou: an email address, a password and optional two-factor sign-in.
WorkspaceWhere billing and people live: one plan, one Balance, one team with roles. Signing up creates a personal workspace; you can create more and be invited to others.
ProjectOne app. It has its own address (https://<slug>.harakumo.app), environment variables and resources.
ResourceA database, bucket, function, auth pool, payment account, vector collection, memory store, agent or media asset inside a project.

Install

SDK (Node 18 or newer)
npm install @harakumo/sdk
CLI
npm install -g @harakumo/cli
harakumo login --key hk_live_…     # saved to ~/.harakumo/config.json
harakumo docs                      # these docs, in the terminal

Make your first call

  1. Create a key in Dashboard → Settings → API access (owners and admins can). It is shown once; store it as HARAKUMO_API_KEY.
  2. Send it as a Bearer token. The same key works for every service and every interface.
curl
curl https://harakumo.com/api/projects \
  -H "Authorization: Bearer $HARAKUMO_API_KEY"
SDK
import Harakumo from '@harakumo/sdk';

const hk = new Harakumo({ apiKey: process.env.HARAKUMO_API_KEY });
const { projects, org } = await hk.projects.list();

Keys are secrets: use them from servers, scripts and CI, never in a browser or a mobile app. For sign-in from a browser, auth pools have a publishable client id instead (see Auth pools).

Where to go next

  • Quickstart — signup to a live app with a database, storage and payments, on the free plan.
  • API keys & authentication — full, read-only and project keys, and which to give an app.
  • Limits & scaling — every number, and how each service behaves under load.
  • Errors & rate limits — what each status and code means.
  • AI connector (MCP) — run all of it from Claude or ChatGPT.