> ## Documentation Index
> Fetch the complete documentation index at: https://docs.hacktionbase.com/llms.txt
> Use this file to discover all available pages before exploring further.

# API Reference

> Server-side API for ingesting users, accounts, and events.

## Overview

The Hacktionbase Public API is a REST API for server-side data ingestion. Use it to create users, accounts, and track events from your backend.

**Base URL:** `https://api.hacktionbase.com/v1`

## Authentication

All endpoints (except `/health`) require a **Bearer token**. Use your API key from **Settings → API Keys** in the dashboard.

```bash theme={null}
curl -X POST https://api.hacktionbase.com/v1/users \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"externalId": "user_123", "email": "jane@example.com"}'
```

## Response format

All mutation endpoints return **202 Accepted** — data is processed asynchronously via a queue. This ensures high throughput and reliability.

## Rate limits

API rate limits depend on your plan. If you exceed the limit, you'll receive a `429 Too Many Requests` response.

## Endpoints

<CardGroup cols={2}>
  <Card title="Health" icon="heart-pulse" href="/api-reference/endpoint/health">
    Check API availability.
  </Card>

  <Card title="Users" icon="user" href="/api-reference/endpoint/users">
    Create or update user profiles.
  </Card>

  <Card title="Accounts" icon="building" href="/api-reference/endpoint/accounts">
    Create or update company accounts.
  </Card>

  <Card title="Events" icon="bolt" href="/api-reference/endpoint/events">
    Track custom events server-side.
  </Card>

  <Card title="Identify" icon="fingerprint" href="/api-reference/endpoint/identify">
    Merge anonymous and identified users.
  </Card>

  <Card title="Batch" icon="layer-group" href="/api-reference/endpoint/batch">
    Send multiple operations in one request.
  </Card>
</CardGroup>
