--- title: "Site APIs" slug: "site-apis" description: "Learn how to utilize Kentik's Site APIs for managing sites and site markets, ensuring secure access to your organization's data." updated: 2026-02-20T15:49:10Z published: 2026-02-20T15:49:10Z canonical: "kb.kentik.com/site-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. # Site APIs This article covers how to get started with the Site 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 sites, start with [**About Sites**](/v1/docs/sites#about-sites). > - Protobuf and OpenAPI specifications for Kentik’s v6 APIs are available in our [**api-schema-public**](https://github.com/kentik/api-schema-public) repository. ## Site Usage The topics below provide important background information for the use of these APIs. ### Overview The Site Configuration API provides programmatic access to configuration of Sites and Site Markets: - **Site**: A site is a specific user-defined physical location (e.g., a data center at a given address) or logical location at which there is hosting of your devices, services, providers, or partner networks. Information that can be associated with a site includes the classification of IP addresses and the site's logical network topology/architecture. - **Site Market**: Sites with any common characteristics of your choosing (e.g., all PoPs in a particular region) can be logically grouped into a site market. Both REST endpoint and gRPC RPCs are provided. > [!NOTE] > **Notes:** > > - Once a site is created in Kentik, you can assign one or more devices to the site via the settings for those devices; to do so programmatically you'd use the v5 Device API (see [**Device Create**](/v1/docs/network-assets-apis#device-create)). > - Sites can also be managed using the legacy REST-only [**Site API**](/v1/docs/site-and-plan-apis), which provides access to a subset of site configuration attributes. ## Site 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). ### ListSiteMarkets **API: SiteService** | REST Method | REST Endpoint | Description | | --- | --- | --- | | GET | /site/v202211 /site_markets | Returns list of configured site markets. | | \| **Request body:** None **Parameters:** None \| **Response body:** [v202211ListSiteMarketsResponse](/v1/docs/site-apis#listsitemarketsresponse) \| \| --- \| --- \| | | **Request body:** None **Parameters:** None | **Response body:** [v202211ListSiteMarketsResponse](/v1/docs/site-apis#listsitemarketsresponse) | ### CreateSiteMarket **API: SiteService** | REST Method | REST Endpoint | Description | | --- | --- | --- | | POST | /site/v202211 /site_markets | Create configuration for a new site market. Returns the newly created configuration. | | \| **Request body**: [v202211CreateSiteMarketRequest](/v1/docs/site-apis#createsitemarketrequest) **Parameters**: None \| **Response body**: [v202211CreateSiteMarketResponse](/v1/docs/site-apis#createsitemarketresponse) \| \| --- \| --- \| | | **Request body**: [v202211CreateSiteMarketRequest](/v1/docs/site-apis#createsitemarketrequest) **Parameters**: None | **Response body**: [v202211CreateSiteMarketResponse](/v1/docs/site-apis#createsitemarketresponse) | ### GetSiteMarket **API: SiteService** | REST Method | REST Endpoint | Description | | --- | --- | --- | | GET | /site/v202211 /site_markets/{id} | Returns configuration of a site market specified by ID. | | \| **Request body:** None \| **Response body**: [v202211GetSiteMarketResponse](/v1/docs/site-apis#getsitemarketresponse) \| \| --- \| --- \| **Parameters**: \| Name \| Description \| Required \| Type \| \| --- \| --- \| --- \| --- \| \| id \| ID of the requested site market \| true \| string \| | | **Request body:** None | **Response body**: [v202211GetSiteMarketResponse](/v1/docs/site-apis#getsitemarketresponse) | | Name | Description | Required | Type | | id | ID of the requested site market | true | string | ### DeleteSiteMarket **API: SiteService** | REST Method | REST Endpoint | Description | | --- | --- | --- | | DELETE | /site/v202211 /site_markets/{id} | Deletes configuration of a site market with specific ID. | | \| **Request body**: None \| **Response body**: [v202211DeleteSiteMarketResponse](/v1/docs/site-apis#deletesitemarketresponse) \| \| --- \| --- \| **Parameters**: \| Name \| Description \| Required \| Type \| \| --- \| --- \| --- \| --- \| \| id \| ID of the site market to be deleted \| true \| string \| | | **Request body**: None | **Response body**: [v202211DeleteSiteMarketResponse](/v1/docs/site-apis#deletesitemarketresponse) | | Name | Description | Required | Type | | id | ID of the site market to be deleted | true | string | ### UpdateSiteMarket **API: SiteService** | REST Method | REST Endpoint | Description | | --- | --- | --- | | PUT | /site/v202211 /site_markets/{id} | Replaces configuration of a site market with attributes in the request. Returns the updated configuration. | | \| **Request body**: [v202211UpdateSiteMarketRequest](/v1/docs/site-apis#updatesitemarketrequest) \| **Response body**: [v202211UpdateSiteMarketResponse](/v1/docs/site-apis#updatesitemarketresponse) \| \| --- \| --- \| **Parameters**: \| Name \| Description \| Required \| Type \| \| --- \| --- \| --- \| --- \| \| id \| System generated unique identifier \| true \| string \| | | **Request body**: [v202211UpdateSiteMarketRequest](/v1/docs/site-apis#updatesitemarketrequest) | **Response body**: [v202211UpdateSiteMarketResponse](/v1/docs/site-apis#updatesitemarketresponse) | | Name | Description | Required | Type | | id | System generated unique identifier | true | string | ### ListSites **API: SiteService** | REST Method | REST Endpoint | Description | | --- | --- | --- | | GET | /site/v202211 /sites | Returns list of configured sites. | | \| **Request body:** None **Parameters:** None \| **Response body:** [v202211ListSitesResponse](/v1/docs/site-apis#listsitesresponse) \| \| --- \| --- \| | | **Request body:** None **Parameters:** None | **Response body:** [v202211ListSitesResponse](/v1/docs/site-apis#listsitesresponse) | ### CreateSite **API: SiteService** | REST Method | REST Endpoint | Description | | --- | --- | --- | | POST | /site/v202211 /sites | Create configuration for a new site. Returns the newly created configuration. | | \| **Request body**: [v202211CreateSiteRequest](/v1/docs/site-apis#createsiterequest) **Parameters**: None \| **Response body**: [v202211CreateSiteResponse](/v1/docs/site-apis#createsiteresponse) \| \| --- \| --- \| | | **Request body**: [v202211CreateSiteRequest](/v1/docs/site-apis#createsiterequest) **Parameters**: None | **Response body**: [v202211CreateSiteResponse](/v1/docs/site-apis#createsiteresponse) | ### GetSite **API: SiteService** | REST Method | REST Endpoint | Description | | --- | --- | --- | | GET | /site/v202211 /sites/{id} | Returns configuration of a site specified by ID. | | \| **Request body**: None \| **Response body**: [v202211GetSiteResponse](/v1/docs/site-apis#getsiteresponse) \| \| --- \| --- \| **Parameters**: \| Name \| Description \| Required \| Type \| \| --- \| --- \| --- \| --- \| \| id \| ID of the requested site \| true \| string \| | | **Request body**: None | **Response body**: [v202211GetSiteResponse](/v1/docs/site-apis#getsiteresponse) | | Name | Description | Required | Type | | id | ID of the requested site | true | string | ### DeleteSite **API: SiteService** | REST Method | REST Endpoint | Description | | --- | --- | --- | | DELETE | /site/v202211 /sites/{id} | Deletes configuration of a site with specific ID. | | \| **Request body**: None \| **Response body**: [v202211DeleteSiteResponse](/v1/docs/site-apis#deletesiteresponse) \| \| --- \| --- \| **Parameters**: \| Name \| Description \| Required \| Type \| \| --- \| --- \| --- \| --- \| \| id \| ID of the site to be deleted \| true \| string \| | | **Request body**: None | **Response body**: [v202211DeleteSiteResponse](/v1/docs/site-apis#deletesiteresponse) | | Name | Description | Required | Type | | id | ID of the site to be deleted | true | string | ### UpdateSite **API: SiteService** | REST Method | REST Endpoint | Description | | --- | --- | --- | | PUT | /site/v202211 /sites/{id} | Replaces configuration of a site with attributes in the request. Returns the updated configuration. | | \| **Request body**: [v202211UpdateSiteRequest](/v1/docs/site-apis#updatesiterequest) \| **Response body**: [v202211UpdateSiteResponse](/v1/docs/site-apis#updatesiteresponse) \| \| --- \| --- \| **Parameters**: \| Name \| Description \| Required \| Type \| \| --- \| --- \| --- \| --- \| \| id \| System generated unique identifier \| true \| string \| | | **Request body**: [v202211UpdateSiteRequest](/v1/docs/site-apis#updatesiterequest) | **Response body**: [v202211UpdateSiteResponse](/v1/docs/site-apis#updatesiteresponse) | | Name | Description | Required | Type | | id | System generated unique identifier | true | string | ## Site 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/site-apis#protobufany) \| | | Name | Value | | code | type: integer format: int32 | | message | type: string | | details | type: array items: $ref: [protobufAny](/v1/docs/site-apis#protobufany) | #### CreateSiteMarketRequest | **Schema:** v202211CreateSiteMarketRequest | **Type:** object | | --- | --- | | **Properties**: \| Name \| Value \| \| --- \| --- \| \| siteMarket \| $ref: [v202211SiteMarket](/v1/docs/site-apis#createsitemarketrequest) \| | | Name | Value | | siteMarket | $ref: [v202211SiteMarket](/v1/docs/site-apis#createsitemarketrequest) | #### CreateSiteMarketResponse | **Schema:** v202211CreateSiteMarketResponse | **Type:** object | | --- | --- | | **Properties**: \| Name \| Value \| \| --- \| --- \| \| siteMarket \| $ref: [v202211SiteMarket](/v1/docs/site-apis#createsitemarketresponse) \| | | Name | Value | | siteMarket | $ref: [v202211SiteMarket](/v1/docs/site-apis#createsitemarketresponse) | #### CreateSiteRequest | **Schema:** v202211CreateSiteRequest | **Type:** object | | --- | --- | | **Properties**: \| Name \| Value \| \| --- \| --- \| \| site \| $ref: [v202211Site](/v1/docs/site-apis#createsiterequest) \| | | Name | Value | | site | $ref: [v202211Site](/v1/docs/site-apis#createsiterequest) | #### CreateSiteResponse | **Schema:** v202211CreateSiteResponse | **Type:** object | | --- | --- | | **Properties**: \| Name \| Value \| \| --- \| --- \| \| site \| $ref: [v202211Site](/v1/docs/site-apis#createsiteresponse) \| | | Name | Value | | site | $ref: [v202211Site](/v1/docs/site-apis#createsiteresponse) | #### DeleteSiteMarketResponse | **Schema:** v202211DeleteSiteMarketResponse | **Type:** object | | --- | --- | | **Properties**: None. | #### DeleteSiteResponse | **Schema:** v202211DeleteSiteResponse | **Type:** object | | --- | --- | | **Properties**: None. | #### GetSiteMarketResponse | **Schema:** v202211GetSiteMarketResponse | **Type:** object | | --- | --- | | **Properties**: \| Name \| Value \| \| --- \| --- \| \| siteMarket \| $ref: [v202211SiteMarket](/v1/docs/site-apis#getsitemarketresponse) \| | | Name | Value | | siteMarket | $ref: [v202211SiteMarket](/v1/docs/site-apis#getsitemarketresponse) | #### GetSiteResponse | **Schema:** v202211GetSiteResponse | **Type:** object | | --- | --- | | **Properties**: \| Name \| Value \| \| --- \| --- \| \| site \| $ref: [v202211Site](/v1/docs/site-apis#getsiteresponse) \| | | Name | Value | | site | $ref: [v202211Site](/v1/docs/site-apis#getsiteresponse) | #### Layer | **Schema:** v202211Layer | **Type:** object | | --- | --- | | **Properties**: \| Name \| Value \| \| --- \| --- \| \| name \| type: string description: Name of the network layer \| \| deviceIds \| type: array items: type: string description: IDs of devices that are deemed to be part of the network layer \| | | Name | Value | | name | type: string description: Name of the network layer | | deviceIds | type: array items: type: string description: IDs of devices that are deemed to be part of the network layer | #### LayerSet | **Schema:** v202211LayerSet | **Type:** object | | --- | --- | | **Properties**: \| Name \| Value \| \| --- \| --- \| \| layers \| type: array items: $ref: [v202211Layer](/v1/docs/site-apis#layerset) description: List of parallel network layers \| | | Name | Value | | layers | type: array items: $ref: [v202211Layer](/v1/docs/site-apis#layerset) description: List of parallel network layers | #### ListSiteMarketsResponse | **Schema:** v202211ListSiteMarketsResponse | **Type:** object | | --- | --- | | **Properties**: \| Name \| Value \| \| --- \| --- \| \| siteMarkets \| type: array items: $ref: [v202211SiteMarket](/v1/docs/site-apis#listsitemarketsresponse) description: List of configurations of requested site markets \| \| invalidCount \| type: integer format: int64 description: Number of invalid entries encountered while collecting data \| | | Name | Value | | siteMarkets | type: array items: $ref: [v202211SiteMarket](/v1/docs/site-apis#listsitemarketsresponse) description: List of configurations of requested site markets | | invalidCount | type: integer format: int64 description: Number of invalid entries encountered while collecting data | #### ListSitesResponse | **Schema:** v202211ListSitesResponse | **Type:** object | | --- | --- | | **Properties**: \| Name \| Value \| \| --- \| --- \| \| sites \| type: array items: $ref: [v202211Site](/v1/docs/site-apis#listsitesresponse) description: List of configurations of requested sites \| \| invalidCount \| type: integer format: int64 description: Number of invalid entries encountered while collecting data \| | | Name | Value | | sites | type: array items: $ref: [v202211Site](/v1/docs/site-apis#listsitesresponse) description: List of configurations of requested sites | | invalidCount | type: integer format: int64 description: Number of invalid entries encountered while collecting data | #### PostalAddress | **Schema:** v202211PostalAddress | **Type:** object | | --- | --- | | **Properties (* = required)** \| Name \| Value \| \| --- \| --- \| \| address * \| type: string description: Street address \| \| city * \| type: string description: City (full name) \| \| region \| type: string description: Geographical region \| \| postalCode \| type: string description: Country specific postal code \| \| country * \| type: string description: Country (full name or country code) \| | | Name | Value | | address * | type: string description: Street address | | city * | type: string description: City (full name) | | region | type: string description: Geographical region | | postalCode | type: string description: Country specific postal code | | country * | type: string description: Country (full name or country code) | #### Site | **Schema:** v202211Site | **Type:** object | | --- | --- | | **Properties (* = required)** \| Name \| Value \| \| --- \| --- \| \| id \| type: string description: System generated unique identifier readOnly: true \| \| title * \| type: string description: User selected title/name \| \| lat \| type: number format: double description: Latitude (signed decimal degrees) \| \| lon \| type: number format: double description: Longitude (signed decimal degrees) \| \| postalAddress \| $ref: [v202211PostalAddress](/v1/docs/site-apis#postaladdress) \| \| type \| $ref: [v202211SiteType](/v1/docs/site-apis#sitetype) \| \| addressClassification \| $ref: [v202211SiteIpAddressClassification](/v1/docs/site-apis#siteipaddressclassification) \| \| architecture \| type: array items: $ref: [v202211LayerSet](/v1/docs/site-apis#layerset) description: Logical network topology/architecture \| \| siteMarket \| type: string description: Name of the Site Market this sire belongs to \| | | Name | Value | | id | type: string description: System generated unique identifier readOnly: true | | title * | type: string description: User selected title/name | | lat | type: number format: double description: Latitude (signed decimal degrees) | | lon | type: number format: double description: Longitude (signed decimal degrees) | | postalAddress | $ref: [v202211PostalAddress](/v1/docs/site-apis#postaladdress) | | type | $ref: [v202211SiteType](/v1/docs/site-apis#sitetype) | | addressClassification | $ref: [v202211SiteIpAddressClassification](/v1/docs/site-apis#siteipaddressclassification) | | architecture | type: array items: $ref: [v202211LayerSet](/v1/docs/site-apis#layerset) description: Logical network topology/architecture | | siteMarket | type: string description: Name of the Site Market this sire belongs to | #### SiteIpAddressClassification | **Schema:** v202211SiteIpAddressClassification | **Type:** object | | --- | --- | | **Properties**: \| Name \| Value \| \| --- \| --- \| \| infrastructureNetworks \| type: array items: type: string description List of IP address prefixes (in standard CIDR notation) used in infrastructure networks \| \| userAccessNetworks \| type: array items: type: string description: List of IP address prefixes (in standard CIDR notation) used in access networks \| \| otherNetworks \| type: array items: type: string description: List of IP address prefixes (in standard CIDR notation) used in other networks \| | | Name | Value | | infrastructureNetworks | type: array items: type: string description List of IP address prefixes (in standard CIDR notation) used in infrastructure networks | | userAccessNetworks | type: array items: type: string description: List of IP address prefixes (in standard CIDR notation) used in access networks | | otherNetworks | type: array items: type: string description: List of IP address prefixes (in standard CIDR notation) used in other networks | #### SiteMarket | **Schema:** v202211SiteMarket | **Type:** object | | --- | --- | | **Properties (* = required)** \| Name \| Value \| \| --- \| --- \| \| id \| type: string description: System generated unique identifier readOnly: true \| \| name * \| type: string description: User selected unique name \| \| description \| type: string description: Free-form description \| \| numberOfSites \| type: integer format: int64 description: Number of sites in this market readOnly: true \| \| cdate \| type: string format: date-time description: Creation timestamp (UTC) readOnly: true \| \| edate \| type: string format: date-time description: Last modification timestamp (UTC) readOnly: true \| | | Name | Value | | id | type: string description: System generated unique identifier readOnly: true | | name * | type: string description: User selected unique name | | description | type: string description: Free-form description | | numberOfSites | type: integer format: int64 description: Number of sites in this market readOnly: true | | cdate | type: string format: date-time description: Creation timestamp (UTC) readOnly: true | | edate | type: string format: date-time description: Last modification timestamp (UTC) readOnly: true | #### SiteType | **Schema:** v202211SiteType | **Type:** string | | --- | --- | | **Attributes**: \| Key \| Value \| \| --- \| --- \| \| enum \| SITE_TYPE_UNSPECIFIED, SITE_TYPE_DATA_CENTER, SITE_TYPE_CLOUD, SITE_TYPE_BRANCH, SITE_TYPE_CONNECTIVITY, SITE_TYPE_CUSTOMER, SITE_TYPE_OTHER \| \| default \| SITE_TYPE_UNSPECIFIED \| \| description \| • SITE_TYPE_UNSPECIFIED: Invalid value. • SITE_TYPE_DATA_CENTER: Data center site type. • SITE_TYPE_CLOUD: Cloud site type. • SITE_TYPE_BRANCH: Branch office site type. • SITE_TYPE_CONNECTIVITY: Connectivity/PoP site type. • SITE_TYPE_CUSTOMER: Customer/partner site type. • SITE_TYPE_OTHER: Other site type. \| | | Key | Value | | enum | SITE_TYPE_UNSPECIFIED, SITE_TYPE_DATA_CENTER, SITE_TYPE_CLOUD, SITE_TYPE_BRANCH, SITE_TYPE_CONNECTIVITY, SITE_TYPE_CUSTOMER, SITE_TYPE_OTHER | | default | SITE_TYPE_UNSPECIFIED | | description | • SITE_TYPE_UNSPECIFIED: Invalid value. • SITE_TYPE_DATA_CENTER: Data center site type. • SITE_TYPE_CLOUD: Cloud site type. • SITE_TYPE_BRANCH: Branch office site type. • SITE_TYPE_CONNECTIVITY: Connectivity/PoP site type. • SITE_TYPE_CUSTOMER: Customer/partner site type. • SITE_TYPE_OTHER: Other site type. | #### UpdateSiteMarketRequest | **Schema:** v202211UpdateSiteMarketRequest | **Type:** object | | --- | --- | | **Properties**: \| Name \| Value \| \| --- \| --- \| \| siteMarket \| $ref: [v202211SiteMarket](/v1/docs/site-apis#updatesitemarketrequest) \| | | Name | Value | | siteMarket | $ref: [v202211SiteMarket](/v1/docs/site-apis#updatesitemarketrequest) | #### UpdateSiteMarketResponse | **Schema:** v202211UpdateSiteMarketResponse | **Type:** object | | --- | --- | | **Properties**: \| Name \| Value \| \| --- \| --- \| \| siteMarket \| $ref: [v202211SiteMarket](/v1/docs/site-apis#updatesitemarketresponse) \| | | Name | Value | | siteMarket | $ref: [v202211SiteMarket](/v1/docs/site-apis#updatesitemarketresponse) | #### UpdateSiteRequest | **Schema:** v202211UpdateSiteRequest | **Type:** object | | --- | --- | | **Properties**: \| Name \| Value \| \| --- \| --- \| \| site \| $ref: [v202211Site](/v1/docs/site-apis#updatesiterequest) \| | | Name | Value | | site | $ref: [v202211Site](/v1/docs/site-apis#updatesiterequest) | #### UpdateSiteResponse | **Schema:** v202211UpdateSiteResponse | **Type:** object | | --- | --- | | **Properties**: \| Name \| Value \| \| --- \| --- \| \| site \| $ref: [v202211Site](/v1/docs/site-apis#updatesiteresponse) \| | | Name | Value | | site | $ref: [v202211Site](/v1/docs/site-apis#updatesiteresponse) |