Kentik Capacity Planning API (v6)
Create capacity plans that track interface and link utilization against thresholds.
Create capacity plans that track interface and link utilization against thresholds.
{
"openapi": "3.0.0",
"info": {
"title": "Capacity Plan API",
"description": "# Overview\nThe Capacity Plan API provides read-only access to configured capacity plans",
"version": "v202212",
"contact": {
"name": "Kentik API Engineering",
"url": "https://github.com/kentik/api-schema-public"
}
},
"tags": [
{
"name": "CapacityPlanService"
}
],
"paths": {
"/capacity_plan/v202212/capacity_plan": {
"get": {
"summary": "List all capacity plans.",
"description": "Returns list of capacity plans.",
"operationId": "ListCapacityPlans",
"responses": {
"200": {
"description": "A successful response.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/v202212ListCapacityPlansResponse"
}
}
}
},
"default": {
"description": "An unexpected error response.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/rpcStatus"
}
}
}
}
},
"tags": [
"CapacityPlanService"
]
}
},
"/capacity_plan/v202212/capacity_plan/summary": {
"get": {
"summary": "List all capacity summaries.",
"description": "Returns list of capacity summaries.",
"operationId": "ListCapacitySummaries",
"responses": {
"200": {
"description": "A successful response.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/v202212ListCapacitySummariesResponse"
}
}
}
},
"default": {
"description": "An unexpected error response.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/rpcStatus"
}
}
}
}
},
"tags": [
"CapacityPlanService"
]
}
},
"/capacity_plan/v202212/capacity_plan/{id}": {
"get": {
"summary": "Retrieve capacity plan.",
"description": "Returns capacity plan specified by ID.",
"operationId": "GetCapacityPlan",
"responses": {
"200": {
"description": "A successful response.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/v202212GetCapacityPlanResponse"
}
}
}
},
"default": {
"description": "An unexpected error response.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/rpcStatus"
}
}
}
}
},
"parameters": [
{
"name": "id",
"description": "ID of the requested capacity plan",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"tags": [
"CapacityPlanService"
]
}
},
"/capacity_plan/v202212/capacity_plan/{id}/summary": {
"get": {
"summary": "Retrieve capacity plan summary.",
"description": "Returns capacity plan summary specified by ID.",
"operationId": "GetCapacitySummary",
"responses": {
"200": {
"description": "A successful response.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/v202212GetCapacitySummaryResponse"
}
}
}
},
"default": {
"description": "An unexpected error response.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/rpcStatus"
}
}
}
}
},
"parameters": [
{
"name": "id",
"description": "ID of the requested capacity plan summary",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"tags": [
"CapacityPlanService"
]
}
}
},
"security": [
{
"email": [],
"token": []
}
],
"externalDocs": {
"description": "General information about Kentik APIs",
"url": "https://kb.kentik.com/v0/Ab09.htm#Ab09-APIs_Overview"
},
"components": {
"securitySchemes": {
"email": {
"type": "apiKey",
"name": "X-CH-Auth-Email",
"in": "header"
},
"token": {
"type": "apiKey",
"name": "X-CH-Auth-API-Token",
"in": "header"
}
},
"schemas": {
"CapacityPlanInterfaceDetail": {
"type": "object",
"properties": {
"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
}
},
"title": "InterfaceDetail"
},
"CapacitySummaryInterfacesDetail": {
"type": "object",
"properties": {
"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": "#/components/schemas/InterfacesDetailStatusDetail"
},
"warning": {
"$ref": "#/components/schemas/InterfacesDetailStatusDetail"
},
"critical": {
"$ref": "#/components/schemas/InterfacesDetailStatusDetail"
}
},
"title": "InterfacesDetail"
},
"ConfigRunoutConfig": {
"type": "object",
"properties": {
"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
}
},
"title": "RunoutConfig"
},
"ConfigUtilConfig": {
"type": "object",
"properties": {
"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
}
},
"title": "UtilConfig"
},
"InterfacesDetailStatusDetail": {
"type": "object",
"properties": {
"bps": {
"type": "string",
"format": "uint64",
"description": "Bandwidth in bps",
"readOnly": true
},
"count": {
"type": "integer",
"format": "int64",
"description": "Number of interfaces",
"readOnly": true
}
},
"title": "StatusDetail"
},
"SummaryStatusRunoutStatus": {
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "Status of runout",
"readOnly": true
},
"earliestDate": {
"type": "string",
"format": "uint64",
"description": "Earliest runout date",
"readOnly": true
}
},
"title": "RunoutStatus"
},
"SummaryStatusUtilStatus": {
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "Status of utilization",
"readOnly": true
},
"highestPct": {
"type": "integer",
"format": "int64",
"description": "Highest utilization percentage",
"readOnly": true
}
},
"title": "UtilStatus"
},
"protobufAny": {
"type": "object",
"properties": {
"@type": {
"type": "string"
}
},
"additionalProperties": {}
},
"rpcStatus": {
"type": "object",
"properties": {
"code": {
"type": "integer",
"format": "int32"
},
"message": {
"type": "string"
},
"details": {
"type": "array",
"items": {
"$ref": "#/components/schemas/protobufAny"
}
}
}
},
"v202212CapacityPlan": {
"type": "object",
"properties": {
"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": "#/components/schemas/CapacityPlanInterfaceDetail"
},
"description": "List of interfaces",
"readOnly": true
},
"config": {
"$ref": "#/components/schemas/v202212Config"
},
"summaryStatus": {
"$ref": "#/components/schemas/v202212SummaryStatus"
}
},
"title": "CapacityPlan"
},
"v202212CapacitySummary": {
"type": "object",
"properties": {
"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": "#/components/schemas/CapacitySummaryInterfacesDetail"
},
"config": {
"$ref": "#/components/schemas/v202212Config"
},
"summaryStatus": {
"$ref": "#/components/schemas/v202212SummaryStatus"
}
},
"title": "CapacitySummary"
},
"v202212Config": {
"type": "object",
"properties": {
"runout": {
"$ref": "#/components/schemas/ConfigRunoutConfig"
},
"utilization": {
"$ref": "#/components/schemas/ConfigUtilConfig"
}
},
"title": "Config"
},
"v202212GetCapacityPlanResponse": {
"type": "object",
"properties": {
"capacity": {
"$ref": "#/components/schemas/v202212CapacityPlan"
}
},
"title": "GetCapacityPlanResponse"
},
"v202212GetCapacitySummaryResponse": {
"type": "object",
"properties": {
"capacity": {
"$ref": "#/components/schemas/v202212CapacitySummary"
}
},
"title": "GetCapacitySummaryResponse"
},
"v202212ListCapacityPlansResponse": {
"type": "object",
"properties": {
"capacity": {
"type": "array",
"items": {
"$ref": "#/components/schemas/v202212CapacityPlan"
},
"description": "List of capacity plans"
},
"invalidCount": {
"type": "integer",
"format": "int64",
"description": "Number of invalid entries encountered while collecting data"
}
},
"title": "ListCapacityPlansResponse"
},
"v202212ListCapacitySummariesResponse": {
"type": "object",
"properties": {
"capacity": {
"type": "array",
"items": {
"$ref": "#/components/schemas/v202212CapacitySummary"
},
"description": "List of capacity plan summaries"
},
"invalidCount": {
"type": "integer",
"format": "int64",
"description": "Number of invalid entries encountered while collecting data"
}
},
"title": "ListCapacitySummariesResponse"
},
"v202212SummaryStatus": {
"type": "object",
"properties": {
"runout": {
"$ref": "#/components/schemas/SummaryStatusRunoutStatus"
},
"utilization": {
"$ref": "#/components/schemas/SummaryStatusUtilStatus"
}
},
"title": "SummaryStatus"
}
}
}
}