> For the complete documentation index, see [llms.txt](https://developer.collibra.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://developer.collibra.com/api/references/edge/sites.md).

# Sites

Edge sites.

## List sites

> Returns a list of Edge sites.

```json
{"openapi":"3.1.0","info":{"title":"Collibra Edge API","version":"1.0.2"},"tags":[{"name":"Sites","description":"Edge sites."}],"servers":[{"url":"/rest/edge/v1"}],"security":[{"basicAuth":[]}],"components":{"securitySchemes":{"basicAuth":{"description":"Collibra REST API authentication using Basic Authentication.","scheme":"basic","type":"http"}},"schemas":{"SiteListResponse":{"type":"object","description":"List of Edge sites. The number of sites per environment is expected to remain small, so the full list is always returned in a single response. Pagination is intentionally omitted.\n","required":["results"],"properties":{"results":{"type":"array","items":{"$ref":"#/components/schemas/Site"}}}},"Site":{"type":"object","description":"An Edge site.","required":["id","name","type","status","createdOn"],"properties":{"id":{"type":"string","format":"uuid","description":"Unique identifier of the Edge site."},"name":{"type":"string","description":"Human-readable name of the Edge site.","maxLength":100},"description":{"type":"string","description":"Optional description of the Edge site.","maxLength":255},"createdOn":{"type":"string","format":"date-time","description":"Timestamp when the Edge site was created."},"type":{"type":"string","description":"Deployment type of the Edge site.\nPossible values are:\n* `ON_PREM`\n* `COLLIBRA_HOSTED`\n* `AIR_GAPPED`\n* `FEDRAMP`\n"},"status":{"type":"string","description":"Current status of the Edge site. Values are reported in this precedence order\n(top-of-list wins):\n* `PENDING` — installed but has never contacted the platform\n* `OFFLINE` — no recent heartbeat (overrides `UPGRADING`/`HEALTHY`/`UNHEALTHY`)\n* `UPGRADING` — an upgrade to `pendingVersion` is in progress (overrides `HEALTHY`/`UNHEALTHY`)\n* `HEALTHY`\n* `UNHEALTHY`\n\nNote: `pendingVersion` may be set even when `status` is `OFFLINE` or `PENDING` — it\nreflects the desired version regardless of whether the upgrade is currently active.\n"},"currentVersion":{"type":"string","maxLength":100,"description":"Currently installed Edge version. Absent if the site has not reported a version yet."},"pendingVersion":{"type":"string","maxLength":100,"description":"Edge version the site should be upgrading or installing to. Absent when the site is already at its desired version.\n"}}},"ErrorResponse":{"type":"object","description":"Standard error response returned by the API when an operation fails.","required":["statusCode","errorCode"],"properties":{"statusCode":{"type":"integer","description":"HTTP status code."},"titleMessage":{"type":"string","description":"Short title describing the error category."},"helpMessage":{"type":"string","description":"Additional guidance for resolving the error."},"userMessage":{"type":"string","description":"Human-readable message describing what went wrong."},"errorCode":{"type":"string","description":"Machine-readable error code for programmatic handling."}}}},"responses":{"Unauthorized":{"description":"Unauthorized — authentication is required or the provided credentials are invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Forbidden":{"description":"Forbidden — insufficient permissions.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"UnexpectedError":{"description":"Unexpected error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/sites":{"get":{"operationId":"listSites","tags":["Sites"],"summary":"List sites","description":"Returns a list of Edge sites.","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SiteListResponse"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"500":{"$ref":"#/components/responses/UnexpectedError"}}}}}}
```

## Create site

> Create new Edge site.

```json
{"openapi":"3.1.0","info":{"title":"Collibra Edge API","version":"1.0.2"},"tags":[{"name":"Sites","description":"Edge sites."}],"servers":[{"url":"/rest/edge/v1"}],"security":[{"basicAuth":[]}],"components":{"securitySchemes":{"basicAuth":{"description":"Collibra REST API authentication using Basic Authentication.","scheme":"basic","type":"http"}},"schemas":{"SiteCreate":{"type":"object","description":"An Edge site create DTO.","required":["name","type"],"properties":{"name":{"type":"string","description":"Human-readable name of the Edge site. Site names are unique - creating a site with a name that is already in use returns a 409 with error code `siteNameAlreadyExists`.\n","minLength":1,"maxLength":100,"pattern":"^[a-zA-Z0-9_.-]+$"},"description":{"type":"string","description":"Optional description of the Edge site. If provided, must not be empty - omit the field entirely when no description is wanted.\n","maxLength":255,"pattern":".*\\S.*"},"version":{"type":"string","description":"Optional Edge chart version to install, in the Edge release version format `<year>.<month>.<patch>[-<tag>]`, e.g. `2026.06.1-3` (the same format reported by `Site.currentVersion` and `Site.pendingVersion`). If omitted, the site is created with the latest available version. Required for `AIR_GAPPED` sites.\n","maxLength":100,"pattern":"^(2[0-9]{3})\\.(0?[1-9]|1[0-2])(\\.\\d+)(-.*)?$"},"type":{"type":"string","description":"Deployment type of the Edge site. Only `ON_PREM` and `AIR_GAPPED` sites can be\ncreated via this endpoint; any other value (e.g. `COLLIBRA_HOSTED`, `FEDRAMP`) is\nrejected with a 400 — Collibra Cloud sites are provisioned by Collibra.\nPossible values are:\n* `ON_PREM`\n* `AIR_GAPPED`\n"},"autoUpgradeEnabled":{"type":"boolean","default":true,"description":"Whether the Edge site should be automatically upgraded to the latest available version as new versions are released. Defaults to `true` for `ON_PREM` sites - set to `false` to opt out of automatic upgrades and manage the site's version manually. For `AIR_GAPPED` sites this must be set explicitly to `false` (the `true` default does not apply); omitting it or setting `true` is rejected with a 400. The stored value is reported back as `SiteDetail.autoUpgradeEnabled` and drives `SiteDetail.upgradeMode` (`AUTOMATIC`/`MANUAL`).\n"}}},"SiteDetail":{"description":"Detailed representation of an Edge site. Extends the `Site` summary returned by the list endpoint; fields that are too detailed for the list response are added here.\n","allOf":[{"$ref":"#/components/schemas/Site"},{"type":"object","required":["sparkEnabled","upgradeMode","autoUpgradeEnabled"],"properties":{"sparkEnabled":{"type":"boolean","description":"Whether Spark-based processing is enabled on the Edge site."},"autoUpgradeEnabled":{"type":"boolean","description":"Whether the Edge site is configured to be automatically upgraded to the latest available version as new versions are released. Reflects the `autoUpgradeEnabled` value from the create/update request. Note that `upgradeMode` values `EXTERNAL` and `LEGACY` take precedence over this setting - a site whose upgrades are managed externally is never auto-upgraded by Collibra regardless of this value.\n"},"upgradeMode":{"type":"string","description":"How Edge version upgrades are applied to the site.\nPossible values are:\n* `AUTOMATIC` — the site is upgraded automatically when a new Edge version is released\n* `MANUAL` — upgrades must be triggered explicitly\n* `EXTERNAL` — upgrades are managed outside of Collibra. Reported for air-gapped installations and for sites explicitly marked as externally managed.\n* `LEGACY` — the site predates managed upgrades and has not reported a version yet\n\n`AUTOMATIC` and `MANUAL` reflect the site's `autoUpgradeEnabled` setting;\n`EXTERNAL` and `LEGACY` take precedence over it.\n"},"lastModifiedOn":{"type":"string","format":"date-time","description":"Timestamp when the site was last modified. Modification events include configuration changes, restores, upgrade-mode changes, and Edge version changes (requested or completed). Site creation itself counts as a modification, so newly-created sites have `lastModifiedOn` equal to `createdOn`. The field is absent only for legacy sites that predate the site event log and have no recorded history.\n"}}}]},"Site":{"type":"object","description":"An Edge site.","required":["id","name","type","status","createdOn"],"properties":{"id":{"type":"string","format":"uuid","description":"Unique identifier of the Edge site."},"name":{"type":"string","description":"Human-readable name of the Edge site.","maxLength":100},"description":{"type":"string","description":"Optional description of the Edge site.","maxLength":255},"createdOn":{"type":"string","format":"date-time","description":"Timestamp when the Edge site was created."},"type":{"type":"string","description":"Deployment type of the Edge site.\nPossible values are:\n* `ON_PREM`\n* `COLLIBRA_HOSTED`\n* `AIR_GAPPED`\n* `FEDRAMP`\n"},"status":{"type":"string","description":"Current status of the Edge site. Values are reported in this precedence order\n(top-of-list wins):\n* `PENDING` — installed but has never contacted the platform\n* `OFFLINE` — no recent heartbeat (overrides `UPGRADING`/`HEALTHY`/`UNHEALTHY`)\n* `UPGRADING` — an upgrade to `pendingVersion` is in progress (overrides `HEALTHY`/`UNHEALTHY`)\n* `HEALTHY`\n* `UNHEALTHY`\n\nNote: `pendingVersion` may be set even when `status` is `OFFLINE` or `PENDING` — it\nreflects the desired version regardless of whether the upgrade is currently active.\n"},"currentVersion":{"type":"string","maxLength":100,"description":"Currently installed Edge version. Absent if the site has not reported a version yet."},"pendingVersion":{"type":"string","maxLength":100,"description":"Edge version the site should be upgrading or installing to. Absent when the site is already at its desired version.\n"}}},"ErrorResponse":{"type":"object","description":"Standard error response returned by the API when an operation fails.","required":["statusCode","errorCode"],"properties":{"statusCode":{"type":"integer","description":"HTTP status code."},"titleMessage":{"type":"string","description":"Short title describing the error category."},"helpMessage":{"type":"string","description":"Additional guidance for resolving the error."},"userMessage":{"type":"string","description":"Human-readable message describing what went wrong."},"errorCode":{"type":"string","description":"Machine-readable error code for programmatic handling."}}}},"responses":{"BadRequest":{"description":"Bad request — invalid input or validation error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Unauthorized":{"description":"Unauthorized — authentication is required or the provided credentials are invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Forbidden":{"description":"Forbidden — insufficient permissions.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"UnexpectedError":{"description":"Unexpected error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/sites":{"post":{"operationId":"createSite","tags":["Sites"],"summary":"Create site","description":"Create new Edge site.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SiteCreate"}}}},"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SiteDetail"}}},"headers":{"Location":{"description":"URL to download the installer for the newly created Edge site.","schema":{"type":"string","format":"uri-reference"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"409":{"description":"A site with the given name already exists. Site names are unique across all Edge sites; identified by error code `siteNameAlreadyExists`.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"$ref":"#/components/responses/UnexpectedError"}}}}}}
```

## Get a site

> Returns the Edge site with the given ID.

```json
{"openapi":"3.1.0","info":{"title":"Collibra Edge API","version":"1.0.2"},"tags":[{"name":"Sites","description":"Edge sites."}],"servers":[{"url":"/rest/edge/v1"}],"security":[{"basicAuth":[]}],"components":{"securitySchemes":{"basicAuth":{"description":"Collibra REST API authentication using Basic Authentication.","scheme":"basic","type":"http"}},"schemas":{"SiteDetail":{"description":"Detailed representation of an Edge site. Extends the `Site` summary returned by the list endpoint; fields that are too detailed for the list response are added here.\n","allOf":[{"$ref":"#/components/schemas/Site"},{"type":"object","required":["sparkEnabled","upgradeMode","autoUpgradeEnabled"],"properties":{"sparkEnabled":{"type":"boolean","description":"Whether Spark-based processing is enabled on the Edge site."},"autoUpgradeEnabled":{"type":"boolean","description":"Whether the Edge site is configured to be automatically upgraded to the latest available version as new versions are released. Reflects the `autoUpgradeEnabled` value from the create/update request. Note that `upgradeMode` values `EXTERNAL` and `LEGACY` take precedence over this setting - a site whose upgrades are managed externally is never auto-upgraded by Collibra regardless of this value.\n"},"upgradeMode":{"type":"string","description":"How Edge version upgrades are applied to the site.\nPossible values are:\n* `AUTOMATIC` — the site is upgraded automatically when a new Edge version is released\n* `MANUAL` — upgrades must be triggered explicitly\n* `EXTERNAL` — upgrades are managed outside of Collibra. Reported for air-gapped installations and for sites explicitly marked as externally managed.\n* `LEGACY` — the site predates managed upgrades and has not reported a version yet\n\n`AUTOMATIC` and `MANUAL` reflect the site's `autoUpgradeEnabled` setting;\n`EXTERNAL` and `LEGACY` take precedence over it.\n"},"lastModifiedOn":{"type":"string","format":"date-time","description":"Timestamp when the site was last modified. Modification events include configuration changes, restores, upgrade-mode changes, and Edge version changes (requested or completed). Site creation itself counts as a modification, so newly-created sites have `lastModifiedOn` equal to `createdOn`. The field is absent only for legacy sites that predate the site event log and have no recorded history.\n"}}}]},"Site":{"type":"object","description":"An Edge site.","required":["id","name","type","status","createdOn"],"properties":{"id":{"type":"string","format":"uuid","description":"Unique identifier of the Edge site."},"name":{"type":"string","description":"Human-readable name of the Edge site.","maxLength":100},"description":{"type":"string","description":"Optional description of the Edge site.","maxLength":255},"createdOn":{"type":"string","format":"date-time","description":"Timestamp when the Edge site was created."},"type":{"type":"string","description":"Deployment type of the Edge site.\nPossible values are:\n* `ON_PREM`\n* `COLLIBRA_HOSTED`\n* `AIR_GAPPED`\n* `FEDRAMP`\n"},"status":{"type":"string","description":"Current status of the Edge site. Values are reported in this precedence order\n(top-of-list wins):\n* `PENDING` — installed but has never contacted the platform\n* `OFFLINE` — no recent heartbeat (overrides `UPGRADING`/`HEALTHY`/`UNHEALTHY`)\n* `UPGRADING` — an upgrade to `pendingVersion` is in progress (overrides `HEALTHY`/`UNHEALTHY`)\n* `HEALTHY`\n* `UNHEALTHY`\n\nNote: `pendingVersion` may be set even when `status` is `OFFLINE` or `PENDING` — it\nreflects the desired version regardless of whether the upgrade is currently active.\n"},"currentVersion":{"type":"string","maxLength":100,"description":"Currently installed Edge version. Absent if the site has not reported a version yet."},"pendingVersion":{"type":"string","maxLength":100,"description":"Edge version the site should be upgrading or installing to. Absent when the site is already at its desired version.\n"}}},"ErrorResponse":{"type":"object","description":"Standard error response returned by the API when an operation fails.","required":["statusCode","errorCode"],"properties":{"statusCode":{"type":"integer","description":"HTTP status code."},"titleMessage":{"type":"string","description":"Short title describing the error category."},"helpMessage":{"type":"string","description":"Additional guidance for resolving the error."},"userMessage":{"type":"string","description":"Human-readable message describing what went wrong."},"errorCode":{"type":"string","description":"Machine-readable error code for programmatic handling."}}}},"responses":{"BadRequest":{"description":"Bad request — invalid input or validation error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Unauthorized":{"description":"Unauthorized — authentication is required or the provided credentials are invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Forbidden":{"description":"Forbidden — insufficient permissions.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"SiteNotFound":{"description":"Site not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"UnexpectedError":{"description":"Unexpected error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/sites/{siteId}":{"get":{"operationId":"getSite","tags":["Sites"],"summary":"Get a site","description":"Returns the Edge site with the given ID.","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SiteDetail"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/SiteNotFound"},"500":{"$ref":"#/components/responses/UnexpectedError"}}}}}}
```

## Update site

> Replaces an existing edge site. This operation performs a full replacement — every field must be provided on each call, or it resets to its default value.<br>

```json
{"openapi":"3.1.0","info":{"title":"Collibra Edge API","version":"1.0.2"},"tags":[{"name":"Sites","description":"Edge sites."}],"servers":[{"url":"/rest/edge/v1"}],"security":[{"basicAuth":[]}],"components":{"securitySchemes":{"basicAuth":{"description":"Collibra REST API authentication using Basic Authentication.","scheme":"basic","type":"http"}},"schemas":{"SiteUpdate":{"type":"object","description":"An Edge site update DTO.","required":["name","description","version","autoUpgradeEnabled","sparkEnabled"],"properties":{"name":{"type":"string","description":"Human-readable name of the Edge site. Must contain at least one non-whitespace character; empty or whitespace-only names are rejected with a 400.\n","minLength":1,"maxLength":100,"pattern":"^[a-zA-Z0-9_.-]+$"},"description":{"type":["string","null"],"description":"Description of the Edge site. If a string is provided, it must not be empty - use `null` to clear the description.\n","minLength":1,"maxLength":255},"version":{"type":"string","description":"Edge chart version to target, in the Edge release version format `<year>.<month>.<patch>[-<tag>]`, e.g. `2026.06.1-3` (the same format reported by `Site.currentVersion` and `Site.pendingVersion`).\n","maxLength":100,"pattern":"^(2[0-9]{3})\\.(0?[1-9]|1[0-2])(\\.\\d+)(-.*)?$"},"autoUpgradeEnabled":{"type":"boolean","description":"Whether the Edge site should be auto-upgraded to the latest available version."},"sparkEnabled":{"type":"boolean","description":"Whether the Edge site should enable Spark."}}},"SiteDetail":{"description":"Detailed representation of an Edge site. Extends the `Site` summary returned by the list endpoint; fields that are too detailed for the list response are added here.\n","allOf":[{"$ref":"#/components/schemas/Site"},{"type":"object","required":["sparkEnabled","upgradeMode","autoUpgradeEnabled"],"properties":{"sparkEnabled":{"type":"boolean","description":"Whether Spark-based processing is enabled on the Edge site."},"autoUpgradeEnabled":{"type":"boolean","description":"Whether the Edge site is configured to be automatically upgraded to the latest available version as new versions are released. Reflects the `autoUpgradeEnabled` value from the create/update request. Note that `upgradeMode` values `EXTERNAL` and `LEGACY` take precedence over this setting - a site whose upgrades are managed externally is never auto-upgraded by Collibra regardless of this value.\n"},"upgradeMode":{"type":"string","description":"How Edge version upgrades are applied to the site.\nPossible values are:\n* `AUTOMATIC` — the site is upgraded automatically when a new Edge version is released\n* `MANUAL` — upgrades must be triggered explicitly\n* `EXTERNAL` — upgrades are managed outside of Collibra. Reported for air-gapped installations and for sites explicitly marked as externally managed.\n* `LEGACY` — the site predates managed upgrades and has not reported a version yet\n\n`AUTOMATIC` and `MANUAL` reflect the site's `autoUpgradeEnabled` setting;\n`EXTERNAL` and `LEGACY` take precedence over it.\n"},"lastModifiedOn":{"type":"string","format":"date-time","description":"Timestamp when the site was last modified. Modification events include configuration changes, restores, upgrade-mode changes, and Edge version changes (requested or completed). Site creation itself counts as a modification, so newly-created sites have `lastModifiedOn` equal to `createdOn`. The field is absent only for legacy sites that predate the site event log and have no recorded history.\n"}}}]},"Site":{"type":"object","description":"An Edge site.","required":["id","name","type","status","createdOn"],"properties":{"id":{"type":"string","format":"uuid","description":"Unique identifier of the Edge site."},"name":{"type":"string","description":"Human-readable name of the Edge site.","maxLength":100},"description":{"type":"string","description":"Optional description of the Edge site.","maxLength":255},"createdOn":{"type":"string","format":"date-time","description":"Timestamp when the Edge site was created."},"type":{"type":"string","description":"Deployment type of the Edge site.\nPossible values are:\n* `ON_PREM`\n* `COLLIBRA_HOSTED`\n* `AIR_GAPPED`\n* `FEDRAMP`\n"},"status":{"type":"string","description":"Current status of the Edge site. Values are reported in this precedence order\n(top-of-list wins):\n* `PENDING` — installed but has never contacted the platform\n* `OFFLINE` — no recent heartbeat (overrides `UPGRADING`/`HEALTHY`/`UNHEALTHY`)\n* `UPGRADING` — an upgrade to `pendingVersion` is in progress (overrides `HEALTHY`/`UNHEALTHY`)\n* `HEALTHY`\n* `UNHEALTHY`\n\nNote: `pendingVersion` may be set even when `status` is `OFFLINE` or `PENDING` — it\nreflects the desired version regardless of whether the upgrade is currently active.\n"},"currentVersion":{"type":"string","maxLength":100,"description":"Currently installed Edge version. Absent if the site has not reported a version yet."},"pendingVersion":{"type":"string","maxLength":100,"description":"Edge version the site should be upgrading or installing to. Absent when the site is already at its desired version.\n"}}},"ErrorResponse":{"type":"object","description":"Standard error response returned by the API when an operation fails.","required":["statusCode","errorCode"],"properties":{"statusCode":{"type":"integer","description":"HTTP status code."},"titleMessage":{"type":"string","description":"Short title describing the error category."},"helpMessage":{"type":"string","description":"Additional guidance for resolving the error."},"userMessage":{"type":"string","description":"Human-readable message describing what went wrong."},"errorCode":{"type":"string","description":"Machine-readable error code for programmatic handling."}}}},"responses":{"BadRequest":{"description":"Bad request — invalid input or validation error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Unauthorized":{"description":"Unauthorized — authentication is required or the provided credentials are invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Forbidden":{"description":"Forbidden — insufficient permissions.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"SiteNotFound":{"description":"Site not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"UnexpectedError":{"description":"Unexpected error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/sites/{siteId}":{"put":{"operationId":"updateSite","tags":["Sites"],"summary":"Update site","description":"Replaces an existing edge site. This operation performs a full replacement — every field must be provided on each call, or it resets to its default value.\n","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SiteUpdate"}}}},"responses":{"200":{"description":"Success","headers":{"Location":{"description":"URL of the updated site.","schema":{"type":"string","format":"uri-reference"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SiteDetail"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/SiteNotFound"},"500":{"$ref":"#/components/responses/UnexpectedError"}}}}}}
```

## Delete a site

> Deletes the Edge site with the given ID. Deletion removes the site's record from Edge Management; tear down the Edge cluster itself before deleting so the site is not left running and orphaned. The operation is idempotent — deleting a site that does not exist (or was already deleted) returns 204. A site that still appears online is rejected with a 409 (\`siteStillOnline\`), as are Collibra Cloud sites (\`hostedSiteNotDeletable\`), which are managed by Collibra and cannot be deleted.<br>

```json
{"openapi":"3.1.0","info":{"title":"Collibra Edge API","version":"1.0.2"},"tags":[{"name":"Sites","description":"Edge sites."}],"servers":[{"url":"/rest/edge/v1"}],"security":[{"basicAuth":[]}],"components":{"securitySchemes":{"basicAuth":{"description":"Collibra REST API authentication using Basic Authentication.","scheme":"basic","type":"http"}},"responses":{"BadRequest":{"description":"Bad request — invalid input or validation error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Unauthorized":{"description":"Unauthorized — authentication is required or the provided credentials are invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Forbidden":{"description":"Forbidden — insufficient permissions.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"UnexpectedError":{"description":"Unexpected error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"schemas":{"ErrorResponse":{"type":"object","description":"Standard error response returned by the API when an operation fails.","required":["statusCode","errorCode"],"properties":{"statusCode":{"type":"integer","description":"HTTP status code."},"titleMessage":{"type":"string","description":"Short title describing the error category."},"helpMessage":{"type":"string","description":"Additional guidance for resolving the error."},"userMessage":{"type":"string","description":"Human-readable message describing what went wrong."},"errorCode":{"type":"string","description":"Machine-readable error code for programmatic handling."}}}}},"paths":{"/sites/{siteId}":{"delete":{"operationId":"deleteSite","tags":["Sites"],"summary":"Delete a site","description":"Deletes the Edge site with the given ID. Deletion removes the site's record from Edge Management; tear down the Edge cluster itself before deleting so the site is not left running and orphaned. The operation is idempotent — deleting a site that does not exist (or was already deleted) returns 204. A site that still appears online is rejected with a 409 (`siteStillOnline`), as are Collibra Cloud sites (`hostedSiteNotDeletable`), which are managed by Collibra and cannot be deleted.\n","responses":{"204":{"description":"Success. Returned whether or not the site existed (idempotent)."},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"409":{"description":"The site cannot be deleted. Distinguish the cause via `errorCode`: `siteStillOnline` (tear the Edge cluster down first — the status updates about a minute after tear-down) or `hostedSiteNotDeletable` (Collibra Cloud sites cannot be deleted).\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"$ref":"#/components/responses/UnexpectedError"}}}}}}
```

## List available upgrade versions for a site

> Returns a list of versions, available to upgrade

```json
{"openapi":"3.1.0","info":{"title":"Collibra Edge API","version":"1.0.2"},"tags":[{"name":"Sites","description":"Edge sites."}],"servers":[{"url":"/rest/edge/v1"}],"security":[{"basicAuth":[]}],"components":{"securitySchemes":{"basicAuth":{"description":"Collibra REST API authentication using Basic Authentication.","scheme":"basic","type":"http"}},"schemas":{"SiteVersionsListResponse":{"type":"object","description":"List of versions, available to upgrade Edge site to.\n","required":["results"],"properties":{"results":{"type":"array","items":{"type":"string"}}}},"ErrorResponse":{"type":"object","description":"Standard error response returned by the API when an operation fails.","required":["statusCode","errorCode"],"properties":{"statusCode":{"type":"integer","description":"HTTP status code."},"titleMessage":{"type":"string","description":"Short title describing the error category."},"helpMessage":{"type":"string","description":"Additional guidance for resolving the error."},"userMessage":{"type":"string","description":"Human-readable message describing what went wrong."},"errorCode":{"type":"string","description":"Machine-readable error code for programmatic handling."}}}},"responses":{"BadRequest":{"description":"Bad request — invalid input or validation error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Unauthorized":{"description":"Unauthorized — authentication is required or the provided credentials are invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Forbidden":{"description":"Forbidden — insufficient permissions.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"SiteNotFound":{"description":"Site not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"UnexpectedError":{"description":"Unexpected error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/sites/{siteId}/versions":{"get":{"operationId":"listSiteUpgradeVersions","tags":["Sites"],"summary":"List available upgrade versions for a site","description":"Returns a list of versions, available to upgrade","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SiteVersionsListResponse"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/SiteNotFound"},"500":{"$ref":"#/components/responses/UnexpectedError"}}}}}}
```

## Download installer for a site

> Returns a binary that contains installer in .tgz format

```json
{"openapi":"3.1.0","info":{"title":"Collibra Edge API","version":"1.0.2"},"tags":[{"name":"Sites","description":"Edge sites."}],"servers":[{"url":"/rest/edge/v1"}],"security":[{"basicAuth":[]}],"components":{"securitySchemes":{"basicAuth":{"description":"Collibra REST API authentication using Basic Authentication.","scheme":"basic","type":"http"}},"responses":{"BadRequest":{"description":"Bad request — invalid input or validation error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Unauthorized":{"description":"Unauthorized — authentication is required or the provided credentials are invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Forbidden":{"description":"Forbidden — insufficient permissions.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"SiteNotFound":{"description":"Site not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"UnexpectedError":{"description":"Unexpected error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"schemas":{"ErrorResponse":{"type":"object","description":"Standard error response returned by the API when an operation fails.","required":["statusCode","errorCode"],"properties":{"statusCode":{"type":"integer","description":"HTTP status code."},"titleMessage":{"type":"string","description":"Short title describing the error category."},"helpMessage":{"type":"string","description":"Additional guidance for resolving the error."},"userMessage":{"type":"string","description":"Human-readable message describing what went wrong."},"errorCode":{"type":"string","description":"Machine-readable error code for programmatic handling."}}}}},"paths":{"/sites/{siteId}/installer/download":{"get":{"operationId":"downloadInstaller","tags":["Sites"],"summary":"Download installer for a site","description":"Returns a binary that contains installer in .tgz format","responses":{"200":{"description":"Edge site installer archive","headers":{"Content-Disposition":{"description":"Includes the filename `installer-<site-id>.tgz`.","schema":{"type":"string"}}},"content":{"application/gzip":{"schema":{"type":"string","format":"binary"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/SiteNotFound"},"500":{"$ref":"#/components/responses/UnexpectedError"}}}}}}
```
