Site

Adds a new site. Returns status and if successful, the site including the id.

post

Update an existing site.

Authorizations
authorizationstringRequired

JWT Authorization header using the Bearer scheme. Example: 'Bearer {token}'

Body
Responses
200

A successful response.

application/json
post
/gateway/v1/site
POST /gateway/v1/site HTTP/1.1
Host: p01-api.observo.ai
authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 693

{
  "site": {
    "id": 1,
    "orgId": "text",
    "name": "text",
    "description": "text",
    "status": "DEFAULT_STATUS",
    "geoLocation": {
      "latitude": 1,
      "longitude": 1
    },
    "vendor": "DEFAULT_TYPE",
    "tunnelPort": 1,
    "vendorConfig": {},
    "maxInstances": 1,
    "minInstances": 1,
    "createdBy": "text",
    "updatedBy": "text",
    "created": "2025-11-29T00:42:35.927Z",
    "updated": "2025-11-29T00:42:35.927Z",
    "caCert": "text",
    "lastAlive": "2025-11-29T00:42:35.927Z",
    "pushSourceIngress": "text",
    "pushSourceLb": "text",
    "k8sInternalSvcUrl": "text",
    "version": "text",
    "gitProvider": "GIT_PROVIDER_UNSPECIFIED",
    "gitRepo": "text",
    "gitRepoPath": "text",
    "gitBranch": "text",
    "gitAccessToken": "text",
    "managedByGit": true,
    "edgeManagerEndpoint": "text",
    "siteTelemetryRcvrEndpoint": "text"
  }
}
{
  "status": {
    "code": "OK",
    "errorMessage": "text",
    "userMessageCode": "DEFAULT"
  },
  "site": {
    "id": 1,
    "orgId": "text",
    "name": "text",
    "description": "text",
    "status": "DEFAULT_STATUS",
    "geoLocation": {
      "latitude": 1,
      "longitude": 1
    },
    "vendor": "DEFAULT_TYPE",
    "tunnelPort": 1,
    "vendorConfig": {},
    "maxInstances": 1,
    "minInstances": 1,
    "createdBy": "text",
    "updatedBy": "text",
    "created": "2025-11-29T00:42:35.927Z",
    "updated": "2025-11-29T00:42:35.927Z",
    "caCert": "text",
    "lastAlive": "2025-11-29T00:42:35.927Z",
    "pushSourceIngress": "text",
    "pushSourceLb": "text",
    "k8sInternalSvcUrl": "text",
    "version": "text",
    "gitProvider": "GIT_PROVIDER_UNSPECIFIED",
    "gitRepo": "text",
    "gitRepoPath": "text",
    "gitBranch": "text",
    "gitAccessToken": "text",
    "managedByGit": true,
    "edgeManagerEndpoint": "text",
    "siteTelemetryRcvrEndpoint": "text"
  }
}

Updates the site with the given id. If any change has happened on the object in between, this call should fail. previous_update_time must be set to the last available site's update time. This ensures that the object hasn't updated in between. Returns status and the modified site.

patch

Update an existing site.

Authorizations
authorizationstringRequired

JWT Authorization header using the Bearer scheme. Example: 'Bearer {token}'

Body
lastUpdatedstring · date-timeOptional
Responses
200

A successful response.

application/json
patch
/gateway/v1/site
PATCH /gateway/v1/site HTTP/1.1
Host: p01-api.observo.ai
authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 734

{
  "site": {
    "id": 1,
    "orgId": "text",
    "name": "text",
    "description": "text",
    "status": "DEFAULT_STATUS",
    "geoLocation": {
      "latitude": 1,
      "longitude": 1
    },
    "vendor": "DEFAULT_TYPE",
    "tunnelPort": 1,
    "vendorConfig": {},
    "maxInstances": 1,
    "minInstances": 1,
    "createdBy": "text",
    "updatedBy": "text",
    "created": "2025-11-29T00:42:35.927Z",
    "updated": "2025-11-29T00:42:35.927Z",
    "caCert": "text",
    "lastAlive": "2025-11-29T00:42:35.927Z",
    "pushSourceIngress": "text",
    "pushSourceLb": "text",
    "k8sInternalSvcUrl": "text",
    "version": "text",
    "gitProvider": "GIT_PROVIDER_UNSPECIFIED",
    "gitRepo": "text",
    "gitRepoPath": "text",
    "gitBranch": "text",
    "gitAccessToken": "text",
    "managedByGit": true,
    "edgeManagerEndpoint": "text",
    "siteTelemetryRcvrEndpoint": "text"
  },
  "lastUpdated": "2025-11-29T00:42:35.927Z"
}
{
  "status": {
    "code": "OK",
    "errorMessage": "text",
    "userMessageCode": "DEFAULT"
  },
  "site": {
    "id": 1,
    "orgId": "text",
    "name": "text",
    "description": "text",
    "status": "DEFAULT_STATUS",
    "geoLocation": {
      "latitude": 1,
      "longitude": 1
    },
    "vendor": "DEFAULT_TYPE",
    "tunnelPort": 1,
    "vendorConfig": {},
    "maxInstances": 1,
    "minInstances": 1,
    "createdBy": "text",
    "updatedBy": "text",
    "created": "2025-11-29T00:42:35.927Z",
    "updated": "2025-11-29T00:42:35.927Z",
    "caCert": "text",
    "lastAlive": "2025-11-29T00:42:35.927Z",
    "pushSourceIngress": "text",
    "pushSourceLb": "text",
    "k8sInternalSvcUrl": "text",
    "version": "text",
    "gitProvider": "GIT_PROVIDER_UNSPECIFIED",
    "gitRepo": "text",
    "gitRepoPath": "text",
    "gitBranch": "text",
    "gitAccessToken": "text",
    "managedByGit": true,
    "edgeManagerEndpoint": "text",
    "siteTelemetryRcvrEndpoint": "text"
  }
}

List all sites, optionally filtered by site_ids provided. Returns all non-deleted sites for org if no arguments provided. Pagination.Ordering.FieldName Options: "id", "created_at", "updated_at", "name", "status", "last_alive".

get

List all configured sites.

Authorizations
authorizationstringRequired

JWT Authorization header using the Bearer scheme. Example: 'Bearer {token}'

Query parameters
siteIdsinteger · uint64[]Optional
pagination.offsetinteger · int64Optional
pagination.limitinteger · int64Optional
pagination.totalCountinteger · int64Optional
pagination.ordering.fieldNamestringOptional
pagination.ordering.descendingbooleanOptional
Responses
200

A successful response.

application/json
get
/gateway/v1/sites
GET /gateway/v1/sites HTTP/1.1
Host: p01-api.observo.ai
authorization: YOUR_API_KEY
Accept: */*
{
  "status": {
    "code": "OK",
    "errorMessage": "text",
    "userMessageCode": "DEFAULT"
  },
  "sites": [
    {
      "id": 1,
      "orgId": "text",
      "name": "text",
      "description": "text",
      "status": "DEFAULT_STATUS",
      "geoLocation": {
        "latitude": 1,
        "longitude": 1
      },
      "vendor": "DEFAULT_TYPE",
      "tunnelPort": 1,
      "vendorConfig": {},
      "maxInstances": 1,
      "minInstances": 1,
      "createdBy": "text",
      "updatedBy": "text",
      "created": "2025-11-29T00:42:35.927Z",
      "updated": "2025-11-29T00:42:35.927Z",
      "caCert": "text",
      "lastAlive": "2025-11-29T00:42:35.927Z",
      "pushSourceIngress": "text",
      "pushSourceLb": "text",
      "k8sInternalSvcUrl": "text",
      "version": "text",
      "gitProvider": "GIT_PROVIDER_UNSPECIFIED",
      "gitRepo": "text",
      "gitRepoPath": "text",
      "gitBranch": "text",
      "gitAccessToken": "text",
      "managedByGit": true,
      "edgeManagerEndpoint": "text",
      "siteTelemetryRcvrEndpoint": "text"
    }
  ],
  "pagination": {
    "offset": 1,
    "limit": 1,
    "totalCount": 1,
    "ordering": {
      "fieldName": "text",
      "descending": true
    }
  }
}

Delete a site by ID

delete

Deletes the site with the specified ID and all associated resources

Authorizations
authorizationstringRequired

JWT Authorization header using the Bearer scheme. Example: 'Bearer {token}'

Path parameters
siteIdinteger · uint64Required

ID of the site to delete

Responses
200

Site deleted successfully

application/json
delete
/gateway/v1/site/{siteId}
DELETE /gateway/v1/site/{siteId} HTTP/1.1
Host: p01-api.observo.ai
authorization: YOUR_API_KEY
Accept: */*
{
  "status": {
    "code": "OK",
    "errorMessage": "text",
    "userMessageCode": "DEFAULT"
  }
}

Last updated

Was this helpful?