---
title: "Interface APIs"
slug: "interface-apis"
description: "Manage network interfaces programmatically with Kentik’s Interface APIs. Learn to list, create, update, and delete interfaces for seamless automation."
updated: 2026-02-20T15:39:08Z
published: 2026-02-20T15:39:08Z
---

> ## 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.

# Interface APIs

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

This article covers how to get started with the Interface 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 interfaces, start with [**About Interfaces**](/v1/docs/interfaces#about-interfaces).
> - Protobuf and OpenAPI specifications for Kentik’s v6 APIs are available in our [**api-schema-public**](https://github.com/kentik/api-schema-public) repository.

## Interface Usage

Manage interfaces programmatically, including listing, creating, updating, and deleting.

## Interface 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).

### ListInterface

**API: InterfaceService**

| REST Method | REST Endpoint | Description |
| --- | --- | --- |
| GET | /interface/v202108alpha1 /interfaces | Return list of interfaces matches search critera. |
| \| **Request body**: None \| **Response body**: [v202108alpha1ListInterfaceResponse](/v1/docs/interface-apis#listinterfaceresponse) \| \| --- \| --- \| **Parameters**: \| Name \| Description \| Required \| Type \| \| --- \| --- \| --- \| --- \| \| filters.text \| Search text match in interface description and alias. \| false \| string \| \| filters.deviceIds \| Search by device ID. \| false \| array \| \| filters.connectivityTypes \| Search by type of interface connectivity. \| false \| array \| \| filters.networkBoundaries \| Search by type of network boundary. \| false \| array \| \| filters.providers \| Search by provider. \| false \| array \| \| filters.snmpSpeeds \| SNMP speed in Mbps. \| false \| array \| \| filters.ipTypes \| Search by ip address. \| false \| array \| |
| **Request body**: None | **Response body**: [v202108alpha1ListInterfaceResponse](/v1/docs/interface-apis#listinterfaceresponse) |
| Name | Description | Required | Type |
| filters.text | Search text match in interface description and alias. | false | string |
| filters.deviceIds | Search by device ID. | false | array |
| filters.connectivityTypes | Search by type of interface connectivity. | false | array |
| filters.networkBoundaries | Search by type of network boundary. | false | array |
| filters.providers | Search by provider. | false | array |
| filters.snmpSpeeds | SNMP speed in Mbps. | false | array |
| filters.ipTypes | Search by ip address. | false | array |

### InterfaceCreate

**API: InterfaceService**

| REST Method | REST Endpoint | Description |
| --- | --- | --- |
| POST | /interface/v202108alpha1 /interfaces | Create a interface from request. returns created |
| \| **Request body**: [v202108alpha1CreateInterfaceRequest](/v1/docs/interface-apis#createinterfacerequest) \| **Response body:** [v202108alpha1CreateInterfaceResponse](/v1/docs/interface-apis#createinterfaceresponse) \| \| --- \| --- \| \| **Parameters:** None \| |
| **Request body**: [v202108alpha1CreateInterfaceRequest](/v1/docs/interface-apis#createinterfacerequest) | **Response body:** [v202108alpha1CreateInterfaceResponse](/v1/docs/interface-apis#createinterfaceresponse) |
| **Parameters:** None |

### InterfaceGet

**API: InterfaceService**

| REST Method | REST Endpoint | Description |
| --- | --- | --- |
| GET | /interface/v202108alpha1 /interfaces/{id} | Returns information about a interface specified with ID. |
| \| **Request body**: None \| **Response body**: [v202108alpha1GetInterfaceResponse](/v1/docs/interface-apis#getinterfaceresponse) \| \| --- \| --- \| **Parameters**: \| Name \| Description \| Required \| Type \| \| --- \| --- \| --- \| --- \| \| id \| ID of interface. \| true \| string \| |
| **Request body**: None | **Response body**: [v202108alpha1GetInterfaceResponse](/v1/docs/interface-apis#getinterfaceresponse) |
| Name | Description | Required | Type |
| id | ID of interface. | true | string |

### InterfaceDelete

**API: InterfaceService**

| REST Method | REST Endpoint | Description |
| --- | --- | --- |
| DELETE | /interface/v202108alpha1 /interfaces/{id} | Deletes the interface specified with id. |
| \| **Request body**: None \| **Response body**: [v202108alpha1DeleteInterfaceResponse](/v1/docs/interface-apis#deleteinterfaceresponse) \| \| --- \| --- \| **Parameters**: \| Name \| Description \| Required \| Type \| \| --- \| --- \| --- \| --- \| \| id \| ID of interface. \| true \| string \| |
| **Request body**: None | **Response body**: [v202108alpha1DeleteInterfaceResponse](/v1/docs/interface-apis#deleteinterfaceresponse) |
| Name | Description | Required | Type |
| id | ID of interface. | true | string |

### InterfaceUpdate

**API: InterfaceService**

| REST Method | REST Endpoint | Description |
| --- | --- | --- |
| PUT | /interface/v202108alpha1 /interfaces/{id} | Replaces the entire interface attributes specified with id. |
| \| **Request body**: [v202108alpha1UpdateInterfaceRequest](/v1/docs/interface-apis#updateinterfacerequest) \| **Response body**: [v202108alpha1UpdateInterfaceResponse](/v1/docs/interface-apis#updateinterfaceresponse) \| \| --- \| --- \| **Parameters**: \| Name \| Description \| Required \| Type \| \| --- \| --- \| --- \| --- \| \| id \| ID of interface. \| true \| string \| |
| **Request body**: [v202108alpha1UpdateInterfaceRequest](/v1/docs/interface-apis#updateinterfacerequest) | **Response body**: [v202108alpha1UpdateInterfaceResponse](/v1/docs/interface-apis#updateinterfaceresponse) |
| Name | Description | Required | Type |
| id | ID of interface. | true | string |

### ManualClassify

**API: InterfaceService**

| REST Method | REST Endpoint | Description |
| --- | --- | --- |
| POST | /interface/v202108alpha1 /manual_classify | Manually set interface(s) classification. |
| \| **Request body**: [v202108alpha1ManualClassifyRequest](/v1/docs/interface-apis#manualclassifyrequest) \| **Response body:** [v202108alpha1ManualClassifyResponse](/v1/docs/interface-apis#manualclassifyresponse) \| \| --- \| --- \| \| **Parameters:** None \| \| |
| **Request body**: [v202108alpha1ManualClassifyRequest](/v1/docs/interface-apis#manualclassifyrequest) | **Response body:** [v202108alpha1ManualClassifyResponse](/v1/docs/interface-apis#manualclassifyresponse) |
| **Parameters:** None |  |

## Interface 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/interface-apis#protobufany) \| |
| Name | Value |
| code | type: integer format: int32 |
| message | type: string |
| details | type: array items: $ref: [protobufAny](/v1/docs/interface-apis#protobufany) |

#### ConnectivityType

| **Schema:** v202108alpha1ConnectivityType | **Type:** string |
| --- | --- |
| **Attributes**: \| Key \| Value \| \| --- \| --- \| \| enum \| CONNECTIVITY_TYPE_UNSPECIFIED, CONNECTIVITY_TYPE_AGGREGATION_INTERCONNECT, CONNECTIVITY_TYPE_AVAILABLE, CONNECTIVITY_TYPE_BACKBONE, CONNECTIVITY_TYPE_CLOUD_INTERCONNECT, CONNECTIVITY_TYPE_CUSTOMER, CONNECTIVITY_TYPE_DATACENTER_FABRIC, CONNECTIVITY_TYPE_DATACENTER_INTERCONNECT, CONNECTIVITY_TYPE_EMBEDDED_CACHE, CONNECTIVITY_TYPE_FREE_PNI, CONNECTIVITY_TYPE_HOST, CONNECTIVITY_TYPE_IX, CONNECTIVITY_TYPE_OTHER, CONNECTIVITY_TYPE_PAID_PNI, CONNECTIVITY_TYPE_RESERVED, CONNECTIVITY_TYPE_TRANSIT, CONNECTIVITY_TYPE_VIRTUAL_CROSS_CONNECT \| \| default \| CONNECTIVITY_TYPE_UNSPECIFIED \| |
| Key | Value |
| enum | CONNECTIVITY_TYPE_UNSPECIFIED, CONNECTIVITY_TYPE_AGGREGATION_INTERCONNECT, CONNECTIVITY_TYPE_AVAILABLE, CONNECTIVITY_TYPE_BACKBONE, CONNECTIVITY_TYPE_CLOUD_INTERCONNECT, CONNECTIVITY_TYPE_CUSTOMER, CONNECTIVITY_TYPE_DATACENTER_FABRIC, CONNECTIVITY_TYPE_DATACENTER_INTERCONNECT, CONNECTIVITY_TYPE_EMBEDDED_CACHE, CONNECTIVITY_TYPE_FREE_PNI, CONNECTIVITY_TYPE_HOST, CONNECTIVITY_TYPE_IX, CONNECTIVITY_TYPE_OTHER, CONNECTIVITY_TYPE_PAID_PNI, CONNECTIVITY_TYPE_RESERVED, CONNECTIVITY_TYPE_TRANSIT, CONNECTIVITY_TYPE_VIRTUAL_CROSS_CONNECT |
| default | CONNECTIVITY_TYPE_UNSPECIFIED |

#### CreateInterfaceRequest

| **Schema:** v202108alpha1CreateInterfaceRequest | **Type:** object |
| --- | --- |
| **Properties**: \| Name \| Value \| \| --- \| --- \| \| interface \| $ref: [v202108alpha1Interface](/v1/docs/interface-apis#interface) \| |
| Name | Value |
| interface | $ref: [v202108alpha1Interface](/v1/docs/interface-apis#interface) |

#### CreateInterfaceResponse

| **Schema:** v202108alpha1CreateInterfaceResponse | **Type:** object |
| --- | --- |
| **Properties**: \| Name \| Value \| \| --- \| --- \| \| interface \| $ref: [v202108alpha1Interface](/v1/docs/interface-apis#interface) \| |
| Name | Value |
| interface | $ref: [v202108alpha1Interface](/v1/docs/interface-apis#interface) |

#### DeleteInterfaceResponse

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

#### GetInterfaceResponse

| **Schema:** v202108alpha1GetInterfaceResponse | **Type:** object |
| --- | --- |
| **Properties:** \| Name \| Value \| \| --- \| --- \| \| interface \| $ref: [v202108alpha1Interface](/v1/docs/interface-apis#interface) \| |
| Name | Value |
| interface | $ref: [v202108alpha1Interface](/v1/docs/interface-apis#interface) |

#### Interface

| **Schema:** v202108alpha1Interface | **Type:** object |
| --- | --- |
| **Properties**: \| Name \| Value \| \| --- \| --- \| \| id \| type: string description: ID of interface. \| \| deviceId \| type: string description: ID of device with this interface. \| \| snmpId \| type: string description: SNMP ID. \| \| snmpSpeed \| type: integer format: int32 description: Network speed in Mbps. \| \| snmpType \| type: integer format: int32 description: Snmp Type. \| \| snmpAlias \| type: string description: Interface alias. \| \| interfaceIp \| type: string description: IP of interface. \| \| interfaceDescription \| type: string description: Readable string description of interface. \| \| cdate \| type: string format: date-time description: Create timestamp. \| \| edate \| type: string format: date-time description: Update Timestamp. \| \| interfaceIpNetmask \| type: string description: Subnet mask. \| \| connectivityType \| $ref: [v202108alpha1ConnectivityType](/v1/docs/interface-apis#connectivitytype) \| \| networkBoundary \| $ref: [v202108alpha1NetworkBoundary](/v1/docs/interface-apis#networkboundary) \| \| topNexthopAsns \| type: array items: type: integer format: int32 description: Top asn hops. \| \| provider \| type: string description: Network provider. \| |
| Name | Value |
| id | type: string description: ID of interface. |
| deviceId | type: string description: ID of device with this interface. |
| snmpId | type: string description: SNMP ID. |
| snmpSpeed | type: integer format: int32 description: Network speed in Mbps. |
| snmpType | type: integer format: int32 description: Snmp Type. |
| snmpAlias | type: string description: Interface alias. |
| interfaceIp | type: string description: IP of interface. |
| interfaceDescription | type: string description: Readable string description of interface. |
| cdate | type: string format: date-time description: Create timestamp. |
| edate | type: string format: date-time description: Update Timestamp. |
| interfaceIpNetmask | type: string description: Subnet mask. |
| connectivityType | $ref: [v202108alpha1ConnectivityType](/v1/docs/interface-apis#connectivitytype) |
| networkBoundary | $ref: [v202108alpha1NetworkBoundary](/v1/docs/interface-apis#networkboundary) |
| topNexthopAsns | type: array items: type: integer format: int32 description: Top asn hops. |
| provider | type: string description: Network provider. |

#### InterfaceFilter

| **Schema:** v202108alpha1InterfaceFilter | **Type:** object |
| --- | --- |
| **Properties**: \| Name \| Value \| \| --- \| --- \| \| text \| type: string description: Search text match in interface description and alias. \| \| deviceIds \| type: array items: type: string description: Search by device ID. \| \| connectivityTypes \| type: array items: $ref: [v202108alpha1ConnectivityType](/v1/docs/interface-apis#connectivitytype) description: Search by type of interface connectivity. \| \| networkBoundaries \| type: array items: $ref: [v202108alpha1NetworkBoundary](/v1/docs/interface-apis#networkboundary) description: Search by type of network boundary. \| \| providers \| type: array items: type: string title: Search by provider \| \| snmpSpeeds \| type: array items: type: integer format: int32 title: SNMP speed in Mbps \| \| ipTypes \| type: array items: $ref: v202108alpha1IpFilter description: Search by ip address. \| |
| Name | Value |
| text | type: string description: Search text match in interface description and alias. |
| deviceIds | type: array items: type: string description: Search by device ID. |
| connectivityTypes | type: array items: $ref: [v202108alpha1ConnectivityType](/v1/docs/interface-apis#connectivitytype) description: Search by type of interface connectivity. |
| networkBoundaries | type: array items: $ref: [v202108alpha1NetworkBoundary](/v1/docs/interface-apis#networkboundary) description: Search by type of network boundary. |
| providers | type: array items: type: string title: Search by provider |
| snmpSpeeds | type: array items: type: integer format: int32 title: SNMP speed in Mbps |
| ipTypes | type: array items: $ref: v202108alpha1IpFilter description: Search by ip address. |

#### IpFilter

| **Schema:** v202108alpha1IpFilter | **Type:** string |
| --- | --- |
| **Attributes**: \| Name \| Value \| \| --- \| --- \| \| enum \| IP_FILTER_UNSPECIFIED, IP_FILTER_PRIVATE, IP_FILTER_PUBLIC, IP_FILTER_UNSET \| \| default \| IP_FILTER_UNSPECIFIED \| |
| Name | Value |
| enum | IP_FILTER_UNSPECIFIED, IP_FILTER_PRIVATE, IP_FILTER_PUBLIC, IP_FILTER_UNSET |
| default | IP_FILTER_UNSPECIFIED |

#### ListInterfaceResponse

| **Schema:** v202108alpha1ListInterfaceResponse | **Type:** object |
| --- | --- |
| **Properties**: \| Name \| Value \| \| --- \| --- \| \| interfaces \| type: array items: $ref: [v202108alpha1Interface](/v1/docs/interface-apis#interface) \| \| totalCount \| type: integer format: int32 \| \| invalidCount \| type: integer format: int32 \| |
| Name | Value |
| interfaces | type: array items: $ref: [v202108alpha1Interface](/v1/docs/interface-apis#interface) |
| totalCount | type: integer format: int32 |
| invalidCount | type: integer format: int32 |

#### ManualClassifyRequest

| **Schema:** v202108alpha1ManualClassifyRequest | **Type:** object |
| --- | --- |
| **Properties**: \| Name \| Value \| \| --- \| --- \| \| interfaceIds \| type: array items: type: string description: Interface ids to set the properties. \| \| connectivityType \| $ref: [v202108alpha1ConnectivityType](/v1/docs/interface-apis#connectivitytype) \| \| networkBoundary \| $ref: [v202108alpha1NetworkBoundary](/v1/docs/interface-apis#networkboundary) \| \| provider \| type: string description: Network provider. \| |
| Name | Value |
| interfaceIds | type: array items: type: string description: Interface ids to set the properties. |
| connectivityType | $ref: [v202108alpha1ConnectivityType](/v1/docs/interface-apis#connectivitytype) |
| networkBoundary | $ref: [v202108alpha1NetworkBoundary](/v1/docs/interface-apis#networkboundary) |
| provider | type: string description: Network provider. |

#### ManualClassifyResponse

| **Schema:** v202108alpha1ManualClassifyResponse | **Type:** object |
| --- | --- |
| **Properties**: \| Name \| Value \| \| --- \| --- \| \| deviceIds \| type: array items: type: string \| |
| Name | Value |
| deviceIds | type: array items: type: string |

#### NetworkBoundary

| **Schema:** v202108alpha1NetworkBoundary | **Type:** string |
| --- | --- |
| **Attributes:** \| Key \| Value \| \| --- \| --- \| \| enum \| NETWORK_BOUNDARY_UNSPECIFIED, NETWORK_BOUNDARY_AUTO, NETWORK_BOUNDARY_INTERNAL, NETWORK_BOUNDARY_EXTERNAL, NETWORK_BOUNDARY_NONE \| \| default \| NETWORK_BOUNDARY_UNSPECIFIED \| |
| Key | Value |
| enum | NETWORK_BOUNDARY_UNSPECIFIED, NETWORK_BOUNDARY_AUTO, NETWORK_BOUNDARY_INTERNAL, NETWORK_BOUNDARY_EXTERNAL, NETWORK_BOUNDARY_NONE |
| default | NETWORK_BOUNDARY_UNSPECIFIED |

#### UpdateInterfaceRequest

| **Schema:** v202108alpha1UpdateInterfaceRequest | **Type:** object |
| --- | --- |
| **Properties:** \| Name \| Value \| \| --- \| --- \| \| interface \| $ref: [v202108alpha1Interface](/v1/docs/interface-apis#interface) \| |
| Name | Value |
| interface | $ref: [v202108alpha1Interface](/v1/docs/interface-apis#interface) |

#### UpdateInterfaceResponse

| **Schema:** v202108alpha1UpdateInterfaceResponse | **Type:** object |
| --- | --- |
| **Properties**: \| Name \| Value \| \| --- \| --- \| \| interface \| $ref: [v202108alpha1Interface](/v1/docs/interface-apis#interface) \| |
| Name | Value |
| interface | $ref: [v202108alpha1Interface](/v1/docs/interface-apis#interface) |
