Kentik Capacity Planning API (v6)

Create capacity plans that track interface and link utilization against thresholds.

OpenAPI Specification

kentik-capacity-plan-openapi.json Raw ↑
{
    "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"
            }
        }
    }
}