---
title: "Capacity Plan APIs"
slug: "capacity-plan-apis"
description: "Access Kentik’s Capacity Plan APIs for read-only visibility into network data. Programmatically track interface health, utilization, and runout dates."
updated: 2026-02-20T15:23:05Z
published: 2026-02-20T15:23:05Z
---

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

# Capacity Plan APIs

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

## Capacity Plan Usage

The Capacity Plan API provides read-only access to configured capacity plans.

## Capacity Plan 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).

### ListCapacityPlans

**API: CapacityPlanService**

| REST Method | REST Endpoint | Description |
| --- | --- | --- |
| GET | /capacity_plan/v202212 /capacity_plan | Returns list of capacity plans. |
| \| **Request body**: None **Parameters**: None \| **Response body**: [v202212ListCapacityPlansResponse](/v1/docs/capacity-plan-apis#listcapacityplansresponse) \| \| --- \| --- \| |
| **Request body**: None **Parameters**: None | **Response body**: [v202212ListCapacityPlansResponse](/v1/docs/capacity-plan-apis#listcapacityplansresponse) |

### ListCapacitySummaries

**API: CapacityPlanService**

| REST Method | REST Endpoint | Description |
| --- | --- | --- |
| GET | /capacity_plan/v202212 /capacity_plan/summary | Returns list of capacity summaries. |
| \| **Request body:** None **Parameters:** None \| **Response body:** [v202212ListCapacitySummariesResponse](/v1/docs/capacity-plan-apis#listcapacitysummariesresponse) \| \| --- \| --- \| |
| **Request body:** None **Parameters:** None | **Response body:** [v202212ListCapacitySummariesResponse](/v1/docs/capacity-plan-apis#listcapacitysummariesresponse) |

### GetCapacityPlan

**API: CapacityPlanService**

| REST Method | REST Endpoint | Description |
| --- | --- | --- |
| GET | /capacity_plan/v202212 /capacity_plan/{id} | Returns capacity plan specified by ID. |
| \| **Request body:** None \| **Response body:** [v202212GetCapacityPlanResponse](/v1/docs/capacity-plan-apis#getcapacityplanresponse) \| \| --- \| --- \| **Parameters:** \| Name \| Description \| Required \| Type \| \| --- \| --- \| --- \| --- \| \| id \| ID of the requested capacity plan \| true \| string \| |
| **Request body:** None | **Response body:** [v202212GetCapacityPlanResponse](/v1/docs/capacity-plan-apis#getcapacityplanresponse) |
| Name | Description | Required | Type |
| id | ID of the requested capacity plan | true | string |

### GetCapacitySummary

**API: CapacityPlanService**

| REST Method | REST Endpoint | Description |
| --- | --- | --- |
| GET | /capacity_plan/v202212 /capacity_plan/{id}/summary | Returns capacity plan summary specified by ID. |
| \| **Request body:** None \| **Response body:** [v202212GetCapacitySummaryResponse](/v1/docs/capacity-plan-apis#getcapacitysummaryresponse) \| \| --- \| --- \| **Parameters:** \| Name \| Description \| Required \| Type \| \| --- \| --- \| --- \| --- \| \| id \| ID of the requested capacity plan summary \| true \| string \| |
| **Request body:** None | **Response body:** [v202212GetCapacitySummaryResponse](/v1/docs/capacity-plan-apis#getcapacitysummaryresponse) |
| Name | Description | Required | Type |
| id | ID of the requested capacity plan summary | true | string |

## Capacity Plan Schemas

This API uses the following schemas.

#### InterfaceDetail

| **Schema:** CapacityPlanInterfaceDetail | **Type:** object |
| --- | --- |
| **Properties**: \| Name \| Value \| \| --- \| --- \| \| deviceName \| type: string description: Device name readOnly: true \| \| intfName \| type: string description: Interface name readOnly: true \| \| intfDescription \| type: string description: Interface description readOnly: true \| \| intfCapacity \| type: string description: Interface capacity readOnly: true \| \| networkBoundary \| type: string description: Network boundary readOnly: true \| \| connType \| type: string description: Connectivity type readOnly: true \| \| provider \| type: string description: Provider readOnly: true \| \| utilStatus \| type: string description: Utilization status readOnly: true \| \| utilOutMbps \| type: string description: Utilization out mbps readOnly: true \| \| utilOutPct \| type: string description: Utilization out percentage readOnly: true \| \| utilInMbps \| type: string description: Utilization in mbps readOnly: true \| \| utilInPct \| type: string description: Utilization in percentage readOnly: true \| \| runoutStatus \| type: string description: Runout status readOnly: true \| \| runoutInDate \| type: string description: Runout in date readOnly: true \| \| runoutInVariation \| type: string description: Runout in variation readOnly: true \| \| runoutOutDate \| type: string description: Runout out date readOnly: true \| \| runoutOutVariation \| type: string description: Runout out variation readOnly: true \| |
| Name | Value |
| deviceName | type: string description: Device name readOnly: true |
| intfName | type: string description: Interface name readOnly: true |
| intfDescription | type: string description: Interface description readOnly: true |
| intfCapacity | type: string description: Interface capacity readOnly: true |
| networkBoundary | type: string description: Network boundary readOnly: true |
| connType | type: string description: Connectivity type readOnly: true |
| provider | type: string description: Provider readOnly: true |
| utilStatus | type: string description: Utilization status readOnly: true |
| utilOutMbps | type: string description: Utilization out mbps readOnly: true |
| utilOutPct | type: string description: Utilization out percentage readOnly: true |
| utilInMbps | type: string description: Utilization in mbps readOnly: true |
| utilInPct | type: string description: Utilization in percentage readOnly: true |
| runoutStatus | type: string description: Runout status readOnly: true |
| runoutInDate | type: string description: Runout in date readOnly: true |
| runoutInVariation | type: string description: Runout in variation readOnly: true |
| runoutOutDate | type: string description: Runout out date readOnly: true |
| runoutOutVariation | type: string description: Runout out variation readOnly: true |

#### InterfacesDetail

| **Schema:** CapacitySummaryInterfacesDetail | **Type:** object |
| --- | --- |
| **Properties**: \| Name \| Value \| \| --- \| --- \| \| totalCount \| type: integer format: int64 description: Total number of interfaces readOnly: true \| \| totalCapacityBps \| type: string format: uint64 description: Total capacity in bps readOnly: true \| \| healthy \| $ref: [InterfacesDetail](/v1/docs/capacity-plan-apis#interfacesdetail) [StatusDetail](/v1/docs/capacity-plan-apis#statusdetail) \| \| warning \| $ref: [InterfacesDetail](/v1/docs/capacity-plan-apis#interfacesdetail) [StatusDetail](/v1/docs/capacity-plan-apis#statusdetail) \| \| critical \| $ref: [InterfacesDetail](/v1/docs/capacity-plan-apis#interfacesdetail) [StatusDetail](/v1/docs/capacity-plan-apis#statusdetail) \| |
| Name | Value |
| totalCount | type: integer format: int64 description: Total number of interfaces readOnly: true |
| totalCapacityBps | type: string format: uint64 description: Total capacity in bps readOnly: true |
| healthy | $ref: [InterfacesDetail](/v1/docs/capacity-plan-apis#interfacesdetail) [StatusDetail](/v1/docs/capacity-plan-apis#statusdetail) |
| warning | $ref: [InterfacesDetail](/v1/docs/capacity-plan-apis#interfacesdetail) [StatusDetail](/v1/docs/capacity-plan-apis#statusdetail) |
| critical | $ref: [InterfacesDetail](/v1/docs/capacity-plan-apis#interfacesdetail) [StatusDetail](/v1/docs/capacity-plan-apis#statusdetail) |

#### RunoutConfig

| **Schema:** ConfigRunoutConfig | **Type:** object |
| --- | --- |
| **Properties**: \| Name \| Value \| \| --- \| --- \| \| strategy \| type: string description: Strategy for runout readOnly: true \| \| warnQty \| type: integer format: int64 description: Warning quantity for runout readOnly: true \| \| critQty \| type: integer format: int64 description: Critical quantity for runout readOnly: true \| |
| Name | Value |
| strategy | type: string description: Strategy for runout readOnly: true |
| warnQty | type: integer format: int64 description: Warning quantity for runout readOnly: true |
| critQty | type: integer format: int64 description: Critical quantity for runout readOnly: true |

#### UtilConfig

| **Schema:** ConfigUtilConfig | **Type:** object |
| --- | --- |
| **Properties**: \| Name \| Value \| \| --- \| --- \| \| aggregate \| type: string description: Aggregate for utilization readOnly: true \| \| warnPct \| type: integer format: int64 description: Warning percentage for utilization readOnly: true \| \| critPct \| type: integer format: int64 description: Critical percentage for utilization readOnly: true \| |
| Name | Value |
| aggregate | type: string description: Aggregate for utilization readOnly: true |
| warnPct | type: integer format: int64 description: Warning percentage for utilization readOnly: true |
| critPct | type: integer format: int64 description: Critical percentage for utilization readOnly: true |

#### StatusDetail

| **Schema:** InterfacesDetailStatusDetail | **Type:** object |
| --- | --- |
| **Properties**: \| Name \| Value \| \| --- \| --- \| \| bps \| type: string format: uint64 description: Bandwidth in bps readOnly: true \| \| count \| type: integer format: int64 description: Number of interfaces readOnly: true \| |
| Name | Value |
| bps | type: string format: uint64 description: Bandwidth in bps readOnly: true |
| count | type: integer format: int64 description: Number of interfaces readOnly: true |

#### RunoutStatus

| **Schema:** SummaryStatusRunoutStatus | **Type:** object |
| --- | --- |
| **Properties:** \| Name \| Value \| \| --- \| --- \| \| status \| type: string description: Status of runout readOnly: true \| \| earliestDate \| type: string format: uint64 description: Earliest runout date readOnly: true \| |
| Name | Value |
| status | type: string description: Status of runout readOnly: true |
| earliestDate | type: string format: uint64 description: Earliest runout date readOnly: true |

#### UtilStatus

| **Schema:** SummaryStatusUtilStatus | **Type:** object |
| --- | --- |
| **Properties**: \| Name \| Value \| \| --- \| --- \| \| status \| type: string description: Status of utilization readOnly: true \| \| highestPct \| type: integer format: int64 description: Highest utilization percentage readOnly: true \| |
| Name | Value |
| status | type: string description: Status of utilization readOnly: true |
| highestPct | type: integer format: int64 description: Highest utilization percentage readOnly: true |

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

#### CapacityPlan

| **Schema:** v202212CapacityPlan | **Type:** object |
| --- | --- |
| **Properties**: \| Name \| Value \| \| --- \| --- \| \| id \| type: string description: ID of capacity plan readOnly: true \| \| name \| type: string description: Name of capacity plan readOnly: true \| \| description \| type: string description: Description of capacity plan readOnly: true \| \| status \| type: string description: Status of capacity plan readOnly: true \| \| interfaces \| type: array items: $ref: [CapacityPlan](/v1/docs/capacity-plan-apis#capacityplan) [InterfaceDetail](/v1/docs/capacity-plan-apis#interfacedetail) description: List of interfaces readOnly: true \| \| config \| $ref: [v202212Config](/v1/docs/capacity-plan-apis#config) \| \| summaryStatus \| $ref: [v202212SummaryStatus](/v1/docs/capacity-plan-apis#summarystatus) \| |
| Name | Value |
| id | type: string description: ID of capacity plan readOnly: true |
| name | type: string description: Name of capacity plan readOnly: true |
| description | type: string description: Description of capacity plan readOnly: true |
| status | type: string description: Status of capacity plan readOnly: true |
| interfaces | type: array items: $ref: [CapacityPlan](/v1/docs/capacity-plan-apis#capacityplan) [InterfaceDetail](/v1/docs/capacity-plan-apis#interfacedetail) description: List of interfaces readOnly: true |
| config | $ref: [v202212Config](/v1/docs/capacity-plan-apis#config) |
| summaryStatus | $ref: [v202212SummaryStatus](/v1/docs/capacity-plan-apis#summarystatus) |

#### CapacitySummary

| **Schema:** v202212CapacitySummary | **Type:** object |
| --- | --- |
| **Properties**: \| Name \| Value \| \| --- \| --- \| \| id \| type: string description: ID of capacity plan readOnly: true \| \| name \| type: string description: Name of capacity plan readOnly: true \| \| description \| type: string description: Description of capacity plan readOnly: true \| \| status \| type: string description: Status of capacity plan readOnly: true \| \| interfaces \| $ref: [CapacitySummary](/v1/docs/capacity-plan-apis#capacitysummary) [InterfacesDetail](/v1/docs/capacity-plan-apis#interfacesdetail) \| \| config \| $ref: [v202212Config](/v1/docs/capacity-plan-apis#config) \| \| summaryStatus \| $ref: [v202212SummaryStatus](/v1/docs/capacity-plan-apis#summarystatus) \| |
| Name | Value |
| id | type: string description: ID of capacity plan readOnly: true |
| name | type: string description: Name of capacity plan readOnly: true |
| description | type: string description: Description of capacity plan readOnly: true |
| status | type: string description: Status of capacity plan readOnly: true |
| interfaces | $ref: [CapacitySummary](/v1/docs/capacity-plan-apis#capacitysummary) [InterfacesDetail](/v1/docs/capacity-plan-apis#interfacesdetail) |
| config | $ref: [v202212Config](/v1/docs/capacity-plan-apis#config) |
| summaryStatus | $ref: [v202212SummaryStatus](/v1/docs/capacity-plan-apis#summarystatus) |

#### Config

| **Schema:** v202212Config | **Type:** object |
| --- | --- |
| **Properties**: \| Name \| Value \| \| --- \| --- \| \| runout \| $ref: [ConfigRunoutConfig](/v1/docs/capacity-plan-apis#runoutconfig) \| \| utilization \| $ref: [ConfigUtilConfig](/v1/docs/capacity-plan-apis#utilconfig) \| |
| Name | Value |
| runout | $ref: [ConfigRunoutConfig](/v1/docs/capacity-plan-apis#runoutconfig) |
| utilization | $ref: [ConfigUtilConfig](/v1/docs/capacity-plan-apis#utilconfig) |

#### GetCapacityPlanResponse

| **Schema:** v202212GetCapacityPlanResponse | **Type:** object |
| --- | --- |
| **Properties**: \| Name \| Value \| \| --- \| --- \| \| capacity \| $ref:[v202212CapacityPlan](/v1/docs/capacity-plan-apis#capacityplan) \| |
| Name | Value |
| capacity | $ref:[v202212CapacityPlan](/v1/docs/capacity-plan-apis#capacityplan) |

#### GetCapacitySummaryResponse

| **Schema:** v202212GetCapacitySummaryResponse | **Type:** object |
| --- | --- |
| **Properties**: \| Name \| Value \| \| --- \| --- \| \| capacity \| $ref: [v202212CapacitySummary](/v1/docs/capacity-plan-apis#capacitysummary) \| |
| Name | Value |
| capacity | $ref: [v202212CapacitySummary](/v1/docs/capacity-plan-apis#capacitysummary) |

#### ListCapacityPlansResponse

| **Schema:** v202212ListCapacityPlansResponse | **Type:** object |
| --- | --- |
| **Properties**: \| Name \| Value \| \| --- \| --- \| \| capacity \| type: array items: $ref: [v202212CapacityPlan](/v1/docs/capacity-plan-apis#capacityplan) description: List of capacity plans \| \| invalidCount \| type: integer format: int64 description: Number of invalid entries encountered while collecting data \| |
| Name | Value |
| capacity | type: array items: $ref: [v202212CapacityPlan](/v1/docs/capacity-plan-apis#capacityplan) description: List of capacity plans |
| invalidCount | type: integer format: int64 description: Number of invalid entries encountered while collecting data |

#### ListCapacitySummariesResponse

| **Schema:** v202212ListCapacitySummariesResponse | **Type:** object |
| --- | --- |
| **Properties**: \| Name \| Value \| \| --- \| --- \| \| capacity \| type: array items: $ref:[v202212CapacitySummary](/v1/docs/capacity-plan-apis#capacitysummary) description: List of capacity plan summaries \| \| invalidCount \| type: integer format: int64 description: Number of invalid entries encountered while collecting data \| |
| Name | Value |
| capacity | type: array items: $ref:[v202212CapacitySummary](/v1/docs/capacity-plan-apis#capacitysummary) description: List of capacity plan summaries |
| invalidCount | type: integer format: int64 description: Number of invalid entries encountered while collecting data |

#### SummaryStatus

| **Schema:** v202212SummaryStatus | **Type:** object |
| --- | --- |
| **Properties**: \| Name \| Value \| \| --- \| --- \| \| runout \| $ref:[SummaryStatus](/v1/docs/capacity-plan-apis#summarystatus) [RunoutStatus](/v1/docs/capacity-plan-apis#runoutstatus) \| \| utilization \| $ref:[SummaryStatus](/v1/docs/capacity-plan-apis#summarystatus) [RunoutStatus](/v1/docs/capacity-plan-apis#runoutstatus) \| |
| Name | Value |
| runout | $ref:[SummaryStatus](/v1/docs/capacity-plan-apis#summarystatus) [RunoutStatus](/v1/docs/capacity-plan-apis#runoutstatus) |
| utilization | $ref:[SummaryStatus](/v1/docs/capacity-plan-apis#summarystatus) [RunoutStatus](/v1/docs/capacity-plan-apis#runoutstatus) |
