---
title: "Flow Tag APIs"
slug: "flow-tag-apis"
description: "Learn how to use the Flow Tag APIs for managing flow tags securely with Kentik data, including creation, updates, and evaluations."
updated: 2026-02-20T15:37:51Z
published: 2026-02-20T15:37:51Z
---

> ## Documentation Index
> Fetch the complete documentation index at: https://kb.kentik.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Flow Tag APIs

> [!NOTE]
> **Note:** This alpha API is neither supported nor recommended for production use. For additional information, please contact [**Product Support**](/v1/docs/customer-care).

This article covers how to get started with the Flow Tag APIs.

> [!NOTE]
> **Notes:**
> 
> - The [**API Tester**](https://portal.kentik.com/v4/core/api-tester) in the v4 Portal enables you to securely call the methods of these APIs using your organization's Kentik data.
> - For information about flow tags, start with [**Flow Tags**](/v1/docs/flow-tags).
> - Protobuf and OpenAPI specifications for Kentik’s v6 APIs are available in our [**api-schema-public**](https://github.com/kentik/api-schema-public) repository.

## Flow Tag Usage

The topics below provide important background information for the use of these APIs.

### Overview

The Flow Tag API enables programmatic creation and management of flow tags.

- In addition to tag name, at least one other field must be specified to create a tag.
- All specified tag fields are ANDed for evaluation.
- Except for Tag Name, any field may contain multiple comma-separated values, which will be ORed for evaluation.
- A tag will be applied to a flow only when all of the fields specified for that tag are matched. Source and Destination flows are each evaluated independently for matches.
- Source and Destination flows are each evaluated independently for matches.
- A match results in the addition of the tag name to a delimited list of tags in the src_flow_tags and/or dst_flow_tags column of each specified devices KDE main table.
- Tags in a [**KDE table**](/v1/docs/kde-overview) can be searched as part of a query. Tag searches are substring-based. Query results vary depending on how tags are named.
- Additional information on the values of individual fields may be found in [**Tag Field Definitions**](/v1/docs/flow-tags#tag-field-definitions) in the Kentik Knowledge Base.

## Flow Tag RPCs

The tables below provide a quick reference to key information about each Remote Procedure Call in these APIs. Use the links in the tables to see schemas for the request and/or response body (if any).

> [!NOTE]
> **Note:** To test methods using your own Kentik data, use the portal's [**API Tester**](https://portal.kentik.com/v4/core/api-tester).

### SearchFlowTag

**API: FlowTagService**

| REST Method | REST Endpoint | Description |
| --- | --- | --- |
| GET | /flow_tag/v202404alpha1 /tag | Returns configuration of flow tag with search parameters. |
| \| **Request body**: None \| **Response body**: [v202404alpha1SearchFlowTagResponse](/v1/docs/flow-tag-apis#searchflowtagresponse) \| \| --- \| --- \| **Parameters**: \| Name \| Description \| Required \| Type \| \| --- \| --- \| --- \| --- \| \| search.limit \| Limit the number of rows to fetch. \| false \| integer \| \| search.offset \| The number rows to skip before returning. \| false \| integer \| \| search.lookupFields \| List of lookup fields. - LOOKUP_FIELD_UNSPECIFIED: Invalid value - LOOKUP_FIELD_VALUE: Lookup by name of tag \| false \| array \| \| search.lookupValues \| List of lookup values. \| false \| array \| \| search.fieldLimit \| Limit the number of record to return for nested fields. \| false \| integer \| |
| **Request body**: None | **Response body**: [v202404alpha1SearchFlowTagResponse](/v1/docs/flow-tag-apis#searchflowtagresponse) |
| Name | Description | Required | Type |
| search.limit | Limit the number of rows to fetch. | false | integer |
| search.offset | The number rows to skip before returning. | false | integer |
| search.lookupFields | List of lookup fields. - LOOKUP_FIELD_UNSPECIFIED: Invalid value - LOOKUP_FIELD_VALUE: Lookup by name of tag | false | array |
| search.lookupValues | List of lookup values. | false | array |
| search.fieldLimit | Limit the number of record to return for nested fields. | false | integer |

### CreateFlowTag

**API: FlowTagService**

| REST Method | REST Endpoint | Description |
| --- | --- | --- |
| POST | /flow_tag/v202404alpha1 /tag | Create a flow tag configuration. |
| \| **Request body**: [v202404alpha1CreateFlowTagRequest](/v1/docs/flow-tag-apis#createflowtagrequest) \| **Response body**: [v202404alpha1CreateFlowTagResponse](/v1/docs/flow-tag-apis#createflowtagresponse) \| \| --- \| --- \| \| **Parameters**: None \| |
| **Request body**: [v202404alpha1CreateFlowTagRequest](/v1/docs/flow-tag-apis#createflowtagrequest) | **Response body**: [v202404alpha1CreateFlowTagResponse](/v1/docs/flow-tag-apis#createflowtagresponse) |
| **Parameters**: None |

### UpdateFlowTag

**API: FlowTagService**

| REST Method | REST Endpoint | Description |
| --- | --- | --- |
| PUT | /flow_tag/v202404alpha1 /tag/{flowTag.id} | Update a flow tag configuration. |
| \| **Request body**: [v202404alpha1UpdateFlowTagRequest](/v1/docs/flow-tag-apis#updateflowtagrequest) \| **Response body**: [v202404alpha1UpdateFlowTagResponse](/v1/docs/flow-tag-apis#updateflowtagresponse) \| \| --- \| --- \| **Parameters**: \| Name \| Description \| Required \| Type \| \| --- \| --- \| --- \| --- \| \| flowTag.id \| Unique system assigned identifier of the flow tag \| true \| string \| |
| **Request body**: [v202404alpha1UpdateFlowTagRequest](/v1/docs/flow-tag-apis#updateflowtagrequest) | **Response body**: [v202404alpha1UpdateFlowTagResponse](/v1/docs/flow-tag-apis#updateflowtagresponse) |
| Name | Description | Required | Type |
| flowTag.id | Unique system assigned identifier of the flow tag | true | string |

### GetFlowTag

**API: FlowTagService**

| REST Method | REST Endpoint | Description |
| --- | --- | --- |
| GET | /flow_tag/v202404alpha1 /tag/{flowTag.id} | Returns configuration of flow tag with specified ID. |
| \| **Request body**: None \| **Response body**: [v202404alpha1GetFlowTagResponse](/v1/docs/flow-tag-apis#getflowtagresponse) \| \| --- \| --- \| **Parameters**: \| Name \| Description \| Required \| Type \| \| --- \| --- \| --- \| --- \| \| flowTag.id \| Undefined. \| true \| string \| |
| **Request body**: None | **Response body**: [v202404alpha1GetFlowTagResponse](/v1/docs/flow-tag-apis#getflowtagresponse) |
| Name | Description | Required | Type |
| flowTag.id | Undefined. | true | string |

### DeleteFlowTag

**API: FlowTagService**

| REST Method | REST Endpoint | Description |
| --- | --- | --- |
| DELETE | /flow_tag/v202404alpha1 /tag/{flowTag.id} | Delete a flow tag configuration with id. |
| \| **Request body**: None \| **Response body**: [v202404alpha1DeleteFlowTagResponse](/v1/docs/flow-tag-apis#deleteflowtagresponse) \| \| --- \| --- \| **Parameters**: \| Name \| Description \| Required \| Type \| \| --- \| --- \| --- \| --- \| \| flowTag.id \| Undefined. \| true \| string \| |
| **Request body**: None | **Response body**: [v202404alpha1DeleteFlowTagResponse](/v1/docs/flow-tag-apis#deleteflowtagresponse) |
| Name | Description | Required | Type |
| flowTag.id | Undefined. | true | string |

## Flow Tag Schemas

This API uses the following schemas.

#### protobufAny

| **Schema:** protobufAny | **Type:** object |
| --- | --- |
| **Properties**: \| Name \| Value \| \| --- \| --- \| \| typeUrl \| type: string \| \| value \| type: string format: byte \| |
| Name | Value |
| typeUrl | type: string |
| value | type: string format: byte |

#### rpcStatus

| **Schema:** rpcStatus | **Type:** object |
| --- | --- |
| **Properties**: \| Name \| Value \| \| --- \| --- \| \| code \| type: integer format: int32 \| \| message \| type: string \| \| details \| type: array items: $ref: [protobufAny](/v1/docs/flow-tag-apis#protobufany) \| |
| Name | Value |
| code | type: integer format: int32 |
| message | type: string |
| details | type: array items: $ref: [protobufAny](/v1/docs/flow-tag-apis#protobufany) |

#### AddressInfo

| **Schema:** v202404alpha1AddressInfo | **Type:** object |
| --- | --- |
| **Properties:** \| Name \| Value \| \| --- \| --- \| \| addresses \| type: array items: type: string title: List of returning mac or ip address \| \| totalCount \| type: integer format: int32 title: Total number of addresses available \| |
| Name | Value |
| addresses | type: array items: type: string title: List of returning mac or ip address |
| totalCount | type: integer format: int32 title: Total number of addresses available |

#### CreateFlowTagRequest

| **Schema:** v202404alpha1CreateFlowTagRequest | **Type:** object |
| --- | --- |
| **Properties**: \| Name \| Value \| \| --- \| --- \| \| flowTag \| $ref: [v202404alpha1FlowTag](/v1/docs/flow-tag-apis#flowtag) \| |
| Name | Value |
| flowTag | $ref: [v202404alpha1FlowTag](/v1/docs/flow-tag-apis#flowtag) |

#### CreateFlowTagResponse

| **Schema:** v202404alpha1CreateFlowTagResponse | **Type:** object |
| --- | --- |
| **Properties**: \| Name \| Value \| \| --- \| --- \| \| flowTag \| $ref: [v202404alpha1FlowTag](/v1/docs/flow-tag-apis#flowtag) \| |
| Name | Value |
| flowTag | $ref: [v202404alpha1FlowTag](/v1/docs/flow-tag-apis#flowtag) |

#### DeleteFlowTagResponse

| **Schema:** v202404alpha1DeleteFlowTagResponse | **Type:** object |
| --- | --- |
| **Properties**: None |

#### FlowTag

| **Schema:** v202404alpha1FlowTag | **Type:** object |
| --- | --- |
| **Properties**: \| Name \| Value \| \| --- \| --- \| \| id \| type: string description: Unique system assigned identifier of the flow tag readOnly: true \| \| name \| type: string description: This will appear in places where selecting a tag is necessary readOnly: true \| \| editedBy \| type: string description: User who last edited this tag readOnly: true \| \| createdBy \| type: string description: User who created this tag readOnly: true \| \| cdate \| type: string format: date-time description: Date and time when this tag was created readOnly: true \| \| edate \| type: string format: date-time description: Date and time when this tag was last updated readOnly: true \| \| ip \| $ref: [v202404alpha1AddressInfo](/v1/docs/flow-tag-apis#addressinfo) \| \| port \| type: array items: type: string description: Port number associated with the flow tag \| \| tcpFlags \| type: integer format: int64 description: TCP flags associated with the flow tag \| \| protocol \| type: array items: type: integer format: int64 description: Protocol numbers associated with the flow tag \| \| deviceName \| type: array items: type: string description: Name of the device associated with the flow tag \| \| deviceType \| type: array items: type: string description: Type of the device associated with the flow tag \| \| site \| type: array items: type: string description: Site where the device associated with the flow tag is located \| \| interfaceName \| type: array items: type: string description: Name of the interface associated with the flow tag \| \| asn \| type: array items: type: string description: Autonomous System Number (ASN) associated with the flow tag \| \| lasthopAsName \| type: array items: type: string description: Name of the last hop's Autonomous System (AS) associated with the flow tag \| \| nexthopAsn \| type: array items: type: string description: Autonomous System Number (ASN) of the next hop associated with the flow tag \| \| nexthopAsName \| type: array items: type: string description: Name of the next hop's Autonomous System (AS) associated with the flow tag \| \| nexthop \| type: array items: type: string description: Next hop associated with the flow tag \| \| bgpAspath \| type: array items: type: string description: BGP AS path associated with the flow tag \| \| bgpCommunity \| type: array items: type: string description: BGP community associated with the flow tag \| \| mac \| $ref: [v202404alpha1AddressInfo](/v1/docs/flow-tag-apis#addressinfo) \| \| country \| type: array items: type: string description: Country associated with the flow tag \| \| vlans \| type: array items: type: string description: VLANs associated with the flow tag \| |
| Name | Value |
| id | type: string description: Unique system assigned identifier of the flow tag readOnly: true |
| name | type: string description: This will appear in places where selecting a tag is necessary readOnly: true |
| editedBy | type: string description: User who last edited this tag readOnly: true |
| createdBy | type: string description: User who created this tag readOnly: true |
| cdate | type: string format: date-time description: Date and time when this tag was created readOnly: true |
| edate | type: string format: date-time description: Date and time when this tag was last updated readOnly: true |
| ip | $ref: [v202404alpha1AddressInfo](/v1/docs/flow-tag-apis#addressinfo) |
| port | type: array items: type: string description: Port number associated with the flow tag |
| tcpFlags | type: integer format: int64 description: TCP flags associated with the flow tag |
| protocol | type: array items: type: integer format: int64 description: Protocol numbers associated with the flow tag |
| deviceName | type: array items: type: string description: Name of the device associated with the flow tag |
| deviceType | type: array items: type: string description: Type of the device associated with the flow tag |
| site | type: array items: type: string description: Site where the device associated with the flow tag is located |
| interfaceName | type: array items: type: string description: Name of the interface associated with the flow tag |
| asn | type: array items: type: string description: Autonomous System Number (ASN) associated with the flow tag |
| lasthopAsName | type: array items: type: string description: Name of the last hop's Autonomous System (AS) associated with the flow tag |
| nexthopAsn | type: array items: type: string description: Autonomous System Number (ASN) of the next hop associated with the flow tag |
| nexthopAsName | type: array items: type: string description: Name of the next hop's Autonomous System (AS) associated with the flow tag |
| nexthop | type: array items: type: string description: Next hop associated with the flow tag |
| bgpAspath | type: array items: type: string description: BGP AS path associated with the flow tag |
| bgpCommunity | type: array items: type: string description: BGP community associated with the flow tag |
| mac | $ref: [v202404alpha1AddressInfo](/v1/docs/flow-tag-apis#addressinfo) |
| country | type: array items: type: string description: Country associated with the flow tag |
| vlans | type: array items: type: string description: VLANs associated with the flow tag |

#### FlowTagSearch

| **Schema:** v202404alpha1FlowTagSearch | **Type:** object |
| --- | --- |
| **Properties**: \| Name \| Value \| \| --- \| --- \| \| limit \| type: integer format: int32 title: Limit the number of rows to fetch \| \| offset \| type: integer format: int32 title: The number rows to skip before returning \| \| lookupFields \| type: array items: $ref: [v202404alpha1LookupField](/v1/docs/flow-tag-apis#lookupfield) title: List of lookup fields \| \| lookupValues \| type: array items: type: string title: List of lookup values \| \| orderBy \| type: array items: $ref: [v202404alpha1OrderField](/v1/docs/flow-tag-apis#orderfield) title: Sort order \| \| fieldLimit \| type: integer format: int32 title: Limit the number of record to return for nested fields \| |
| Name | Value |
| limit | type: integer format: int32 title: Limit the number of rows to fetch |
| offset | type: integer format: int32 title: The number rows to skip before returning |
| lookupFields | type: array items: $ref: [v202404alpha1LookupField](/v1/docs/flow-tag-apis#lookupfield) title: List of lookup fields |
| lookupValues | type: array items: type: string title: List of lookup values |
| orderBy | type: array items: $ref: [v202404alpha1OrderField](/v1/docs/flow-tag-apis#orderfield) title: Sort order |
| fieldLimit | type: integer format: int32 title: Limit the number of record to return for nested fields |

#### GetFlowTagResponse

| **Schema:** v202404alpha1GetFlowTagResponse | **Type:** object |
| --- | --- |
| **Properties**: \| Name \| Value \| \| --- \| --- \| \| flowTag \| $ref: [v202404alpha1FlowTag](/v1/docs/flow-tag-apis#flowtag) \| |
| Name | Value |
| flowTag | $ref: [v202404alpha1FlowTag](/v1/docs/flow-tag-apis#flowtag) |

#### LookupField

| **Schema:** v202404alpha1LookupField | **Type:** string |
| --- | --- |
| **Attributes**: \| Key \| Value \| \| --- \| --- \| \| enum \| LOOKUP_FIELD_UNSPECIFIED, LOOKUP_FIELD_VALUE \| \| default \| LOOKUP_FIELD_UNSPECIFIED \| \| description \| • LOOKUP_FIELD_UNSPECIFIED: Invalid value • LOOKUP_FIELD_VALUE: Lookup by name of tag \| |
| Key | Value |
| enum | LOOKUP_FIELD_UNSPECIFIED, LOOKUP_FIELD_VALUE |
| default | LOOKUP_FIELD_UNSPECIFIED |
| description | • LOOKUP_FIELD_UNSPECIFIED: Invalid value • LOOKUP_FIELD_VALUE: Lookup by name of tag |

#### OrderDirection

| **Schema:** v202404alpha1OrderDirection | **Type:** string |
| --- | --- |
| **Attributes**: \| Key \| Value \| \| --- \| --- \| \| enum \| ORDER_DIRECTION_UNSPECIFIED, ORDER_DIRECTION_ASC, ORDER_DIRECTION_DESC \| \| default \| ORDER_DIRECTION_UNSPECIFIED \| \| description \| • ORDER_DIRECTION_UNSPECIFIED: Invalid value • ORDER_DIRECTION_ASC: Ascending sort order • ORDER_DIRECTION_DESC: Descending sort order \| |
| Key | Value |
| enum | ORDER_DIRECTION_UNSPECIFIED, ORDER_DIRECTION_ASC, ORDER_DIRECTION_DESC |
| default | ORDER_DIRECTION_UNSPECIFIED |
| description | • ORDER_DIRECTION_UNSPECIFIED: Invalid value • ORDER_DIRECTION_ASC: Ascending sort order • ORDER_DIRECTION_DESC: Descending sort order |

#### OrderField

| **Schema:** v202404alpha1OrderField | **Type:** object |
| --- | --- |
| **Properties**: \| Name \| Value \| \| --- \| --- \| \| field \| $ref: [v202404alpha1LookupField](/v1/docs/flow-tag-apis#lookupfield) \| \| direction \| $ref: [v202404alpha1OrderDirection](/v1/docs/flow-tag-apis#orderdirection) \| |
| Name | Value |
| field | $ref: [v202404alpha1LookupField](/v1/docs/flow-tag-apis#lookupfield) |
| direction | $ref: [v202404alpha1OrderDirection](/v1/docs/flow-tag-apis#orderdirection) |

#### SearchFlowTagResponse

| **Schema:** v202404alpha1SearchFlowTagResponse | **Type:** object |
| --- | --- |
| **Properties**: \| Name \| Value \| \| --- \| --- \| \| flowTags \| type: array items: $ref: [v202404alpha1FlowTag](/v1/docs/flow-tag-apis#flowtag) \| \| totalCount \| type: integer format: int64 \| \| invalidCount \| type: integer format: int64 \| |
| Name | Value |
| flowTags | type: array items: $ref: [v202404alpha1FlowTag](/v1/docs/flow-tag-apis#flowtag) |
| totalCount | type: integer format: int64 |
| invalidCount | type: integer format: int64 |

#### UpdateFlowTagRequest

| **Schema:** v202404alpha1UpdateFlowTagRequest | **Type:** object |
| --- | --- |
| **Properties**: \| Name \| Value \| \| --- \| --- \| \| flowTag \| $ref: [v202404alpha1FlowTag](/v1/docs/flow-tag-apis#flowtag) \| |
| Name | Value |
| flowTag | $ref: [v202404alpha1FlowTag](/v1/docs/flow-tag-apis#flowtag) |

#### UpdateFlowTagResponse

| **Schema:** v202404alpha1UpdateFlowTagResponse | **Type:** object |
| --- | --- |
| **Properties**: \| Name \| Value \| \| --- \| --- \| \| flowTag \| $ref: [v202404alpha1FlowTag](/v1/docs/flow-tag-apis#flowtag) \| |
| Name | Value |
| flowTag | $ref: [v202404alpha1FlowTag](/v1/docs/flow-tag-apis#flowtag) |
