---
title: influxctl write
description: The influxctl write command writes line protocol to InfluxDB Cloud Dedicated.
url: https://docs.influxdata.com/influxdb3/cloud-dedicated/reference/cli/influxctl/write/
estimated_tokens: 6114
product: InfluxDB Cloud Dedicated
version: cloud-dedicated
---

# influxctl write

-   influxctl 2.4.0+

The `influxctl write` command writes [line protocol](/influxdb3/cloud-dedicated/reference/syntax/line-protocol/) to InfluxDB Cloud Dedicated.

Provide line protocol in one of the following ways:

-   a string on the command line
-   a path to a file that contains line protocol
-   as a single dash (`-`) to read line protocol from stdin

#### Important to note

-   This command supports only one write request per execution, but does support multiple lines of line protocol and will batch data based on the `--batch-size`.
-   This command is not meant to be a full, feature-rich write tool. It’s meant for debug, triage, and initial exploration.

### InfluxDB connection configuration

Your InfluxDB Cloud Dedicated cluster host and port are configured in your `influxctl` [connection profile](/influxdb3/cloud-dedicated/reference/cli/influxctl/#configure-connection-profiles). Default uses TLS and port 443. You can set a default database and token to use for the `query` and `write` commands in your connection profile or pass them with the command using the `--database` and `--token` flags. Command line flags override settings in the connection profile.

## Usage

```sh
influxctl write [flags] <LINE_PROTOCOL>
```

## Arguments

| Argument | Description |
| --- | --- |
| LINE_PROTOCOL | Line protocol to write (command line string, path to file, or - to read from stdin) |

## Flags

| Flag |  | Description |
| --- | --- | --- |
|  | --batch-size | Number of metrics to write per batch (default is 10000) |
|  | --database | Database to write to |
|  | --precision | Precision of data timestamps (ns (default), us, ms, or s) |
|  | --timeout | Client timeout in seconds (default is 10) |
|  | --token | Database token with write permissions on the target database |
| -h | --help | Output command help |

*Also see [`influxctl` global flags](/influxdb3/cloud-dedicated/reference/cli/influxctl/#global-flags).*

## Examples

-   [Write line protocol to InfluxDB 3](#write-line-protocol-to-influxdb-3)
-   [Write line protocol to InfluxDB 3 with non-default timestamp precision](#write-line-protocol-to-influxdb-3-with-non-default-timestamp-precision)
-   [Write line protocol to InfluxDB 3 with a custom batch size](#write-line-protocol-to-influxdb-3-with-a-custom-batch-size)
-   [Write line protocol to InfluxDB 3 using credentials from the connection profile](#write-line-protocol-to-influxdb-3-using-credentials-from-the-connection-profile)

In the examples below, replace the following:

-   `DATABASE_TOKEN`: Database token with write access to the target database
-   `DATABASE_NAME`: Name of the database to write to

### Write line protocol to InfluxDB 3

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

**string:**

```sh
influxctl write \
  --token DATABASE_TOKEN \
  --database DATABASE_NAME \
  "home,room=Living\ Room temp=21.1,hum=35.9,co=0i 1641024000000000000
home,room=Kitchen temp=21.0,hum=35.9,co=0i 1641024000000000000
home,room=Living\ Room temp=21.4,hum=35.9,co=0i 1641027600000000000
home,room=Kitchen temp=23.0,hum=36.2,co=0i 1641027600000000000
"
```

**file:**

```sh
influxctl write \
  --token DATABASE_TOKEN \
  --database DATABASE_NAME \
  /path/to/metrics.lp
```

**stdin:**

```sh
cat ./metrics.lp | influxctl write \
  --token DATABASE_TOKEN \
  --database DATABASE_NAME \
  - 
```

<!-- End tabbed content -->

### Write line protocol to InfluxDB 3 with non-default timestamp precision

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

**string:**

```sh
influxctl write \
  --token DATABASE_TOKEN \
  --database DATABASE_NAME \
  --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
"
```

**file:**

```sh
influxctl write \
  --token DATABASE_TOKEN \
  --database DATABASE_NAME \
  --precision s \
  /path/to/metrics.lp
```

**stdin:**

```sh
cat ./metrics.lp | influxctl write \
  --token DATABASE_TOKEN \
  --database DATABASE_NAME \
  --precision s \
  - 
```

<!-- End tabbed content -->

### Write line protocol to InfluxDB 3 with a custom batch size

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

**string:**

```sh
influxctl write \
  --token DATABASE_TOKEN \
  --database DATABASE_NAME \
  --batch-size 5000 \
  "home,room=Living\ Room temp=21.1,hum=35.9,co=0i 1641024000000000000
home,room=Kitchen temp=21.0,hum=35.9,co=0i 1641024000000000000
home,room=Living\ Room temp=21.4,hum=35.9,co=0i 1641027600000000000
home,room=Kitchen temp=23.0,hum=36.2,co=0i 1641027600000000000
"
```

**file:**

```sh
influxctl write \
  --token DATABASE_TOKEN \
  --database DATABASE_NAME \
  --batch-size 5000 \
  /path/to/metrics.lp
```

**stdin:**

```sh
cat ./metrics.lp | influxctl write \
  --token DATABASE_TOKEN \
  --database DATABASE_NAME \
  --batch-size 5000 \
  - 
```

<!-- End tabbed content -->

### Write line protocol to InfluxDB 3 with a custom client timeout

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

**string:**

```sh
influxctl write \
  --token DATABASE_TOKEN \
  --database DATABASE_NAME \
  --timeout 20 \
  "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
"
```

**file:**

```sh
influxctl write \
  --token DATABASE_TOKEN \
  --database DATABASE_NAME \
  --timeout 20 \
  /path/to/metrics.lp
```

**stdin:**

```sh
cat ./metrics.lp | influxctl write \
  --token DATABASE_TOKEN \
  --database DATABASE_NAME \
  --timeout 20 \
  - 
```

<!-- End tabbed content -->

### Write line protocol to InfluxDB 3 using credentials from the connection profile

The following example uses the `database` and `token` defined in the `default` [connection profile](/influxdb3/cloud-dedicated/reference/cli/influxctl/#configure-connection-profiles).

\`\`\`sh influxctl write "home,room=Living\\ Room temp=21.1,hum=35.9,co=0i 1641024000000000000 home,room=Kitchen temp=21.0,hum=35.9,co=0i 1641024000000000000 home,room=Living\\ Room temp=21.4,hum=35.9,co=0i 1641027600000000000 home,room=Kitchen temp=23.0,hum=36.2,co=0i 1641027600000000000 " \`\`\`

[](#view-command-updates)

View command updates

#### v2.8.0

-   Add `--timeout` flag to specify a custom client timeout.
    

#### Related

-   [Line protocol reference](/influxdb3/cloud-dedicated/reference/syntax/line-protocol/)
-   [Write data to InfluxDB Cloud Dedicated](/influxdb3/cloud-dedicated/write-data/)
