API Reference

DataLynxr exposes a REST API for SQL execution, stream management, and feature fetching. A Python SDK wraps the REST API with typed return objects.

Authentication

All API calls require a Bearer token obtained from the dashboard under Settings → API Keys.

Authorization header
Authorization: Bearer dlx_sk_v1_XXXXXXXXXXXXXXXXXXXX

Base URL

Base endpoint
https://api.datalynxr.com/v1

POST /sql/execute

Execute a SQL statement and return the result. Best for interactive queries up to ~100 MB result size. For larger results, use /sql/submit and poll for completion.

POST /sql/execute

Request body

Example request
curl -X POST https://api.datalynxr.com/v1/sql/execute \
  -H "Authorization: Bearer $DLX_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "workspace": "acme-analytics",
    "statement": "SELECT COUNT(*) FROM iceberg.prod.events",
    "timeout_ms": 30000
  }'

Response

200 OK
{
  "query_id": "qry_01HZ2K9MNPQRSTUVWXYZ",
  "status": "completed",
  "rows": [{"count(1)": 4823917234}],
  "columns": [{"name": "count(1)", "type": "BIGINT"}],
  "elapsed_ms": 312,
  "bytes_scanned": 2197845017
}

POST /streams

Create a streaming ingest pipeline from a Kafka or Kinesis source into a Delta or Iceberg sink.

POST /streams
Create stream request
curl -X POST https://api.datalynxr.com/v1/streams \
  -H "Authorization: Bearer $DLX_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "user-events-stream",
    "source": {"type": "kafka", "brokers": "kafka:9092", "topic": "user-events"},
    "sink": {"type": "delta", "table": "s3://my-lake/events/"},
    "trigger_interval_secs": 60
  }'

Python SDK

Install via pip: pip install datalynxr

Python SDK — core methods
from datalynxr import LakehouseClient

client = LakehouseClient(
    workspace="acme-analytics",
    api_key="dlx_sk_v1_XXXX",
)

# SQL execution — returns Pandas DataFrame
df = client.sql("SELECT * FROM iceberg.prod.users LIMIT 100")

# Feature fetch — point-in-time correct
features = client.get_feature_values(
    table="delta.prod.user_features",
    entity_ids=user_ids,
    timestamp=timestamps,   # per-entity label timestamp
)