Sink

Add a sink with the given site_id, template_id, name, config, is_archival and source_id (last two for archival sink only). It returns the created object including fields like id, created_at, updated_at.

post

Update an existing sink.

Authorizations
authorizationstringRequired

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

Body
Responses
200

A successful response.

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

{
  "sink": {
    "id": 1,
    "siteId": 1,
    "templateId": 1,
    "templateVersion": 1,
    "templateName": "text",
    "name": "text",
    "description": "text",
    "config": {},
    "status": "NS_DEFAULT",
    "sourceId": 1,
    "created": "2025-11-27T02:32:57.061Z",
    "updated": "2025-11-27T02:32:57.061Z",
    "createdBy": "text",
    "updatedBy": "text",
    "type": "DEFAULT_TYPE",
    "origin": "NODE_ORIGIN_DEFAULT",
    "usageType": "UNSPECIFIED",
    "siteFilenames": [
      "text"
    ],
    "userVisible": true
  }
}
{
  "status": {
    "code": "OK",
    "errorMessage": "text",
    "userMessageCode": "DEFAULT"
  },
  "sink": {
    "id": 1,
    "siteId": 1,
    "templateId": 1,
    "templateVersion": 1,
    "templateName": "text",
    "name": "text",
    "description": "text",
    "config": {},
    "status": "NS_DEFAULT",
    "sourceId": 1,
    "created": "2025-11-27T02:32:57.061Z",
    "updated": "2025-11-27T02:32:57.061Z",
    "createdBy": "text",
    "updatedBy": "text",
    "type": "DEFAULT_TYPE",
    "origin": "NODE_ORIGIN_DEFAULT",
    "usageType": "UNSPECIFIED",
    "siteFilenames": [
      "text"
    ],
    "userVisible": true
  }
}

Updates a sink with the given id with the site_id, template_id, name, status config, is_archival and source_id provided (last two for archival sink only). It returns the updated object including fields like id, created_at, updated_at. If any change has happened to the object in between, this call should fail. previous_update_time must be set to the last available sink's update time. This ensures that the object hasn't updated in between.

patch

Update an existing sink.

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/sink
PATCH /gateway/v1/sink HTTP/1.1
Host: p01-api.observo.ai
authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 443

{
  "sink": {
    "id": 1,
    "siteId": 1,
    "templateId": 1,
    "templateVersion": 1,
    "templateName": "text",
    "name": "text",
    "description": "text",
    "config": {},
    "status": "NS_DEFAULT",
    "sourceId": 1,
    "created": "2025-11-27T02:32:57.061Z",
    "updated": "2025-11-27T02:32:57.061Z",
    "createdBy": "text",
    "updatedBy": "text",
    "type": "DEFAULT_TYPE",
    "origin": "NODE_ORIGIN_DEFAULT",
    "usageType": "UNSPECIFIED",
    "siteFilenames": [
      "text"
    ],
    "userVisible": true
  },
  "lastUpdated": "2025-11-27T02:32:57.061Z"
}
{
  "status": {
    "code": "OK",
    "errorMessage": "text",
    "userMessageCode": "DEFAULT"
  },
  "sink": {
    "id": 1,
    "siteId": 1,
    "templateId": 1,
    "templateVersion": 1,
    "templateName": "text",
    "name": "text",
    "description": "text",
    "config": {},
    "status": "NS_DEFAULT",
    "sourceId": 1,
    "created": "2025-11-27T02:32:57.061Z",
    "updated": "2025-11-27T02:32:57.061Z",
    "createdBy": "text",
    "updatedBy": "text",
    "type": "DEFAULT_TYPE",
    "origin": "NODE_ORIGIN_DEFAULT",
    "usageType": "UNSPECIFIED",
    "siteFilenames": [
      "text"
    ],
    "userVisible": true
  }
}

List all sink templates. If site_ids are specified, returns only templates for sinks in the given sites. If include_config_format is set, will return config formats for each of the templates.

get

Get available sink templates.

Authorizations
authorizationstringRequired

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

Query parameters
includeConfigFormatbooleanOptional

Whether to include config format in return value.

isArchivalbooleanOptional

used for listing archival and non archival sinks

idsinteger · uint64[]Optional

Filter on sink template IDs.

displayNamesstring[]Optional

Filter on sink template display name.

versionsinteger · uint64[]Optional

Filter on sink template versions.

Responses
200

A successful response.

application/json
get
/gateway/v1/sink-templates
GET /gateway/v1/sink-templates HTTP/1.1
Host: p01-api.observo.ai
authorization: YOUR_API_KEY
Accept: */*
{
  "sinkTemplates": [
    {
      "id": 1,
      "type": "DEFAULT_TYPE",
      "displayName": "text",
      "configFormat": {},
      "isArchival": true,
      "version": 1
    }
  ],
  "status": {
    "code": "OK",
    "errorMessage": "text",
    "userMessageCode": "DEFAULT"
  }
}

List all sinks, filtered based on site_ids, sink_ids and status. This API is paginated and returns values [offset, offset + page_size). site_ids is mandatory. Sink's config is returned if include_config is set. Filters out deleted sinks, unless sink_ids or statuses provided.

get

List all sinks.

Authorizations
authorizationstringRequired

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

Query parameters
siteIdsinteger · uint64[]Optional
sinkIdsinteger · uint64[]Optional
templateIdsinteger · uint64[]Optional
includeConfigbooleanOptional

Whether to include config in return value.

pagination.offsetinteger · int64Optional
pagination.limitinteger · int64Optional
pagination.totalCountinteger · int64Optional
pagination.ordering.fieldNamestringOptional
pagination.ordering.descendingbooleanOptional
namesstring[]Optional

Filter on sink display name.

includeHiddenbooleanOptional
Responses
200

A successful response.

application/json
get
/gateway/v1/sinks
GET /gateway/v1/sinks HTTP/1.1
Host: p01-api.observo.ai
authorization: YOUR_API_KEY
Accept: */*
{
  "status": {
    "code": "OK",
    "errorMessage": "text",
    "userMessageCode": "DEFAULT"
  },
  "sinks": [
    {
      "id": 1,
      "siteId": 1,
      "templateId": 1,
      "templateVersion": 1,
      "templateName": "text",
      "name": "text",
      "description": "text",
      "config": {},
      "status": "NS_DEFAULT",
      "sourceId": 1,
      "created": "2025-11-27T02:32:57.061Z",
      "updated": "2025-11-27T02:32:57.061Z",
      "createdBy": "text",
      "updatedBy": "text",
      "type": "DEFAULT_TYPE",
      "origin": "NODE_ORIGIN_DEFAULT",
      "usageType": "UNSPECIFIED",
      "siteFilenames": [
        "text"
      ],
      "userVisible": true
    }
  ],
  "pagination": {
    "offset": 1,
    "limit": 1,
    "totalCount": 1,
    "ordering": {
      "fieldName": "text",
      "descending": true
    }
  }
}

Delete a sink by ID

delete

Deletes the sink with the specified ID

Authorizations
authorizationstringRequired

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

Path parameters
sinkIdinteger · uint64Required

ID of the sink to delete

Responses
200

Sink deleted successfully

application/json
delete
/gateway/v1/sink/{sinkId}
DELETE /gateway/v1/sink/{sinkId} 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?