Node Status
Operational
Latency (p50)
6ms
Uptime (30d)
99.98%
Region
North America — Canada
Version
1.4.2
Uptime — Last 30 days99.98%
Today
API Reference
Endpoints available on this ingestion node. Authentication required for data operations.
GET/v1/healthHealth check
Returns node health status. No authentication required.
curl
curl https://ingest-na1.novamesh.digital/v1/health
Response — 200 OK
{
"status": "ok",
"node": "ingest-na1",
"region": "na",
"version": "1.4.2",
"uptime": 99.98
}
POST/v1/ingestSingle event ingestion🔒 auth
Ingest a single event. Validated at the edge and queued for processing.
| Parameter | Type | Description |
|---|---|---|
| event | string | Event name required |
| properties | object | Key-value pairs associated with the event |
| user_id | string | Unique user identifier |
| timestamp | string | ISO 8601 timestamp. Defaults to server time. |
curl
curl -X POST https://ingest-na1.novamesh.digital/v1/ingest \
-H "Authorization: Bearer nm_live_..." \
-H "Content-Type: application/json" \
-d '{"event":"page_view","user_id":"usr_28f","properties":{"page":"/home"}}'
Response — 202 Accepted
{
"accepted": true,
"queued": 1
}
Error — 401 Unauthorized
{
"error": "unauthorized",
"message": "API key required. See https://novamesh.digital#api"
}
POST/v1/batchBatch event ingestion🔒 auth
Ingest up to 500 events per request. Supports gzip.
| Parameter | Type | Description |
|---|---|---|
| events | array | Array of event objects (max 500) required |
| context | object | Shared context applied to all events |
curl
curl -X POST https://ingest-na1.novamesh.digital/v1/batch \
-H "Authorization: Bearer nm_live_..." \
-H "Content-Type: application/json" \
-d '{"events":[{"event":"click","user_id":"u1"},{"event":"scroll","user_id":"u1"}]}'
Response — 202 Accepted
{
"accepted": true,
"events": 2,
"batch_id": "b_8f2a1c..."
}
GET/v1/queryQuery events🔒 auth
Execute SQL-compatible queries. Results streamed as NDJSON.
| Parameter | Type | Description |
|---|---|---|
| q | string | SQL query required |
| format | string | json (default) or csv |
| limit | integer | Max rows. Default 1000, max 50000. |
curl
curl -G https://ingest-na1.novamesh.digital/v1/query \
-H "Authorization: Bearer nm_live_..." \
--data-urlencode 'q=SELECT event, count() FROM events GROUP BY event LIMIT 10'
Response — 200 OK
{
"columns": ["event", "count"],
"rows": [["page_view", 142857], ["click", 98204]],
"meta": {"elapsed_ms": 42}
}