HaloiaDocs
Dashboard

Motion graphics

We have helped more than a hundred companies launch, rebrand and grow online. Our motion team turns complex ideas into short films people actually watch.

5 min read Updated Dec 25, 2025 v2.0.2

Overview

We combine strategy, design and technology to build brands that grow. Clear prices, honest advice and no surprises along the way. We listen first, then build a plan around what you actually need. We measure success by how many clients come back and tell their friends.

Installation

Install the SDK with the package manager your project already uses. It needs Node 18 or newer.

terminal
$ npm install @haloia/sdk
terminal
$ yarn add @haloia/sdk
terminal
$ pnpm add @haloia/sdk
Using a server without Node? The same endpoints are available over plain HTTPS; see the API reference below.

Configuration

Friendly people answer your questions quickly, by phone, chat or email. We measure success in sign-ups, sales and brand recall, not just awards. Create a file named haloia.config.json in the project root:

haloia.config.json
{
  "project": "haloia",
  "region": "ap-south",
  "categories": ["branding", "web", "motion"],
  "retries": 3,
  "timeoutMs": 6000,
  "webhooks": { "enabled": true }
}
OptionTypeDefaultDescription
projectstring-Your project key from the dashboard.
regionstring"us-east"Data centre closest to your clients.
retriesnumber3How often a failed call is retried.
timeoutMsnumber10000Time before a request is cancelled.
webhooks.enabledbooleanfalseSend events to your endpoint.

Your first request

Start in minutes and get help from a real person whenever you need it.

  1. Create an API keyOpen the dashboard, choose Settings › API keys and copy a new secret key.
  2. Store it safelyKeep the key in an environment variable, never in your source code.
  3. Make the callRun the snippet below; it prints the first page of results.
index.js
import { Client } from "@haloia/sdk";

const client = new Client({ apiKey: process.env.API_KEY });

// list the newest projects in one category
const page = await client.projects.list({ category: "branding", limit: 20 });

for (const item of page.data) {
  console.log(item.name, item.price);
}
Heads up: test keys only return sample data. Switch to a live key before you go to production.

API reference

Every endpoint returns JSON and uses standard HTTP status codes.

GET/v1/projectsList projects with paging and filters.
POST/v1/projectsCreate a new project.
PATCH/v1/projects/{id}Update some fields of a project.
DELETE/v1/projects/{id}Archive a project; it can be restored for 30 days.
response.json
{
  "data": [
    { "id": "project_9728", "name": "Design retainer", "price": 249 }
  ],
  "has_more": true
}

Troubleshooting

Our team has done this many times, so you never have to guess. We combine strategy, design and technology to build brands that grow.

Our team has done this many times, so you never have to guess. We listen first, then build a plan around what you actually need.

Every detail is handled by people who care about getting it right. Every project starts with a workshop, so we understand your audience before we design.

Next steps

We have helped more than a hundred companies launch, rebrand and grow online.

Was this page helpful?
All screens