A C/C++ API for data ingestion

A C/C++ API for data ingestion

We’ve released a C client library for importing data into LumiDB. It wraps our HTTP API with a simple C interface. Ideal for integrating with existing C or C++ systems.

Published on


Do not index
Do not index
At LumiDB, we’re building a database for reality capture data that makes handling big point cloud datasets easy, accessible and fun. Request access to the private beta to try it out.
We’ve released a header-only C library that lets C and C++ applications write data directly to LumiDB.
Before this, importing data required crafting direct HTTP requests. The header-only lumidb.h library simplifies the process by wrapping our import API with a minimal C interface. It supports:
  • Uploading files
  • Creating import manifests
  • Starting and tracking import operations
For more on the underlying API, see our import API tutorial.

How the import process works

  1. For each input file:
      • POST metadata to /api/assets/upload
      • Receive an asset_id and a presigned upload URL
      • PUT file contents to that URL
      • Push the asset_id and file projection info into an array
  1. Build a manifest (.json) describing the assets and target table
  1. POST the manifest to begin the import
  1. Poll the import status endpoint to monitor progress
See the example program for a step-by-step walkthrough.

Get started

The client library is available at https://github.com/lumidb/sdk-c
To integrate, include lumidb.h and link against libcurl and cJSON. We provide build examples for:
  • Windows (MSVC + vcpkg)
  • macOS and Linux (Makefile)
This is one of several updates we’re rolling out this summer as part of a broader product overhaul. We’re working with our customers to streamline how teams store, discover, and analyze 3D point cloud data.
More soon, request access to join the private beta.

Written by

Alex Lagerstedt
Alex Lagerstedt

Lead Developer