diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 419ea8b44..ff9df77d0 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -333,6 +333,36 @@ WHERE time > now() - 15m
{{< /code-tabs-wrapper >}}
~~~
+### Required elements
+Use the `{{< req >}}` shortcode to identify required elements in documentation with
+orange text and/or asterisks. By default, the shortcode outputs the text, "Required," but
+you can customize the text by passing a string argument with the shortcode.
+
+```md
+{{< req >}}
+```
+
+**Output:** Required
+
+```md
+{{< req "This is Required" >}}
+```
+
+**Output:** This is required
+
+#### Required elements in a list
+When identifying required elements in a list, use `{{< req type="key" >}}` to generate
+a "* Required" key before the list. For required elements in the list, include
+{{< req "\*" >}} before the text of the list item. For example:
+
+```md
+{{< req type="key" >}}
+
+- {{< req "\*" >}} **This element is required**
+- {{< req "\*" >}} **This element is also required**
+- **This element is NOT required**
+```
+
### Keybinds
Use the `{{< keybind >}}` shortcode to include OS-specific keybindings/hotkeys.
The following parameters are available:
diff --git a/assets/styles/layouts/_article.scss b/assets/styles/layouts/_article.scss
index 2baa3da9a..3e81e09c5 100644
--- a/assets/styles/layouts/_article.scss
+++ b/assets/styles/layouts/_article.scss
@@ -128,8 +128,18 @@
.required, .req {
color:#FF8564;
- font-weight:700;
+ font-weight:$medium;
font-style: italic;
+ margin: 0 .15rem 0 .1rem;
+
+ &.asterisk {
+ margin: 0 -.1rem 0 -.5rem;
+ }
+
+ &.key {
+ font-size: .9rem;
+ font-weight: $medium;
+ }
}
a.q-link {
diff --git a/content/influxdb/cloud/query-data/influxql.md b/content/influxdb/cloud/query-data/influxql.md
index d988c1927..0ac56fd6c 100644
--- a/content/influxdb/cloud/query-data/influxql.md
+++ b/content/influxdb/cloud/query-data/influxql.md
@@ -41,8 +41,9 @@ Include the following:
- **Request method:** `GET`
- **Headers:**
- **Authorization:** `Token` schema with your InfluxDB [authentication token](/influxdb/cloud/security/tokens/)
-- **Query parameters:**
- - (Required) **organization_id:** [organization ID](/influxdb/cloud/organizations/view-orgs/#view-your-organization-id)
+- **Query parameters:**
+ {{< req type="key" >}}
+ - {{< req "\*" >}} **organization_id:** [organization ID](/influxdb/cloud/organizations/view-orgs/#view-your-organization-id)
- **bucket_id:** [bucket ID](/influxdb/cloud/organizations/buckets/view-buckets/) _(to list DBRP mappings for a specific bucket)_
- **database:** database name _(to list DBRP mappings with a specific database name)_
- **retention_policy:** retention policy name _(to list DBRP mappings with a specific retention policy name)_
@@ -81,12 +82,13 @@ Include the following:
- **Headers:**
- **Authorization:** `Token` schema with your InfluxDB [authentication token](/influxdb/cloud/security/tokens/)
- **Content-type:** `application/json`
-- **Request body:** JSON object with the following fields:
- - (Required) **bucket_id:** [bucket ID](/influxdb/cloud/organizations/buckets/view-buckets/)
- - (Required) **database:** database name
+- **Request body:** JSON object with the following fields:
+ {{< req type="key" >}}
+ - {{< req "\*" >}} **bucket_id:** [bucket ID](/influxdb/cloud/organizations/buckets/view-buckets/)
+ - {{< req "\*" >}} **database:** database name
- **default:** set the provided retention policy as the default retention policy for the database
- - (Required) **organization** or **organization_id:** organization name or [organization ID](/influxdb/cloud/organizations/view-orgs/#view-your-organization-id)
- - (Required) **retention_policy:** retention policy name
+ - {{< req "\*" >}} **organization** or **organization_id:** organization name or [organization ID](/influxdb/cloud/organizations/view-orgs/#view-your-organization-id)
+ - {{< req "\*" >}} **retention_policy:** retention policy name
```sh
diff --git a/content/influxdb/cloud/reference/flux/stdlib/built-in/transformations/covariance.md b/content/influxdb/cloud/reference/flux/stdlib/built-in/transformations/covariance.md
index 582aa5008..c86636eb7 100644
--- a/content/influxdb/cloud/reference/flux/stdlib/built-in/transformations/covariance.md
+++ b/content/influxdb/cloud/reference/flux/stdlib/built-in/transformations/covariance.md
@@ -24,7 +24,7 @@ covariance(columns: ["column_x", "column_y"], pearsonr: false, valueDst: "_value
## Parameters
### columns
-A list of **two columns** on which to operate. Required
+({{< req >}}) A list of **two columns** on which to operate.
_**Data type:** Array of strings_
diff --git a/content/influxdb/cloud/reference/flux/stdlib/built-in/transformations/join.md b/content/influxdb/cloud/reference/flux/stdlib/built-in/transformations/join.md
index c9d3966df..5c91b22c6 100644
--- a/content/influxdb/cloud/reference/flux/stdlib/built-in/transformations/join.md
+++ b/content/influxdb/cloud/reference/flux/stdlib/built-in/transformations/join.md
@@ -50,7 +50,7 @@ The resulting group keys for all tables will be: `[_time, _field_d1, _field_d2]`
## Parameters
### tables
-The map of streams to be joined. Required
+({{< req >}}) The map of streams to be joined.
_**Data type:** Record_
@@ -59,7 +59,7 @@ _**Data type:** Record_
{{% /note %}}
### on
-The list of columns on which to join. Required
+({{< req >}}) The list of columns on which to join.
_**Data type:** Array of strings_
diff --git a/content/influxdb/cloud/reference/flux/stdlib/contrib/influxdb/select.md b/content/influxdb/cloud/reference/flux/stdlib/contrib/influxdb/select.md
index da1ddd1bf..06dfb9144 100644
--- a/content/influxdb/cloud/reference/flux/stdlib/contrib/influxdb/select.md
+++ b/content/influxdb/cloud/reference/flux/stdlib/contrib/influxdb/select.md
@@ -48,12 +48,12 @@ querying data from a **different organization** or a **remote InfluxDB instance*
{{% /note %}}
### from
-Required Name of the bucket to query.
+({{< req >}}) Name of the bucket to query.
_**Data type:** String_
### start
-Required Earliest time to include in results.
+({{< req >}}) Earliest time to include in results.
Results **include** points that match the specified start time.
Use a relative duration, absolute time, or integer (Unix timestamp in seconds).
For example, `-1h`, `2019-08-28T22:00:00Z`, or `1567029600`.
@@ -73,7 +73,7 @@ Defaults to `now()`.
_**Data type:** Duration | Time | Integer_
### m
-Required Name of the measurement to query.
+({{< req >}}) Name of the measurement to query.
_**Data type:** String_
diff --git a/content/influxdb/cloud/reference/flux/stdlib/contrib/opsgenie/endpoint.md b/content/influxdb/cloud/reference/flux/stdlib/contrib/opsgenie/endpoint.md
index d38cff516..2ffdf5a7b 100644
--- a/content/influxdb/cloud/reference/flux/stdlib/contrib/opsgenie/endpoint.md
+++ b/content/influxdb/cloud/reference/flux/stdlib/contrib/opsgenie/endpoint.md
@@ -32,7 +32,7 @@ Defaults to `https://api.opsgenie.com/v2/alerts`.
_**Data type:** String_
### apiKey
-Required
+({{< req >}})
Opsgenie API authorization key.
_**Data type:** String_
diff --git a/content/influxdb/cloud/reference/flux/stdlib/contrib/opsgenie/sendalert.md b/content/influxdb/cloud/reference/flux/stdlib/contrib/opsgenie/sendalert.md
index 342fbb21d..5a85e6411 100644
--- a/content/influxdb/cloud/reference/flux/stdlib/contrib/opsgenie/sendalert.md
+++ b/content/influxdb/cloud/reference/flux/stdlib/contrib/opsgenie/sendalert.md
@@ -41,13 +41,13 @@ Defaults to `https://api.opsgenie.com/v2/alerts`.
_**Data type:** String_
### apiKey
-Required
+({{< req >}})
Opsgenie API authorization key.
_**Data type:** String_
### message
-Required
+({{< req >}})
Alert message text.
130 characters or less.
diff --git a/content/influxdb/cloud/reference/flux/stdlib/contrib/sensu/endpoint.md b/content/influxdb/cloud/reference/flux/stdlib/contrib/sensu/endpoint.md
index aa1230b36..05a9167c0 100644
--- a/content/influxdb/cloud/reference/flux/stdlib/contrib/sensu/endpoint.md
+++ b/content/influxdb/cloud/reference/flux/stdlib/contrib/sensu/endpoint.md
@@ -36,14 +36,14 @@ sensu.endpoint(
## Parameters
### url
-Required
+({{< req >}})
Base URL of [Sensu API](https://docs.sensu.io/sensu-go/latest/migrate/#architecture)
**without a trailing slash**. Example: `http://localhost:8080`.
_**Data type:** String_
### apiKey
-Required
+({{< req >}})
Sensu [API Key](https://docs.sensu.io/sensu-go/latest/operations/control-access/).
_**Data type:** String_
diff --git a/content/influxdb/cloud/reference/flux/stdlib/contrib/sensu/event.md b/content/influxdb/cloud/reference/flux/stdlib/contrib/sensu/event.md
index 38ea53bca..b9d5de7ce 100644
--- a/content/influxdb/cloud/reference/flux/stdlib/contrib/sensu/event.md
+++ b/content/influxdb/cloud/reference/flux/stdlib/contrib/sensu/event.md
@@ -38,20 +38,20 @@ sensu.event(
## Parameters
### url
-Required
+({{< req >}})
Base URL of [Sensu API](https://docs.sensu.io/sensu-go/latest/migrate/#architecture)
**without a trailing slash**. Example: `http://localhost:8080`.
_**Data type:** String_
### apiKey
-Required
+({{< req >}})
Sensu [API Key](https://docs.sensu.io/sensu-go/latest/operations/control-access/).
_**Data type:** String_
### checkName
-Required
+({{< req >}})
Check name.
Use alphanumeric characters, underscores (`_`), periods (`.`), and hyphens (`-`).
All other characters are replaced with an underscore.
@@ -59,7 +59,7 @@ All other characters are replaced with an underscore.
_**Data type:** String_
### text
-Required
+({{< req >}})
Event text.
Mapped to `output` in the Sensu Events API request.
diff --git a/content/influxdb/cloud/reference/flux/stdlib/contrib/telegram/endpoint.md b/content/influxdb/cloud/reference/flux/stdlib/contrib/telegram/endpoint.md
index 0e1cec3ec..f60cda65b 100644
--- a/content/influxdb/cloud/reference/flux/stdlib/contrib/telegram/endpoint.md
+++ b/content/influxdb/cloud/reference/flux/stdlib/contrib/telegram/endpoint.md
@@ -40,7 +40,7 @@ Default is `https://api.telegram.org/bot`.
_**Data type:** String_
### token
-Required
+({{< req >}})
Telegram bot token.
_**Data type:** String_
diff --git a/content/influxdb/cloud/reference/flux/stdlib/contrib/telegram/message.md b/content/influxdb/cloud/reference/flux/stdlib/contrib/telegram/message.md
index 0c416a038..c43e3df38 100644
--- a/content/influxdb/cloud/reference/flux/stdlib/contrib/telegram/message.md
+++ b/content/influxdb/cloud/reference/flux/stdlib/contrib/telegram/message.md
@@ -43,13 +43,13 @@ Default is `https://api.telegram.org/bot`.
_**Data type:** String_
### token
-Required
+({{< req >}})
Telegram bot token.
_**Data type:** String_
### channel
-Required
+({{< req >}})
Telegram channel ID.
_**Data type:** String_
diff --git a/content/influxdb/cloud/reference/flux/stdlib/pushbullet/pushdata.md b/content/influxdb/cloud/reference/flux/stdlib/pushbullet/pushdata.md
index c631d5b03..f97e48030 100644
--- a/content/influxdb/cloud/reference/flux/stdlib/pushbullet/pushdata.md
+++ b/content/influxdb/cloud/reference/flux/stdlib/pushbullet/pushdata.md
@@ -45,7 +45,7 @@ Defaults to `""`.
_**Data type:** String_
### data
-Required
+({{< req >}})
Data to send to the Pushbullet API.
The function JSON-encodes data before sending it to Pushbullet.
diff --git a/content/influxdb/cloud/reference/flux/stdlib/pushbullet/pushnote.md b/content/influxdb/cloud/reference/flux/stdlib/pushbullet/pushnote.md
index 73d96655d..95dad2f3c 100644
--- a/content/influxdb/cloud/reference/flux/stdlib/pushbullet/pushnote.md
+++ b/content/influxdb/cloud/reference/flux/stdlib/pushbullet/pushnote.md
@@ -42,13 +42,13 @@ Defaults to `""`.
_**Data type:** String_
### title
-Required
+({{< req >}})
Title of the notification.
_**Data type:** String_
### text
-Required
+({{< req >}})
Text to display in the notification.
_**Data type:** String_
diff --git a/content/influxdb/cloud/reference/flux/stdlib/slack/message.md b/content/influxdb/cloud/reference/flux/stdlib/slack/message.md
index 52e7bc0a0..5d2d83aad 100644
--- a/content/influxdb/cloud/reference/flux/stdlib/slack/message.md
+++ b/content/influxdb/cloud/reference/flux/stdlib/slack/message.md
@@ -55,18 +55,20 @@ A token is only required if using the Slack chat.postMessage API.
_**Data type:** String_
### channel
-The name of channel to post the message to. Required
+({{< req >}})
+The name of channel to post the message to.
_**Data type:** String_
### text
-The text to display in the Slack message. Required
+({{< req >}})
+The text to display in the Slack message.
_**Data type:** String_
### color
+({{< req >}})
The color to include with the message.
-Required
**Valid values include:**
diff --git a/content/influxdb/cloud/reference/flux/stdlib/sql/from.md b/content/influxdb/cloud/reference/flux/stdlib/sql/from.md
index 247a517d3..f8b4255c9 100644
--- a/content/influxdb/cloud/reference/flux/stdlib/sql/from.md
+++ b/content/influxdb/cloud/reference/flux/stdlib/sql/from.md
@@ -185,11 +185,11 @@ sql.from(
To query an Amazon Athena database, use the following query parameters in your Athena
S3 connection string (DSN):
-\* Required
+{{< req type="key" >}}
-- **region** - AWS region \*
-- **accessID** - AWS IAM access ID \*
-- **secretAccessKey** - AWS IAM secret key \*
+- {{< req "\*" >}} **region** - AWS region
+- {{< req "\*" >}} **accessID** - AWS IAM access ID
+- {{< req "\*" >}} **secretAccessKey** - AWS IAM secret key
- **db** - database name
- **WGRemoteCreation** - controls workgroup and tag creation
- **missingAsDefault** - replace missing data with default values
diff --git a/content/influxdb/v2.0/query-data/influxql.md b/content/influxdb/v2.0/query-data/influxql.md
index 976f27fdd..463569a15 100644
--- a/content/influxdb/v2.0/query-data/influxql.md
+++ b/content/influxdb/v2.0/query-data/influxql.md
@@ -76,8 +76,9 @@ Include the following:
- **Request method:** `GET`
- **Headers:**
- **Authorization:** `Token` schema with your InfluxDB [authentication token](/influxdb/v2.0/security/tokens/)
-- **Query parameters:**
- - (Required) **orgID:** [organization ID](/influxdb/v2.0/organizations/view-orgs/#view-your-organization-id)
+- **Query parameters:**
+ {{< req type="key" >}}
+ - {{< req "\*" >}} **orgID:** [organization ID](/influxdb/v2.0/organizations/view-orgs/#view-your-organization-id)
- **bucketID:** [bucket ID](/influxdb/v2.0/organizations/buckets/view-buckets/) _(to list DBRP mappings for a specific bucket)_
- **database:** database name _(to list DBRP mappings with a specific database name)_
- **rp:** retention policy name _(to list DBRP mappings with a specific retention policy name)_
@@ -124,9 +125,11 @@ Use the [`influx v1 dbrp create` command](/influxdb/v2.0/reference/cli/influx/v1
to map an unmapped bucket to a database and retention policy.
Include the following:
-- (Required) **database name** to map
-- (Required) **retention policy** name to map
-- (Required) [Bucket ID](/influxdb/v2.0/organizations/buckets/view-buckets/#view-buckets-in-the-influxdb-ui) to map to
+{{< req type="key" >}}
+
+- {{< req "\*" >}} **database name** to map
+- {{< req "\*" >}} **retention policy** name to map
+- {{< req "\*" >}} [Bucket ID](/influxdb/v2.0/organizations/buckets/view-buckets/#view-buckets-in-the-influxdb-ui) to map to
- **Default flag** to set the provided retention policy as the default retention policy for the database
```sh
@@ -147,12 +150,13 @@ Include the following:
- **Headers:**
- **Authorization:** `Token` schema with your InfluxDB [authentication token](/influxdb/v2.0/security/tokens/)
- **Content-type:** `application/json`
-- **Request body:** JSON object with the following fields:
- - (Required) **bucketID:** [bucket ID](/influxdb/v2.0/organizations/buckets/view-buckets/)
- - (Required) **database:** database name
+- **Request body:** JSON object with the following fields:
+ {{< req type="key" >}}
+ - {{< req "\*" >}} **bucketID:** [bucket ID](/influxdb/v2.0/organizations/buckets/view-buckets/)
+ - {{< req "\*" >}} **database:** database name
- **default:** set the provided retention policy as the default retention policy for the database
- - (Required) **org** or **orgID:** organization name or [organization ID](/influxdb/v2.0/organizations/view-orgs/#view-your-organization-id)
- - (Required) **retention_policy:** retention policy name
+ - {{< req "\*" >}} **org** or **orgID:** organization name or [organization ID](/influxdb/v2.0/organizations/view-orgs/#view-your-organization-id)
+ - {{< req "\*" >}} **retention_policy:** retention policy name
```sh
diff --git a/content/influxdb/v2.0/reference/api/influxdb-1x/query.md b/content/influxdb/v2.0/reference/api/influxdb-1x/query.md
index f307a3d07..e41cec4ad 100644
--- a/content/influxdb/v2.0/reference/api/influxdb-1x/query.md
+++ b/content/influxdb/v2.0/reference/api/influxdb-1x/query.md
@@ -45,7 +45,7 @@ _For more information, see [Authentication](/influxdb/v2.0/reference/api/influxd
{{% /note %}}
### db
-Required – The **database** to query data from.
+({{< req >}}) The **database** to query data from.
This is mapped to an InfluxDB [bucket](/influxdb/v2.0/reference/glossary/#bucket).
_See [Database and retention policy mapping](/influxdb/v2.0/reference/api/influxdb-1x/dbrp/)._
@@ -55,7 +55,7 @@ This is mapped to an InfluxDB [bucket](/influxdb/v2.0/reference/glossary/#bucket
_See [Database and retention policy mapping](/influxdb/v2.0/reference/api/influxdb-1x/dbrp/)._
### q
-Required – The **InfluxQL** query to execute.
+({{< req >}}) The **InfluxQL** query to execute.
To execute multiple queries, delimit queries with a semicolon (`;`).
### epoch
diff --git a/content/influxdb/v2.0/reference/api/influxdb-1x/write.md b/content/influxdb/v2.0/reference/api/influxdb-1x/write.md
index 0121c8f76..c4dd1fe90 100644
--- a/content/influxdb/v2.0/reference/api/influxdb-1x/write.md
+++ b/content/influxdb/v2.0/reference/api/influxdb-1x/write.md
@@ -40,7 +40,7 @@ encode the line protocol.
## Query string parameters
### db
-Required – The **database** to write data to.
+({{< req >}}) The **database** to write data to.
This is mapped to an InfluxDB [bucket](/influxdb/v2.0/reference/glossary/#bucket).
_See [Database and retention policy mapping](/influxdb/v2.0/reference/api/influxdb-1x/dbrp/)._
diff --git a/content/influxdb/v2.0/reference/cli/influx/v1/dbrp/update.md b/content/influxdb/v2.0/reference/cli/influx/v1/dbrp/update.md
index daeb1b6c0..5ae442951 100644
--- a/content/influxdb/v2.0/reference/cli/influx/v1/dbrp/update.md
+++ b/content/influxdb/v2.0/reference/cli/influx/v1/dbrp/update.md
@@ -26,7 +26,7 @@ influx v1 dbrp update [flags]
| `-h` | `--help` | Help for the `update` command | | |
| | `--hide-headers` | Hide the table headers (default: `false`) | | `$INFLUX_HIDE_HEADERS` |
| | `--host` | HTTP address of InfluxDB | string | `$INFLUX_HOST` |
-| | `--id` | DBRP ID Required | string | |
+| | `--id` | ({{< req >}}) DBRP ID | string | |
| | `--json` | Output data as JSON (default: `false`) | | `$INFLUX_OUTPUT_JSON` |
| `-o` | `--org` | Organization name | string | `$INFLUX_ORG` |
| | `--org-id` | Organization ID | string | `$INFLUX_ORG_ID` |
diff --git a/content/influxdb/v2.0/reference/flux/stdlib/built-in/transformations/covariance.md b/content/influxdb/v2.0/reference/flux/stdlib/built-in/transformations/covariance.md
index 13e49bda0..f37a46d23 100644
--- a/content/influxdb/v2.0/reference/flux/stdlib/built-in/transformations/covariance.md
+++ b/content/influxdb/v2.0/reference/flux/stdlib/built-in/transformations/covariance.md
@@ -24,7 +24,7 @@ covariance(columns: ["column_x", "column_y"], pearsonr: false, valueDst: "_value
## Parameters
### columns
-A list of **two columns** on which to operate. Required
+({{< req >}}) A list of **two columns** on which to operate.
_**Data type:** Array of strings_
diff --git a/content/influxdb/v2.0/reference/flux/stdlib/built-in/transformations/join.md b/content/influxdb/v2.0/reference/flux/stdlib/built-in/transformations/join.md
index 3b4aae4c7..8e5407b5c 100644
--- a/content/influxdb/v2.0/reference/flux/stdlib/built-in/transformations/join.md
+++ b/content/influxdb/v2.0/reference/flux/stdlib/built-in/transformations/join.md
@@ -50,7 +50,7 @@ The resulting group keys for all tables will be: `[_time, _field_d1, _field_d2]`
## Parameters
### tables
-The map of streams to be joined. Required
+({{< req >}}) The map of streams to be joined.
_**Data type:** Record_
@@ -59,7 +59,7 @@ _**Data type:** Record_
{{% /note %}}
### on
-The list of columns on which to join. Required
+({{< req >}}) The list of columns on which to join.
_**Data type:** Array of strings_
diff --git a/content/influxdb/v2.0/reference/flux/stdlib/contrib/influxdb/select.md b/content/influxdb/v2.0/reference/flux/stdlib/contrib/influxdb/select.md
index 0ff36bf3d..107ebfe59 100644
--- a/content/influxdb/v2.0/reference/flux/stdlib/contrib/influxdb/select.md
+++ b/content/influxdb/v2.0/reference/flux/stdlib/contrib/influxdb/select.md
@@ -48,12 +48,12 @@ querying data from a **different organization** or a **remote InfluxDB instance*
{{% /note %}}
### from
-Required Name of the bucket to query.
+({{< req >}}) Name of the bucket to query.
_**Data type:** String_
### start
-Required Earliest time to include in results.
+({{< req >}}) Earliest time to include in results.
Results **include** points that match the specified start time.
Use a relative duration, absolute time, or integer (Unix timestamp in seconds).
For example, `-1h`, `2019-08-28T22:00:00Z`, or `1567029600`.
@@ -73,7 +73,7 @@ Defaults to `now()`.
_**Data type:** Duration | Time | Integer_
### m
-Required Name of the measurement to query.
+({{< req >}}) Name of the measurement to query.
_**Data type:** String_
diff --git a/content/influxdb/v2.0/reference/flux/stdlib/contrib/opsgenie/endpoint.md b/content/influxdb/v2.0/reference/flux/stdlib/contrib/opsgenie/endpoint.md
index 93f1ad852..45b884542 100644
--- a/content/influxdb/v2.0/reference/flux/stdlib/contrib/opsgenie/endpoint.md
+++ b/content/influxdb/v2.0/reference/flux/stdlib/contrib/opsgenie/endpoint.md
@@ -32,7 +32,7 @@ Defaults to `https://api.opsgenie.com/v2/alerts`.
_**Data type:** String_
### apiKey
-Required
+({{< req >}})
Opsgenie API authorization key.
_**Data type:** String_
diff --git a/content/influxdb/v2.0/reference/flux/stdlib/contrib/opsgenie/sendalert.md b/content/influxdb/v2.0/reference/flux/stdlib/contrib/opsgenie/sendalert.md
index 2c0a218b5..65e28eea1 100644
--- a/content/influxdb/v2.0/reference/flux/stdlib/contrib/opsgenie/sendalert.md
+++ b/content/influxdb/v2.0/reference/flux/stdlib/contrib/opsgenie/sendalert.md
@@ -41,13 +41,13 @@ Defaults to `https://api.opsgenie.com/v2/alerts`.
_**Data type:** String_
### apiKey
-Required
+({{< req >}})
Opsgenie API authorization key.
_**Data type:** String_
### message
-Required
+({{< req >}})
Alert message text.
130 characters or less.
diff --git a/content/influxdb/v2.0/reference/flux/stdlib/contrib/sensu/endpoint.md b/content/influxdb/v2.0/reference/flux/stdlib/contrib/sensu/endpoint.md
index f5bde9eb1..c9f57221d 100644
--- a/content/influxdb/v2.0/reference/flux/stdlib/contrib/sensu/endpoint.md
+++ b/content/influxdb/v2.0/reference/flux/stdlib/contrib/sensu/endpoint.md
@@ -36,14 +36,14 @@ sensu.endpoint(
## Parameters
### url
-Required
+({{< req >}})
Base URL of [Sensu API](https://docs.sensu.io/sensu-go/latest/migrate/#architecture)
**without a trailing slash**. Example: `http://localhost:8080`.
_**Data type:** String_
### apiKey
-Required
+({{< req >}})
Sensu [API Key](https://docs.sensu.io/sensu-go/latest/operations/control-access/).
_**Data type:** String_
diff --git a/content/influxdb/v2.0/reference/flux/stdlib/contrib/sensu/event.md b/content/influxdb/v2.0/reference/flux/stdlib/contrib/sensu/event.md
index f78f9db89..1bfa7569a 100644
--- a/content/influxdb/v2.0/reference/flux/stdlib/contrib/sensu/event.md
+++ b/content/influxdb/v2.0/reference/flux/stdlib/contrib/sensu/event.md
@@ -38,20 +38,20 @@ sensu.event(
## Parameters
### url
-Required
+({{< req >}})
Base URL of [Sensu API](https://docs.sensu.io/sensu-go/latest/migrate/#architecture)
**without a trailing slash**. Example: `http://localhost:8080`.
_**Data type:** String_
### apiKey
-Required
+({{< req >}})
Sensu [API Key](https://docs.sensu.io/sensu-go/latest/operations/control-access/).
_**Data type:** String_
### checkName
-Required
+({{< req >}})
Check name.
Use alphanumeric characters, underscores (`_`), periods (`.`), and hyphens (`-`).
All other characters are replaced with an underscore.
@@ -59,7 +59,7 @@ All other characters are replaced with an underscore.
_**Data type:** String_
### text
-Required
+({{< req >}})
Event text.
Mapped to `output` in the Sensu Events API request.
diff --git a/content/influxdb/v2.0/reference/flux/stdlib/contrib/telegram/endpoint.md b/content/influxdb/v2.0/reference/flux/stdlib/contrib/telegram/endpoint.md
index 2929ac98a..8c804cd44 100644
--- a/content/influxdb/v2.0/reference/flux/stdlib/contrib/telegram/endpoint.md
+++ b/content/influxdb/v2.0/reference/flux/stdlib/contrib/telegram/endpoint.md
@@ -40,7 +40,7 @@ Default is `https://api.telegram.org/bot`.
_**Data type:** String_
### token
-Required
+({{< req >}})
Telegram bot token.
_**Data type:** String_
diff --git a/content/influxdb/v2.0/reference/flux/stdlib/contrib/telegram/message.md b/content/influxdb/v2.0/reference/flux/stdlib/contrib/telegram/message.md
index 95ab9b49f..f13791141 100644
--- a/content/influxdb/v2.0/reference/flux/stdlib/contrib/telegram/message.md
+++ b/content/influxdb/v2.0/reference/flux/stdlib/contrib/telegram/message.md
@@ -43,13 +43,13 @@ Default is `https://api.telegram.org/bot`.
_**Data type:** String_
### token
-Required
+({{< req >}})
Telegram bot token.
_**Data type:** String_
### channel
-Required
+({{< req >}})
Telegram channel ID.
_**Data type:** String_
diff --git a/content/influxdb/v2.0/reference/flux/stdlib/pushbullet/pushdata.md b/content/influxdb/v2.0/reference/flux/stdlib/pushbullet/pushdata.md
index 56c5e2a1f..1d7d5ccda 100644
--- a/content/influxdb/v2.0/reference/flux/stdlib/pushbullet/pushdata.md
+++ b/content/influxdb/v2.0/reference/flux/stdlib/pushbullet/pushdata.md
@@ -45,7 +45,7 @@ Defaults to `""`.
_**Data type:** String_
### data
-Required
+({{< req >}})
Data to send to the Pushbullet API.
The function JSON-encodes data before sending it to Pushbullet.
diff --git a/content/influxdb/v2.0/reference/flux/stdlib/pushbullet/pushnote.md b/content/influxdb/v2.0/reference/flux/stdlib/pushbullet/pushnote.md
index 16d2efbc9..d1960ff4b 100644
--- a/content/influxdb/v2.0/reference/flux/stdlib/pushbullet/pushnote.md
+++ b/content/influxdb/v2.0/reference/flux/stdlib/pushbullet/pushnote.md
@@ -42,13 +42,13 @@ Defaults to `""`.
_**Data type:** String_
### title
-Required
+({{< req >}})
Title of the notification.
_**Data type:** String_
### text
-Required
+({{< req >}})
Text to display in the notification.
_**Data type:** String_
diff --git a/content/influxdb/v2.0/reference/flux/stdlib/slack/message.md b/content/influxdb/v2.0/reference/flux/stdlib/slack/message.md
index d7307ff74..e529b176f 100644
--- a/content/influxdb/v2.0/reference/flux/stdlib/slack/message.md
+++ b/content/influxdb/v2.0/reference/flux/stdlib/slack/message.md
@@ -55,18 +55,17 @@ A token is only required if using the Slack chat.postMessage API.
_**Data type:** String_
### channel
-The name of channel to post the message to. Required
+({{< req >}}) The name of channel to post the message to.
_**Data type:** String_
### text
-The text to display in the Slack message. Required
+({{< req >}}) The text to display in the Slack message.
_**Data type:** String_
### color
-The color to include with the message.
-Required
+({{< req >}}) The color to include with the message.
**Valid values include:**
diff --git a/content/influxdb/v2.0/reference/flux/stdlib/sql/from.md b/content/influxdb/v2.0/reference/flux/stdlib/sql/from.md
index 5babdafc1..93674325c 100644
--- a/content/influxdb/v2.0/reference/flux/stdlib/sql/from.md
+++ b/content/influxdb/v2.0/reference/flux/stdlib/sql/from.md
@@ -185,11 +185,11 @@ sql.from(
To query an Amazon Athena database, use the following query parameters in your Athena
S3 connection string (DSN):
-\* Required
+{{< req type="key" >}}
-- **region** - AWS region \*
-- **accessID** - AWS IAM access ID \*
-- **secretAccessKey** - AWS IAM secret key \*
+- {{< req "\*" >}} **region** - AWS region
+- {{< req "\*" >}} **accessID** - AWS IAM access ID
+- {{< req "\*" >}} **secretAccessKey** - AWS IAM secret key
- **db** - database name
- **WGRemoteCreation** - controls workgroup and tag creation
- **missingAsDefault** - replace missing data with default values
diff --git a/content/influxdb/v2.0/reference/syntax/line-protocol.md b/content/influxdb/v2.0/reference/syntax/line-protocol.md
index f3c50e28d..9c8a46a99 100644
--- a/content/influxdb/v2.0/reference/syntax/line-protocol.md
+++ b/content/influxdb/v2.0/reference/syntax/line-protocol.md
@@ -50,7 +50,7 @@ measurementName,tagKey=tagValue fieldKey="fieldValue" 1465839830100400200
```
### Measurement
-Required –
+({{< req >}})
The measurement name.
InfluxDB accepts one measurement per point.
_Measurement names are case-sensitive and subject to [naming restrictions](#naming-restrictions)._
@@ -70,7 +70,7 @@ _**Key data type:** [String](#string)_
_**Value data type:** [String](#string)_
### Field set
-Required –
+({{< req >}})
All field key-value pairs for the point.
Points must have at least one field.
_Field keys and string values are case-sensitive.
diff --git a/layouts/shortcodes/req.html b/layouts/shortcodes/req.html
new file mode 100644
index 000000000..a6929cfbb
--- /dev/null
+++ b/layouts/shortcodes/req.html
@@ -0,0 +1,4 @@
+{{- $text := .Get 0 | default "Required" -}}
+{{- $type := .Get "type" | default "text" -}}
+{{- $class := cond (le (len $text) 2) "asterisk" "" -}}
+{{- if ne $type "key" -}}{{ $text | markdownify }}{{ else }}* Required{{ end }}
\ No newline at end of file