---
title: influxdb3 write
description: The influxdb3 write command writes data to your InfluxDB 3 Enterprise server.
url: https://docs.influxdata.com/influxdb3/enterprise/reference/cli/influxdb3/write/
estimated_tokens: 4172
product: InfluxDB 3 Enterprise
version: enterprise
---

# influxdb3 write

The `influxdb3 write` command writes data to your InfluxDB 3 Enterprise server.

## Usage

```bash
influxdb3 write [OPTIONS] --database <DATABASE_NAME> [LINE_PROTOCOL]...
```

##### Aliases

`write`, `w`

## Arguments

-   **LINE\_PROTOCOL**: The line protocol to write to InfluxDB 3 Enterprise. Provide the line protocol in one of the following ways:
    
    -   a string
    -   a path to a file that contains the line protocol using the `--file` option
    -   from stdin

## Options

| Option |  | Description |
| --- | --- | --- |
| -H | --host | Host URL of the running InfluxDB 3 Enterprise server (default is http://127.0.0.1:8181) |
| -d | --database | (Required) Name of the database to operate on |
|  | --token | (Required) Authentication token |
| -f | --file | A file that contains line protocol to write |
|  | --accept-partial | Accept partial writes |
|  | --no-sync | Do not wait for WAL sync before acknowledging the write request |
|  | --precision | Precision of data timestamps (ns, us, ms, or s) |
|  | --tls-ca | Path to a custom TLS certificate authority (for testing or self-signed certificates) |
|  | --tls-no-verify | Disable TLS certificate verification (Not recommended in production, useful for self-signed certificates) |
| -h | --help | Print help information |
|  | --help-all | Print detailed help information |

### Option environment variables

You can use the following environment variables to set command options:

| Environment Variable | Option |
| --- | --- |
| INFLUXDB3_HOST_URL | --host |
| INFLUXDB3_DATABASE_NAME | --database |
| INFLUXDB3_AUTH_TOKEN | --token |
| INFLUXDB3_TLS_NO_VERIFY | --tls-no-verify |

## Examples

-   [Write line protocol to your InfluxDB 3 server](#write-line-protocol-to-your-influxdb-3-server)
-   [Write line protocol and accept partial writes](#write-line-protocol-and-accept-partial-writes)
-   [Write line protocol with specific timestamp precision](#write-line-protocol-with-specific-timestamp-precision)
-   [Write line protocol and immediately return a response](#write-line-protocol-and-immediately-return-a-response)

In the examples below, replace the following:

-   `DATABASE_NAME`: the name of the database to query
-   `AUTH_TOKEN`: Authentication token

### Write line protocol to your InfluxDB 3 server

<!-- Tabbed content: Select one of the following options -->

**string:**

```bash
influxdb3 write \
  --database DATABASE_NAME \
  --token AUTH_TOKEN \
  'home,room=Living\ Room temp=21.1,hum=35.9,co=0i 1641024000'
```

**file:**

```bash
influxdb3 write \
  --database DATABASE_NAME \
  --token AUTH_TOKEN \
  --file ./data.lp
```

**stdin:**

```bash
cat ./data.lp | influxdb3 write \
  --database DATABASE_NAME \
  --token AUTH_TOKEN
```

<!-- End tabbed content -->

### Write line protocol and accept partial writes

<!-- Tabbed content: Select one of the following options -->

**string:**

```bash
influxdb3 write \
  --accept-partial \
  --database DATABASE_NAME \
  --token AUTH_TOKEN \
  'home,room=Living\ Room temp=21.1,hum=35.9,co=0i 1641024000'
```

**file:**

```bash
influxdb3 write \
  --accept-partial \
  --database DATABASE_NAME \
  --token AUTH_TOKEN \
  --file ./data.lp
```

**stdin:**

```bash
cat ./data.lp | influxdb3 write \
  --accept-partial \
  --database DATABASE_NAME \
  --token AUTH_TOKEN
```

<!-- End tabbed content -->

### Write line protocol with specific timestamp precision

By default, in CLI and HTTP API write requests, InfluxDB 3 Enterprise uses the timestamp magnitude to auto-detect the precision. To avoid any ambiguity, specify the `--precision {ns|us|ms|s}` option:

```bash
influxdb3 write \
  --database DATABASE_NAME \
  --token AUTH_TOKEN \
  --precision s \
  'home,room=Living\ Room temp=21.1,hum=35.9,co=0i 1641024000
home,room=Kitchen temp=21.0,hum=35.9,co=0i 1641024000
home,room=Living\ Room temp=21.4,hum=35.9,co=0i 1641027600
home,room=Kitchen temp=23.0,hum=36.2,co=0i 1641027600
'
```

### Write line protocol and immediately return a response

By default, InfluxDB 3 Enterprise waits to respond to write requests until the written data is flushed from the Write-Ahead Log (WAL) to object storage (every 1s by default). Use the `--no-sync` option to immediately return a response without waiting for the WAL to flush. This improves perceived write response times, but may hide certain types of write errors–for example: malformed line protocol or type conflicts.

Only use `--no-sync` when low write latency is more important than guaranteed data durability. Avoid using this option for critical or irreplaceable data, as it increases the risk of silent data loss.

```bash
influxdb3 write \
  --database DATABASE_NAME \
  --token AUTH_TOKEN \
  --no-sync \
  'home,room=Living\ Room temp=21.1,hum=35.9,co=0i 1641024000'
```
