Kentik My Kentik Portal (MKP) API (v6)

Manage multi-tenant My Kentik Portal tenants for white-label / service-provider portals.

OpenAPI Specification

kentik-mkp-openapi.json Raw ↑
{
    "openapi": "3.0.0",
    "info": {
        "title": "MKP API",
        "description": "# Overview\nMy Kentik Portal API enables programmatic access to tenants and package templates.\n| Endpoint | Purpose |\n|-----------|---------|\n| TenantService  | CRUD operations for MKP tenants. |\n| PackageService | CRUD operations for MKP templates. |\n\nBoth REST endpoint and gRPC RPCs are provided.\n\n\n # Tenant Attributes and Settings\n| Attribute | Access | Purpose |\n|-----------|--------|---------|\n| id | RO | System-generated unique identifier of the tenant |\n| company_id | RO | System-generated unique identifier of the company |\n| name | RW | User specified name for the tenant |\n| description | RW | User specified description for the tenant |\n| type | RO | subtenant |\n| enabled | RW | User specified tenant active status |\n| cdate | RO | Creation timestamp |\n| edate | RO | Last-modification timestamp |\n| alerts | RO | Alert policy configurations |\n| assets | RW | dashboard, views, and templates associate with tenant |\n| asn | RW | ASN data source |\n| cidr | RW | CIDR data source |\n| custom_dimensions | RW | Custom dimension data source |\n| devices | RW | Devices data source |\n| filters | RW | Data source filters |\n| interface_name | RW | Interface source filters |\n| snmp_alias | RW | SNMP source filters |\n| packages | RO | Package templates use by the tenant |\n| users | RO | Users assign to the tenant |\n| template_id | WO | Update tenant's packages setting with package/template id |\n\n\n # Package Attributes and Settings\n| Attribute | Access | Purpose |\n|-----------|--------|---------|\n| id | RO | System-generated unique identifier of the package |\n| company_id | RO | System-generated unique identifier of the company |\n| name | RW | User specified name for the package template |\n| description | RW | User specified description for the package template |\n| icon | RO | User specified icon |\n| color | RW | User specified color of icon |\n| alerts | RO | Alert policy configurations |\n| assets | RW | dashboard, views, and templates associate with tenant |\n| is_default | RW | Default package template to include for new tenant |\n| tenants | RO | Tenants using this package template |\n\n\n",
        "version": "v202407",
        "contact": {
            "name": "Kentik API Engineering",
            "url": "https://github.com/kentik/api-schema-public"
        }
    },
    "tags": [
        {
            "name": "PackageService"
        },
        {
            "name": "TenantService"
        },
        {
            "name": "TenantUserService"
        }
    ],
    "paths": {
        "/mkp/v202407/packages": {
            "get": {
                "summary": "List MKP packages.",
                "description": "Returns a list of MKP packages.",
                "operationId": "PackageList",
                "responses": {
                    "200": {
                        "description": "A successful response.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/v202407ListPackageResponse"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "An unexpected error response.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/rpcStatus"
                                }
                            }
                        }
                    }
                },
                "tags": [
                    "PackageService"
                ]
            },
            "post": {
                "summary": "Create a package template.",
                "description": "Create package from request. returns created package.",
                "operationId": "PackageCreate",
                "responses": {
                    "200": {
                        "description": "A successful response.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/v202407CreatePackageResponse"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "An unexpected error response.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/rpcStatus"
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/v202407CreatePackageRequest"
                            }
                        }
                    },
                    "required": true
                },
                "tags": [
                    "PackageService"
                ]
            }
        },
        "/mkp/v202407/packages/{id}": {
            "get": {
                "summary": "Get information aboout a package.",
                "description": "Returns information about package specified with ID.",
                "operationId": "PackageGet",
                "responses": {
                    "200": {
                        "description": "A successful response.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/v202407GetPackageResponse"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "An unexpected error response.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/rpcStatus"
                                }
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "tags": [
                    "PackageService"
                ]
            },
            "delete": {
                "summary": "Delete a package.",
                "description": "Deletes the package specified with id.",
                "operationId": "PackageDelete",
                "responses": {
                    "200": {
                        "description": "A successful response.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/v202407DeletePackageResponse"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "An unexpected error response.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/rpcStatus"
                                }
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "tags": [
                    "PackageService"
                ]
            },
            "put": {
                "summary": "Update a package.",
                "description": "Update package attributes specified with id.",
                "operationId": "PackageUpdate",
                "responses": {
                    "200": {
                        "description": "A successful response.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/v202407UpdatePackageResponse"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "An unexpected error response.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/rpcStatus"
                                }
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "id",
                        "description": "Unique system assigned identifier of the package",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/PackageServiceUpdatePackageBody"
                            }
                        }
                    },
                    "required": true
                },
                "tags": [
                    "PackageService"
                ]
            }
        },
        "/mkp/v202407/tenants": {
            "get": {
                "summary": "List MKP tenants.",
                "description": "Returns a list of MKP tenants.",
                "operationId": "TenantList",
                "responses": {
                    "200": {
                        "description": "A successful response.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/v202407ListTenantResponse"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "An unexpected error response.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/rpcStatus"
                                }
                            }
                        }
                    }
                },
                "tags": [
                    "TenantService"
                ]
            },
            "post": {
                "summary": "Create a tenant.",
                "description": "Create tenant from request. returns created tenant.",
                "operationId": "TenantCreate",
                "responses": {
                    "200": {
                        "description": "A successful response.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/v202407CreateTenantResponse"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "An unexpected error response.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/rpcStatus"
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/v202407CreateTenantRequest"
                            }
                        }
                    },
                    "required": true
                },
                "tags": [
                    "TenantService"
                ]
            }
        },
        "/mkp/v202407/tenants/{id}": {
            "get": {
                "summary": "Get information aboout a tenant.",
                "description": "Returns information about package specified with ID.",
                "operationId": "TenantGet",
                "responses": {
                    "200": {
                        "description": "A successful response.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/v202407GetTenantResponse"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "An unexpected error response.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/rpcStatus"
                                }
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "tags": [
                    "TenantService"
                ]
            },
            "delete": {
                "summary": "Delete a tenant.",
                "description": "Deletes the tenant specified with id.",
                "operationId": "TenantDelete",
                "responses": {
                    "200": {
                        "description": "A successful response.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/v202407DeleteTenantResponse"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "An unexpected error response.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/rpcStatus"
                                }
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "tags": [
                    "TenantService"
                ]
            },
            "put": {
                "summary": "Update a tenant.",
                "description": "Update tenant attributes specified with id.",
                "operationId": "TenantUpdate",
                "responses": {
                    "200": {
                        "description": "A successful response.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/v202407UpdateTenantResponse"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "An unexpected error response.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/rpcStatus"
                                }
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "id",
                        "description": "Unique system assigned identifier of the tenant",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/TenantServiceUpdateTenantBody"
                            }
                        }
                    },
                    "required": true
                },
                "tags": [
                    "TenantService"
                ]
            }
        },
        "/mkp/v202407/tenants/{tenantId}/users": {
            "get": {
                "summary": "List users for a tenant.",
                "description": "Returns a list of users associated with the specified tenant.",
                "operationId": "TenantUserList",
                "responses": {
                    "200": {
                        "description": "A successful response.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/v202407ListTenantUserResponse"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "An unexpected error response.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/rpcStatus"
                                }
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "tenantId",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "tags": [
                    "TenantUserService"
                ]
            },
            "post": {
                "summary": "Add a user to a tenant.",
                "description": "Creates a user association with the specified tenant.",
                "operationId": "TenantUserCreate",
                "responses": {
                    "200": {
                        "description": "A successful response.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/v202407CreateTenantUserResponse"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "An unexpected error response.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/rpcStatus"
                                }
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "tenantId",
                        "description": "Unique identifier of the tenant the user belongs to",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/TenantUserServiceCreateTenantUserBody"
                            }
                        }
                    },
                    "required": true
                },
                "tags": [
                    "TenantUserService"
                ]
            }
        },
        "/mkp/v202407/tenants/{tenantId}/users/{id}": {
            "delete": {
                "summary": "Remove a user from a tenant.",
                "description": "Deletes the user association with the specified tenant.",
                "operationId": "TenantUserDelete",
                "responses": {
                    "200": {
                        "description": "A successful response.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/v202407DeleteTenantUserResponse"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "An unexpected error response.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/rpcStatus"
                                }
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "tenantId",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "tags": [
                    "TenantUserService"
                ]
            },
            "put": {
                "summary": "Update a tenant user.",
                "description": "Updates the user associated with the specified tenant and user ID.",
                "operationId": "TenantUserUpdate",
                "responses": {
                    "200": {
                        "description": "A successful response.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/v202407UpdateTenantUserResponse"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "An unexpected error response.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/rpcStatus"
                                }
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "tenantId",
                        "description": "Unique identifier of the tenant the user belongs to",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "id",
                        "description": "Unique system assigned identifier of the user",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/TenantUserServiceUpdateTenantUserBody"
                            }
                        }
                    },
                    "required": true
                },
                "tags": [
                    "TenantUserService"
                ]
            }
        }
    },
    "security": [
        {
            "email": [],
            "token": []
        }
    ],
    "externalDocs": {
        "description": "More about Kentik APIs",
        "url": "https://docs.kentik.com/api"
    },
    "components": {
        "securitySchemes": {
            "email": {
                "type": "apiKey",
                "name": "X-CH-Auth-Email",
                "in": "header"
            },
            "token": {
                "type": "apiKey",
                "name": "X-CH-Auth-API-Token",
                "in": "header"
            }
        },
        "schemas": {
            "AssetReport": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "type": {
                        "type": "string"
                    }
                }
            },
            "PackageServiceUpdatePackageBody": {
                "type": "object",
                "properties": {
                    "package": {
                        "type": "object",
                        "properties": {
                            "companyId": {
                                "type": "string",
                                "description": "Company id of the associated package",
                                "readOnly": true
                            },
                            "name": {
                                "type": "string",
                                "description": "Name of package template",
                                "readOnly": true
                            },
                            "description": {
                                "type": "string",
                                "description": "Description of package template",
                                "readOnly": true
                            },
                            "icon": {
                                "type": "string",
                                "description": "Icon to display",
                                "readOnly": true
                            },
                            "color": {
                                "type": "string",
                                "description": "Color of Icon",
                                "readOnly": true
                            },
                            "alerts": {
                                "type": "array",
                                "items": {
                                    "$ref": "#/components/schemas/v202407Alert"
                                },
                                "description": "Alert thresholds and policies",
                                "readOnly": true
                            },
                            "assets": {
                                "$ref": "#/components/schemas/v202407Asset"
                            },
                            "isDefault": {
                                "type": "boolean",
                                "description": "Is default template",
                                "readOnly": true
                            },
                            "tenants": {
                                "type": "array",
                                "items": {
                                    "$ref": "#/components/schemas/v202407TenantLink"
                                },
                                "description": "Tenant link information",
                                "readOnly": true
                            }
                        },
                        "title": "Package"
                    }
                },
                "title": "UpdatePackageRequest"
            },
            "TenantServiceUpdateTenantBody": {
                "type": "object",
                "properties": {
                    "tenant": {
                        "type": "object",
                        "properties": {
                            "companyId": {
                                "type": "string",
                                "description": "Company id of the associated package",
                                "readOnly": true
                            },
                            "name": {
                                "type": "string",
                                "description": "Name of tenant",
                                "readOnly": true
                            },
                            "description": {
                                "type": "string",
                                "description": "Description of tenant",
                                "readOnly": true
                            },
                            "type": {
                                "type": "string",
                                "description": "Subtenant",
                                "readOnly": true
                            },
                            "enabled": {
                                "type": "boolean",
                                "description": "Is tenant actively enable",
                                "readOnly": true
                            },
                            "alerts": {
                                "type": "array",
                                "items": {
                                    "$ref": "#/components/schemas/v202407Alert"
                                },
                                "description": "Alert thresholds and policies",
                                "title": "config object",
                                "readOnly": true
                            },
                            "assets": {
                                "$ref": "#/components/schemas/v202407Asset"
                            },
                            "asn": {
                                "type": "string",
                                "description": "ASN data source.",
                                "readOnly": true
                            },
                            "cidr": {
                                "type": "string",
                                "description": "CIDR data source.",
                                "readOnly": true
                            },
                            "customDimensions": {
                                

# --- truncated at 32 KB (65 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/kentik/refs/heads/main/openapi/kentik-mkp-openapi.json