Skip to main content

Line Protocol Bulk Import

Import InfluxDB Line Protocol files into Arc. Enables one-command migration from InfluxDB by uploading .lp or .txt files (plain or gzip-compressed).

Available since v26.02.1

Line Protocol bulk import is available starting Arc v26.02.1 (February 2026).

Streaming vs. Bulk

This page covers bulk file import via POST /api/v1/import/lp. For streaming ingestion of Line Protocol data (real-time writes), see the Line Protocol write endpoints in the API Reference.

Endpoint

POST /api/v1/import/lp

Headers

HeaderRequiredDefaultDescription
AuthorizationYes-Bearer $ARC_TOKEN
X-Arc-DatabaseYes-Target database name (or use db query param)

Query Parameters

ParameterRequiredDefaultDescription
measurementNo(all)Filter to a single measurement from the LP file
precisionNonsTimestamp precision: ns, us, ms, s

Basic Example

curl -X POST "http://localhost:8000/api/v1/import/lp" \
-H "Authorization: Bearer $ARC_TOKEN" \
-H "X-Arc-Database: mydb" \
-F "file=@export.lp"

Example with Precision

# Import LP file with second-precision timestamps
curl -X POST "http://localhost:8000/api/v1/import/lp?precision=s" \
-H "Authorization: Bearer $ARC_TOKEN" \
-H "X-Arc-Database: mydb" \
-F "file=@export_seconds.lp"

Response

{
"status": "ok",
"result": {
"database": "mydb",
"measurements": ["cpu", "mem", "disk"],
"rows_imported": 150000,
"precision": "ns",
"duration_ms": 342
}
}

InfluxDB Migration

Export from InfluxDB and import directly into Arc:

# Export from InfluxDB 1.x
influx -execute "SELECT * FROM cpu" -database mydb -format lp > export.lp

# Import to Arc
curl -X POST "http://localhost:8000/api/v1/import/lp" \
-H "X-Arc-Database: mydb" \
-H "Authorization: Bearer $ARC_TOKEN" \
-F "file=@export.lp"

How It Works

Data flows through Arc's high-performance columnar ingest pipeline (ArrowBuffer -> ArrowWriter -> Parquet -> storage) -- the same path used by streaming LP ingestion. This means bulk imports benefit from the same throughput, sort optimization, and hourly partitioning.

Notes

  • Multi-measurement -- a single LP file can contain multiple measurements; all are imported in one request.
  • Precision-aware -- timestamps are losslessly converted from the specified precision to Arc's internal microsecond format.
  • Gzip support -- compressed files (.lp.gz) are automatically detected and decompressed via magic bytes.
  • RBAC -- write permissions are checked for every measurement in the file.
  • Maximum file size: 500 MB (after decompression).

Error Responses

StatusDescription
400Missing database, invalid precision, or no file uploaded
403Insufficient write permissions for one or more measurements
413File exceeds 500 MB size limit
500Import execution error