content/shared/influxdb3-write-guides/_index.md
Use tools like the {{% show-in "cloud-dedicated,clustered" %}}influxctl{{% /show-in %}}{{% show-in "cloud-serverless" %}}influx{{% /show-in %}}{{% show-in "core,enterprise" %}}influxdb3{{% /show-in %}} CLI, Telegraf, and InfluxDB client libraries
to write time series data to {{< product-name >}}.
line protocol
is the text-based format used to write data to InfluxDB.
[!Tip] Tools are available to convert other formats (for example—CSV) to line protocol.
{{% show-in "core,enterprise" %}}
{{% show-in "core,enterprise" %}}
[!Tip]
Choose the write endpoint for your workload
When creating new write workloads, use the InfluxDB HTTP API
/api/v3/write_lpendpoint and client libraries.When bringing existing v1 write workloads, use the {{% product-name %}} HTTP API
/writeendpoint.When bringing existing v2 write workloads, use the {{% product-name %}} HTTP API
/api/v2/writeendpoint.For Telegraf, use the InfluxDB v1.x
outputs.influxdbor v2.xoutputs.influxdb_v2output plugins. See how to use Telegraf to write data.
{{% product-name %}} provides multiple write endpoints for compatibility with different InfluxDB versions. The following table compares timestamp precision support across v1, v2, and v3 write APIs:
| Precision | v1 (/write) | v2 (/api/v2/write) | v3 (/api/v3/write_lp) |
|---|---|---|---|
| Auto detection | ❌ No | ❌ No | ✅ auto (default) |
| Seconds | ✅ s | ✅ s | ✅ second |
| Milliseconds | ✅ ms | ✅ ms | ✅ millisecond |
| Microseconds | ✅ u or µ | ✅ us | ✅ microsecond |
| Nanoseconds | ✅ ns | ✅ ns | ✅ nanosecond |
| Minutes | ✅ m | ❌ No | ❌ No |
| Hours | ✅ h | ❌ No | ❌ No |
| Default | Nanosecond | Nanosecond | Auto (guessed) |
{{% /show-in %}}
{{% hide-in "core,enterprise" %}}
[!Note]
Choose the write endpoint for your workload
When bringing existing v1 write workloads, use the {{% product-name %}} HTTP API
/writeendpoint. When creating new write workloads, use the HTTP API/api/v2/writeendpoint. {{% /hide-in %}}
All data written to InfluxDB is written using line protocol, a text-based format that lets you provide the necessary information to write a data point to InfluxDB.
In InfluxDB, a point contains a table name, one or more fields, a timestamp, and optional tags that provide metadata about the observation.
Each line of line protocol contains the following elements:
{{< req type="key" >}}
\n).
Line protocol is whitespace sensitive.{{< influxdb/line-protocol version="v3" >}}
For schema design recommendations, see InfluxDB schema design.
{{< children >}}