Skip to main content

API

Columns AI provides APIs for ingesting event data and querying it in real time.

With Columns, you do not need to build and maintain your own real-time analytics stack. You can:

  1. Send data to a topic.
  2. Query the topic through the UI or API.

Ingestion Endpoint

To send real-time events, you need:

  • an API key
  • a topic name

Note: The ingestion payload currently supports JSON messages.

Use endpoint: POST /api/event/send

Payload format:

{
// API key for an authenticated account
apiKey: string;

// Topic name
topic: string;

// One or more messages (JSON serialized strings)
messages: string[];
}

Example request:

curl -d "@data.json" -H "Content-Type: application/json" -X POST https://columns.ai/api/event/send

Example data.json:

{
"apiKey": "<API KEY>",
"topic": "test2",
"messages": [
"{\"name\":\"abc\",\"value\":8}",
"{\"name\":\"def\",\"value\":9}",
"{\"name\":\"ghi\",\"value\":10}",
"{\"name\":\"jkl\",\"value\":11}",
"{\"name\":\"mno\",\"value\":12}",
"{\"name\":\"pqr\",\"value\":13}",
"{\"name\":\"stu\",\"value\":14}",
"{\"name\":\"vwx\",\"value\":15}",
"{\"name\":\"yz\",\"value\":16}"
]
}

Topic names are globally unique and can contain:

  • letters (a-z, A-Z)
  • digits (0-9)
  • underscore (_)

Live Query

Once data arrives in a topic, you can define a data source and query it.

An event data source defines:

  1. schema (columns and data types)
  2. retention window (in hours)

You can access the data through:

  1. Columns UI (visualizer, templates, and story composer)
  2. Columns API (query object + functions)

Plan Limits

Columns supports free and paid usage tiers, mainly differentiated by throughput limits.

For large workloads, contact support@columns.ai for dedicated support.

See Columns AI Pricing.

Analytical API (Lease Model)

You can also bring your own data and use Columns compute as a hosted analytical layer.

Learn more on Developer Page.