Kentik has joined Infoblox! Read the blog post

Custom Dimensions APIs

Prev Next

This article provides programmatic specifications for creating, retrieving, updating, and deleting custom dimensions and their populators in your Kentik environment.

A custom dimension is a user-defined field. Its populators are the rules that determine which flow records are assigned each value of that field.

  • API Version: /custom_dimensions/v202411alpha1

  • Protocol: HTTPS

  • Format: JSON

Notes:

  • This API is in alpha (v202411alpha1).

  • See Kentik APIs for base URLs, authentication specifications, and rate limits.

  • The Create a Custom Dimension endpoint uses the unversioned path /v1/customdimension. All other endpoints use the versioned /custom_dimensions/v202411alpha1 path.

For background on the purpose and usage of custom dimensions and populators, see Custom Dimensions.

Custom Dimension Endpoints

List Custom Dimensions

Returns an array of custom dimension objects, each containing information about an individual custom dimension and its populators. For details on the returned payload structure, see List Response.

HTTP Request:

GET /custom_dimensions/v202411alpha1

Tip: The response includes every custom dimension together with all of its populators, so it can be large. To retrieve a single dimension, use Get a Custom Dimension.

cURL Example

The following is an example request to the List Custom Dimensions endpoint.

curl -X GET "https://grpc.api.kentik.com/custom_dimensions/v202411alpha1" \
  -H "X-CH-Auth-Email: your-email@company.com" \
  -H "X-CH-Auth-API-Token: your-api-token"

Example response:

{
  "dimensions": [
    {
      "id": "142188",
      "name": "c_region",
      "type": "string",
      "description": "Customer Region",
      "populators": [
        {
          "id": "9635828926",
          "value": "us-east",
          "direction": "EITHER",
          "deviceName": [],
          "deviceType": [],
          "site": [],
          "interfaceName": [],
          "addr": [
            "10.1.0.0/16",
            "10.2.0.0/16",
            "10.3.0.0/16"
          ],
          "port": [
            443
          ],
          "tcpFlags": 0,
          "protocol": [
            6
          ],
          "asn": [],
          "lasthopAsName": [],
          "nexthopAsn": [],
          "nexthopAsName": [],
          "nexthop": [],
          "bgpAspath": [],
          "bgpCommunity": [],
          "mac": [],
          "country": [],
          "vlans": [],
          "user": "67890",
          "createdDate": "2026-10-05T23:21:38.464Z",
          "updatedDate": "2026-10-05T23:21:38.464Z",
          "addrCount": 3,
          "macCount": 0,
          "extendedFields": {}
        }
      ],
      "companyId": "12345",
      "createdDate": "2026-10-05T23:21:35.046Z",
      "updatedDate": "2026-10-05T23:21:35.046Z"
    }
  ]
}

Note: The example above is abbreviated. The actual response contains every custom dimension in your account.

Get a Custom Dimension

Returns a custom dimension object containing information about an individual custom dimension, including its populators. See Get Response for payload structure details.

HTTP Request:

GET /custom_dimensions/v202411alpha1/{customDimensionId}

Path Parameters

Parameter

Placement

Type

Required

Description

customDimensionId

path

string

Yes

Unique identifier of the custom dimension.

cURL Example

The following is a sample request to the Get a Custom Dimension endpoint.

curl -X GET "https://grpc.api.kentik.com/custom_dimensions/v202411alpha1/142188" \
  -H "X-CH-Auth-Email: your-email@company.com" \
  -H "X-CH-Auth-API-Token: your-api-token"

Example response:

{
  "dimension": {
    "id": "142188",
    "name": "c_region",
    "type": "string",
    "description": "Customer Region",
    "populators": [
      {
        "id": "9635828926",
        "value": "us-east",
        "direction": "EITHER",
        "deviceName": [],
        "deviceType": [],
        "site": [],
        "interfaceName": [],
        "addr": [
          "10.1.0.0/16",
          "10.2.0.0/16",
          "10.3.0.0/16"
        ],
        "port": [
          443
        ],
        "tcpFlags": 0,
        "protocol": [
          6
        ],
        "asn": [],
        "lasthopAsName": [],
        "nexthopAsn": [],
        "nexthopAsName": [],
        "nexthop": [],
        "bgpAspath": [],
        "bgpCommunity": [],
        "mac": [],
        "country": [],
        "vlans": [],
        "user": "67890",
        "createdDate": "2026-10-05T23:21:38.464Z",
        "updatedDate": "2026-10-05T23:21:38.464Z",
        "addrCount": 3,
        "macCount": 0,
        "extendedFields": {}
      }
    ],
    "companyId": "12345",
    "createdDate": "2026-10-05T23:21:35.046Z",
    "updatedDate": "2026-10-05T23:21:35.046Z"
  }
}

Create a Custom Dimension

Creates a custom dimension and returns a custom dimension object containing information about it. The request body is a Custom Dimension object. See Create Response for payload structure details.

HTTP Request:

POST /v1/customdimension

Request Body Fields

Field

Type

Required

Description

name

string

Yes

The name of the custom dimension. Must start with c_. Valid characters: alphanumeric and underscores. Length: 3 to 20.

type

string

Yes

Type of the custom dimension. Valid values: string or uint32.

description

string

Yes

The display name of the custom dimension. Valid characters: alphanumeric, spaces, dashes, and underscores. Length: 2 to 30.

Notes:

  • This endpoint uses the unversioned path /v1/customdimension. Sending a POST to /custom_dimensions/v202411alpha1 returns HTTP 415.

  • populators and the other read-only fields of the Custom Dimension object are not accepted in the request. Add populators with the Create a Populator endpoint after creating the dimension.

cURL Example

The following is a sample request to the Create a Custom Dimension endpoint.

curl -X POST "https://grpc.api.kentik.com/v1/customdimension" \
  -H "X-CH-Auth-Email: your-email@company.com" \
  -H "X-CH-Auth-API-Token: your-api-token" \
  -H "Content-Type: application/json" \
  -d '{"name": "c_region", "type": "string", "description": "Customer Region"}'

Example response:

{
  "dimension": {
    "id": "142188",
    "name": "c_region",
    "type": "string",
    "description": "Customer Region",
    "populators": [],
    "companyId": "12345",
    "createdDate": "2026-10-05T23:21:35.046Z",
    "updatedDate": "2026-10-05T23:21:35.046Z"
  }
}

Update a Custom Dimension

Updates a custom dimension and returns the updated custom dimension object. The request body is a Custom Dimension object with the fields described in Create a Custom Dimension. See Update Response for payload structure details.

HTTP Request:

PUT /custom_dimensions/v202411alpha1/{customDimensionId}

Path Parameters

Parameter

Placement

Type

Required

Description

customDimensionId

path

string

Yes

Unique identifier of the custom dimension.

Notes:

  • name, type, and description are all required. The API rejects a request that omits description with HTTP 400.

  • The response body doesn’t include populators. To retrieve them, use the Get a Custom Dimension endpoint.

cURL Example

The following is a sample request to the Update a Custom Dimension endpoint.

curl -X PUT "https://grpc.api.kentik.com/custom_dimensions/v202411alpha1/142188" \
  -H "X-CH-Auth-Email: your-email@company.com" \
  -H "X-CH-Auth-API-Token: your-api-token" \
  -H "Content-Type: application/json" \
  -d '{"name": "c_region", "type": "string", "description": "Customer Region (updated)"}'

Example response:

{
  "dimension": {
    "id": "142188",
    "name": "c_region",
    "type": "string",
    "description": "Customer Region (updated)",
    "populators": [],
    "companyId": "12345",
    "createdDate": "2026-10-05T23:21:35.046Z",
    "updatedDate": "2026-10-05T23:21:37.795Z"
  }
}

Delete a Custom Dimension

Deletes a custom dimension. On success, the endpoint returns an empty JSON object (see Delete Response).

HTTP Request:

DELETE /custom_dimensions/v202411alpha1/{customDimensionId}

Path Parameters

Parameter

Placement

Type

Required

Description

customDimensionId

path

string

Yes

Unique identifier of the custom dimension.

Note: Deleting a custom dimension cannot be undone.

cURL Example

The following is a sample request to the Delete a Custom Dimension endpoint.

curl -X DELETE "https://grpc.api.kentik.com/custom_dimensions/v202411alpha1/142188" \
  -H "X-CH-Auth-Email: your-email@company.com" \
  -H "X-CH-Auth-API-Token: your-api-token"

Example response:

{}

Populator Endpoints

Create a Populator

Creates a populator for a custom dimension and returns a populator object containing information about it. The request body is a Populator object. See Create Response for payload structure details.

HTTP Request:

POST /custom_dimensions/v202411alpha1/{customDimensionId}/populator

Path Parameters

Parameter

Placement

Type

Required

Description

customDimensionId

path

string

Yes

Unique identifier of the custom dimension.

Notes:

  • Within a match field that accepts multiple values, a match results when any one of the values matches.

  • The valid value format depends on the custom dimension type. For string dimensions, use 1 to 128 alphanumeric characters, spaces, dashes, or underscores. For uint32 dimensions, use a number from 0 to 4294967295.

  • Lowercase direction values (src, dst, either) are accepted. The response returns the value in uppercase.

cURL Example

The following is a sample request to the Create a Populator endpoint.

curl -X POST "https://grpc.api.kentik.com/custom_dimensions/v202411alpha1/142188/populator" \
  -H "X-CH-Auth-Email: your-email@company.com" \
  -H "X-CH-Auth-API-Token: your-api-token" \
  -H "Content-Type: application/json" \
  -d '{"value": "us-east", "direction": "either", "addr": ["10.1.0.0/16", "10.2.0.0/16", "10.3.0.0/16"], "port": [443], "protocol": [6]}'

Example response:

{
  "populator": {
    "id": "9635828926",
    "value": "us-east",
    "direction": "EITHER",
    "deviceName": [],
    "deviceType": [],
    "site": [],
    "interfaceName": [],
    "addr": [
      "10.1.0.0/16",
      "10.2.0.0/16",
      "10.3.0.0/16"
    ],
    "port": [
      443
    ],
    "tcpFlags": 0,
    "protocol": [
      6
    ],
    "asn": [],
    "lasthopAsName": [],
    "nexthopAsn": [],
    "nexthopAsName": [],
    "nexthop": [],
    "bgpAspath": [],
    "bgpCommunity": [],
    "mac": [],
    "country": [],
    "vlans": [],
    "user": "67890",
    "createdDate": "2026-10-05T23:21:38.464Z",
    "updatedDate": "2026-10-05T23:21:38.464Z",
    "addrCount": 3,
    "macCount": 0,
    "extendedFields": {}
  }
}

Get a Populator

Returns a populator by custom dimension ID and populator ID. See Get Response for payload structure details.

HTTP Request:

GET /custom_dimensions/v202411alpha1/{customDimensionId}/populator/{populatorId}

Path and Query Parameters

Parameter

Placement

Type

Required

Description

customDimensionId

path

string

Yes

Unique identifier of the custom dimension.

populatorId

path

string

Yes

Unique identifier of the populator.

fieldLimit

query

int64

No

Limits the number of values returned in list fields such as addr. Count fields such as addrCount still report the total.

cURL Example

The following is a sample request to the Get a Populator endpoint.

curl -X GET "https://grpc.api.kentik.com/custom_dimensions/v202411alpha1/142188/populator/9635828926" \
  -H "X-CH-Auth-Email: your-email@company.com" \
  -H "X-CH-Auth-API-Token: your-api-token"

Example response:

{
  "populator": {
    "id": "9635828926",
    "value": "us-east",
    "direction": "EITHER",
    "deviceName": [],
    "deviceType": [],
    "site": [],
    "interfaceName": [],
    "addr": [
      "10.1.0.0/16",
      "10.2.0.0/16",
      "10.3.0.0/16"
    ],
    "port": [
      443
    ],
    "tcpFlags": 0,
    "protocol": [
      6
    ],
    "asn": [],
    "lasthopAsName": [],
    "nexthopAsn": [],
    "nexthopAsName": [],
    "nexthop": [],
    "bgpAspath": [],
    "bgpCommunity": [],
    "mac": [],
    "country": [],
    "vlans": [],
    "user": "67890",
    "createdDate": "2026-10-05T23:21:38.464Z",
    "updatedDate": "2026-10-05T23:21:38.464Z",
    "addrCount": 3,
    "macCount": 0,
    "extendedFields": {}
  }
}

Limit Returned Values Example

To limit the number of values returned in list fields, add the fieldLimit query parameter. The following sample request returns only the first addr value, while addrCount still reports the total of 3:

curl -X GET "https://grpc.api.kentik.com/custom_dimensions/v202411alpha1/142188/populator/9635828926?fieldLimit=1" \
  -H "X-CH-Auth-Email: your-email@company.com" \
  -H "X-CH-Auth-API-Token: your-api-token"

Example response:

{
  "populator": {
    "id": "9635828926",
    "value": "us-east",
    "direction": "EITHER",
    "deviceName": [],
    "deviceType": [],
    "site": [],
    "interfaceName": [],
    "addr": [
      "10.1.0.0/16"
    ],
    "port": [
      443
    ],
    "tcpFlags": 0,
    "protocol": [
      6
    ],
    "asn": [],
    "lasthopAsName": [],
    "nexthopAsn": [],
    "nexthopAsName": [],
    "nexthop": [],
    "bgpAspath": [],
    "bgpCommunity": [],
    "mac": [],
    "country": [],
    "vlans": [],
    "user": "67890",
    "createdDate": "2026-10-05T23:21:38.464Z",
    "updatedDate": "2026-10-05T23:21:38.464Z",
    "addrCount": 3,
    "macCount": 0,
    "extendedFields": {}
  }
}

Update a Populator

Updates a populator and returns the updated populator object. The request body is a Populator object. See Update Response for payload structure details.

HTTP Request:

PUT /custom_dimensions/v202411alpha1/{customDimensionId}/populator/{populatorId}

Path Parameters

Parameter

Placement

Type

Required

Description

customDimensionId

path

string

Yes

Unique identifier of the custom dimension.

populatorId

path

string

Yes

Unique identifier of the populator.

Note: A populator must include at least one match field (for example addr, port, or protocol). A request that contains only value is rejected with HTTP 400 and the message Missing criteria. The existing populator is not changed.

cURL Example

The following is a sample request to the Update a Populator endpoint.

curl -X PUT "https://grpc.api.kentik.com/custom_dimensions/v202411alpha1/142188/populator/9635828926" \
  -H "X-CH-Auth-Email: your-email@company.com" \
  -H "X-CH-Auth-API-Token: your-api-token" \
  -H "Content-Type: application/json" \
  -d '{"value": "us-east", "direction": "src", "addr": ["10.1.0.0/16"], "port": [443], "protocol": [6]}'

Example response:

{
  "populator": {
    "id": "9635828926",
    "value": "us-east",
    "direction": "SRC",
    "deviceName": [],
    "deviceType": [],
    "site": [],
    "interfaceName": [],
    "addr": [
      "10.1.0.0/16"
    ],
    "port": [
      443
    ],
    "tcpFlags": 0,
    "protocol": [
      6
    ],
    "asn": [],
    "lasthopAsName": [],
    "nexthopAsn": [],
    "nexthopAsName": [],
    "nexthop": [],
    "bgpAspath": [],
    "bgpCommunity": [],
    "mac": [],
    "country": [],
    "vlans": [],
    "user": "67890",
    "createdDate": "2026-10-05T23:21:38.464Z",
    "updatedDate": "2026-10-05T23:21:40.860Z",
    "addrCount": 1,
    "macCount": 0,
    "extendedFields": {}
  }
}

Delete a Populator

Use this endpoint to delete a populator. On success, you’re returned an empty JSON object (see Delete Response).

HTTP Request:

DELETE /custom_dimensions/v202411alpha1/{customDimensionId}/populator/{populatorId}

Path Parameters

Parameter

Placement

Type

Required

Description

customDimensionId

path

string

Yes

Unique identifier of the custom dimension.

populatorId

path

string

Yes

Unique identifier of the populator.

Note: Deleting a populator cannot be undone.

cURL Example

The following is a sample request to the Delete a Populator endpoint.

curl -X DELETE "https://grpc.api.kentik.com/custom_dimensions/v202411alpha1/142188/populator/9635828926" \
  -H "X-CH-Auth-Email: your-email@company.com" \
  -H "X-CH-Auth-API-Token: your-api-token"

Example response:

{}

Get a Populator Field

Returns the values of a single extended field of a populator, by custom dimension ID, populator ID, and field name. Extended fields appear in the extendedFields object of the Populator object. See Get Field Response for payload structure details.

HTTP Request:

GET /custom_dimensions/v202411alpha1/{customDimensionId}/populator/{populatorId}/field/{fieldName}

Path and Query Parameters

Parameter

Placement

Type

Required

Description

customDimensionId

path

string

Yes

Unique identifier of the custom dimension.

populatorId

path

string

Yes

Unique identifier of the populator.

fieldName

path

string

Yes

Name of the extended field, as listed in the populator's extendedFields object (for example, str17).

offset

query

int32

No

Pagination offset.

limit

query

int32

No

Number of values to return per page.

Notes:

  • This endpoint retrieves extended fields only. For example, requesting a standard match field such as addr returns HTTP 404 with the message Populator field not found.

  • Get a Populator returns standard match fields directly in the Populator object. To limit the number of values returned for them, use the fieldLimit parameter.

Tip: Combine limit and offset to page through results. Use totalCount in the response to determine when you have retrieved every value.

cURL Example

The following is a sample request to the Get a Populator Field endpoint.

curl -X GET "https://grpc.api.kentik.com/custom_dimensions/v202411alpha1/142188/populator/9635828926/field/str17?offset=0&limit=100" \
  -H "X-CH-Auth-Email: your-email@company.com" \
  -H "X-CH-Auth-API-Token: your-api-token"

Example response:

{
  "totalCount": 2,
  "offset": 0,
  "limit": 100,
  "extendedFields": {
    "str17": {
      "value": [
        "value-1",
        "value-2"
      ]
    }
  }
}

Standard API Responses & Errors

List Response (Custom Dimension)

When calling the List Custom Dimensions endpoint, the returned JSON wraps the result set in a dimensions array:

{
  "dimensions": [
    { /* Custom Dimension Object 1 */ },
    { /* Custom Dimension Object 2 */ }
  ]
}

Get Response (Custom Dimension)

When calling the Get a Custom Dimension endpoint, the returned JSON wraps the single result in a dimension object:

{
  "dimension": { /* Custom Dimension Object */ }
}

Create Response (Custom Dimension)

When calling the Create a Custom Dimension endpoint, the returned JSON wraps the new custom dimension in a dimension object:

{
  "dimension": { /* Custom Dimension Object */ }
}

Update Response (Custom Dimension)

When calling the Update a Custom Dimension endpoint, the returned JSON wraps the updated custom dimension in a dimension object. The populators array is empty:

{
  "dimension": { /* Custom Dimension Object */ }
}

Delete Response (Custom Dimension)

When calling the Delete a Custom Dimension endpoint, the returned JSON is an empty object:

{}

Get Response (Populator)

When calling the Get a Populator endpoint, the returned JSON wraps the single result in a populator object:

{
  "populator": { /* Populator Object */ }
}

Create Response (Populator)

When calling the Create a Populator endpoint, the returned JSON wraps the new populator in a populator object:

{
  "populator": { /* Populator Object */ }
}

Update Response (Populator)

When calling the Update a Populator endpoint, the returned JSON wraps the updated populator in a populator object:

{
  "populator": { /* Populator Object */ }
}

Delete Response (Populator)

When calling the Delete a Populator endpoint, the returned JSON is an empty object:

{}

Get Field Response

When calling the Get a Populator Field endpoint, the returned JSON contains pagination details and the field values, keyed by field name:

{
  "totalCount": 2,
  "offset": 0,
  "limit": 100,
  "extendedFields": {
    "str17": {
      "value": ["value-1", "value-2"]
    }
  }
}

Error Response

If an API request fails, Kentik returns a standard error object containing an error code and a message.

Field

Type

Description

code

integer (int32)

The numeric error code.

message

string

A human-readable error description. The message ends with a request identifier (errxid). Include it when you report an issue.

details

array (protobufAny)

An array of additional error details, if applicable.

HTTP Status Codes

Status

Error Code

Meaning

200

—

The request succeeded.

400

3

The request failed validation. For example, a dimension name or type is invalid, a required field such as description is missing, or a populator has no match fields.

404

5

The requested populator or populator field wasn’t found.

415

—

The request used an unsupported method and path combination, such as a POST to /custom_dimensions/v202411alpha1. Create custom dimensions with /v1/customdimension.

500

13

The API can return this status with the message internal error when the requested custom dimension ID doesn’t exist.

Example Error Responses

Invalid dimension name (HTTP 400):

{
  "code": 3,
  "message": "internal validation (col_name: Must only contain alpha-numeric characters and underscores) (errxid db2321rtkfgg0gtbfcw0)",
  "details": []
}

Invalid dimension type (HTTP 400):

{
  "code": 3,
  "message": "internal validation (col_type: Unrecognized type: banana) (errxid db2321rtkfgg0gtbfcwg)",
  "details": []
}

Missing required field (HTTP 400):

{
  "code": 3,
  "message": "Missing required fields on dimension {...} (errxid db239m64km2g068py7fg)",
  "details": []
}

Populator without match fields (HTTP 400):

{
  "code": 3,
  "message": "422 - {\"error\":\"Missing criteria\"} (errxid db239n6tkfgg068g9g00)",
  "details": []
}

Custom dimension not found (HTTP 500):

{
  "code": 13,
  "message": "internal error (name:error type:object) (errxid db239nptkfgg0d9rp670)",
  "details": []
}

Populator not found (HTTP 404):

{
  "code": 5,
  "message": "Populator not found (errxid db2321r4km2g0f1f7ev0)",
  "details": []
}

Response Fields

Custom Dimension Object

The Custom Dimension object defines the attributes of a custom dimension.

Field

Type

Description

id

string

Unique identifier for the custom dimension. Read-only.

name

string

The name of the custom dimension. Must start with c_. Valid characters: alphanumeric and underscores. Length: 3 to 20. Required.

type

string

Type of the custom dimension. Valid values: string or uint32. Required.

description

string

The display name of the custom dimension. Valid characters: alphanumeric, spaces, dashes, and underscores. Length: 2 to 30. Required.

populators

array (Populator)

Populators associated with this custom dimension (see Populator Object). Read-only.

companyId

string

The system-assigned ID of the customer. Read-only.

createdDate

string (date-time)

Date-time of custom dimension creation, in UTC. Read-only.

updatedDate

string (date-time)

Date-time of the most recent custom dimension edit, in UTC. Read-only.

Populator Object

The Populator object defines the rule that assigns a value of a custom dimension to matching flow records. Each match field is optional, but a populator must specify at least one of them. When you specify multiple values in an array field, a match results when any one of the values matches.

General Fields

Field

Type

Description

id

string

Unique identifier for the populator. Read-only.

value

string

The value of the dimension. For string dimensions: alphanumeric characters, spaces, dashes, and underscores; length 1 to 128. For uint32 dimensions: a number from 0 to 4294967295.

direction

string

The direction of the populator. Valid values: src, dst, or either. Lowercase values are accepted in requests. Responses return the value in uppercase (SRC, DST, EITHER).

user

string

The system-assigned ID of the user who created the populator. Read-only.

createdDate

string (date-time)

Date-time of populator creation, in UTC. Read-only.

updatedDate

string (date-time)

Date-time of the most recent populator edit, in UTC. Read-only.

addrCount

int64

Number of IP addresses. Read-only.

macCount

int64

Number of MAC addresses. Read-only.

extendedFields

object

Additional read-only fields set on the object. Each key maps to an object with a value array of strings. Retrieve the values of an extended field with Get a Populator Field.

Match Fields

Field

Type

Description

deviceName

array (string)

Device names, IP addresses, or regular expressions. The populator matches when the name or IP address of a device sending flow data.

deviceType

array (string)

Device types or regular expressions. The populator matches when the device type of a device sending flow data.

site

array (string)

Site names or regular expressions. The populator matches when the site of a device sending flow data.

interfaceName

array (string)

Interface names or regular expressions. The populator matches when the name or description of an interface sending flow data.

addr

array (string)

IP addresses in IP/CIDR format. A match results when any specified address falls within a range of IPs in incoming flow. IPv6 CIDRs are allowed, and short form (e.g., 1::2/127) is accepted. If you specify no CIDRs, the populator matches both IPv4 and IPv6 flow. If you specify only IPv4 CIDRs, the populator doesn’t match IPv6 flow. If you specify only IPv6 CIDRs, it doesn’t match IPv4 flow.

port

array (int64)

Ports (0 to 65535). A match results when any specified port matches a port number in incoming flow.

tcpFlags

int64

TCP flags as a number from 0 to 255 representing an 8-bit pattern. A match results when the flow bit pattern and the bitmask both have a value of 1 at any of the eight positions.

protocol

array (integer, uint32)

Protocol numbers (0 to 255). A match results when any specified protocol number matches the protocol of the flow.

asn

array (int64)

Last-hop (origin) Autonomous System Number (ASN, 1 to 4294967295). A match results when any specified ASN matches the last ASN in the routing table path for the source or destination IP.

lasthopAsName

array (string)

Last-hop (origin) AS names or regular expressions. The populator matches when the name for the last ASN in the path for the source or destination IP.

nexthopAsn

array (int64)

Next-hop ASNs. A match results when any specified ASN matches the ASN of the next-hop router based on the AS (Autonomous System) path.

nexthopAsName

array (string)

Next-hop AS names or regular expressions. The populator matches when the name for the ASN of the next-hop router based on the AS path.

nexthop

array (string)

Next-hop IPv4 CIDRs, IPv6 CIDRs, or both. A match results when the next-hop IP falls within any specified range.

bgpAspath

array (string)

BGP AS path expressions. The populator matches when the AS path of the route. For example: ^3737 1212,_7801_,2906$ looks for any of those three patterns. Permitted characters: []*:_^$.0123456789()+?, space, and -.

bgpCommunity

array (string)

BGP communities (for example, 2096:2212) or regular expressions. The populator matches when the BGP community of the route associated with incoming flow. Permitted characters: []*:_^$.0123456789()+?, space, and -.

mac

array (string)

MAC addresses. A match results when any specified address matches the source or destination Ethernet (L2) address.

country

array (string)

Two-character country codes. A match results when any specified code matches the source or destination country of the flow.

vlans

array (string)

VLANs, as integers or ranges of integers from 0 to 4095.