--- 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 canonical: "kb.kentik.com/interface-apis" --- > ## 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) |