Sunbird Obsrv
  • Introduction
    • The Value of Data
    • Data Value Chain
    • Challenges
    • The Solution: Obsrv
  • Core Concepts
    • Obsrv Overview
    • Key Capabilities
    • Datasets
    • Connectors
    • High Level Architecture
    • Tech Stack
    • Monitoring
  • Explore
    • Roadmap
    • Case Studies
      • Agri Climate Advisory
      • Learning Analytics at Population Scale
      • IOT Observations Infra
      • Data Driven Features in Learning Platform
      • Network Observability
      • Fraud Detection
    • Performance Benchmarks
  • Guides
    • Installation
      • AWS Installation Guide
      • Azure Installation Guide
      • GCP Installation Guide
      • OCI Installation Guide
      • Data Center Installation Guide
    • Dataset Management APIs
    • Dataset Management Console
    • Connector APIs
    • Data In & Out APIs
    • Alerts and Notification Channels APIs
    • Developer Guide
    • Example Datasets
    • Connectors Developer Guide
      • SDK Assumptions
      • Required Files
        • metadata.json
        • ui-config.json
        • metrics.yaml
        • alerts.yaml
      • Obsrv Base Setup
      • Dev Requirements
      • Interfaces
        • Stream Interfaces
        • Batch Interfaces
      • Classes
        • ConnectorContext Class
        • ConnectorStats Class
        • ConnectorState Class
        • ErrorData Class
        • MetricData Class
      • Verifying
      • Packaging Guide
      • Reference Implementations
    • Coming Soon!
  • Community
  • Previous Versions
    • SB-5.0 Version
      • Overview
      • USE
        • Release Notes
          • Obsrv 2.0-Beta
          • Obsrv 2.1.0
          • Obsrv 2.2.0
          • Obsrv 2.0.0-GA
          • Obsrv 5.3.0-GA
          • Release V 5.1.0
          • Release V 5.1.2
          • Release V 5.1.3
          • Release V 5.0.0
          • Release V 4.10.0
        • Installation Guide
        • Obsrv 2.0 Installation Guide
          • Getting Started with Obsrv Deployment Using Helm
        • System Requirements
      • LEARN
        • Functional Capabilities
        • Dependencies
        • Product Roadmap
        • Product & Developer Guide
          • Telemetry Service
          • Data Pipeline
          • Data Service
          • Data Product
            • On Demand Druid Exhaust Job
              • Component Diagram
              • ML CSV Reports
              • Folder Struture
          • Report Service
          • Report Configurator
          • Summarisers
      • ENGAGE
        • Discuss
        • Contribute to Obsrv
      • Raise an Issue
  • Release Notes
    • Obsrv 1.1.0 Beta Release
    • Obsrv 1.2.0-RC Release
Powered by GitBook
On this page

Was this helpful?

Edit on GitHub
  1. Guides

Data In & Out APIs

List of APIs to write and read data

PreviousConnector APIsNextAlerts and Notification Channels APIs

Last updated 5 months ago

Was this helpful?

Data In (Write) API

The Data In APIs facilitate writing data into datasets, designed to simplify the ingestion of JSON data

Data Out (Read) APIs

Use the Data Out APIs to fetch data from a dataset with support for SQL and Druid native query formats, suitable for analytics and visualization.

Template APIs

The Template APIs enable efficient management of templates, including creating new templates, updating existing ones, listing all available templates, and retrieving metadata for specific templates. These APIs are designed to facilitate data retrieval from various sources using predefined template formats. They are particularly recommended for production environments where queries remain relatively static and do not require frequent changes.

Read Template

get
Path parameters
template_idstringRequired

Unique identifier for the template

Responses
200
OK
application/json
Responseobject
404
Not Found
application/json
get
GET /v2/template/read/{template_id} HTTP/1.1
Host: localhost:3000
Accept: */*
{
  "id": "api.query.template.read",
  "ver": "v2",
  "ts": "2024-05-30T23:54:14+05:30",
  "params": {
    "status": "SUCCESS",
    "resmsgid": "ad1c0a98-1ba3-4203-9fac-59ccaf442347"
  },
  "responseCode": "OK",
  "result": {
    "template_id": "jsontemplate111",
    "template_name": "jsontemplate111",
    "query": "{\"queryType\":\"select\",\"datasetId\":\"{{DATASET}}\",\"intervals\":\"{{STARTDATE}}/{{ENDDATE}}\",\"limit\":\"{{LIMITS}}\"}",
    "query_type": "json",
    "created_by": "SYSTEM",
    "updated_by": "SYSTEM",
    "created_date": "2024-04-29T01:16:57.023Z",
    "updated_date": "2024-04-29T01:16:57.023Z"
  }
}

Delete Template

delete
Path parameters
template_idstringRequired

Unique identifier for the template

Responses
200
OK
application/json
Responseobject
404
Not Found
application/json
delete
DELETE /v2/template/delete/{template_id} HTTP/1.1
Host: localhost:3000
Accept: */*
{
  "id": "api.query.template.delete",
  "ver": "v2",
  "ts": "2024-04-30T11:58:27+05:30",
  "params": {
    "status": "SUCCESS",
    "resmsgid": "3e2859df-f494-4c47-ae64-e2c34f4ef1cb"
  },
  "responseCode": "OK",
  "result": {
    "message": "Template yashash-k deleted successfully"
  }
}
  • Data In (Write) API
  • POSTIngest Data
  • Data Out (Read) APIs
  • POSTQuery Data
  • Template APIs
  • POSTList Templates
  • GETRead Template
  • PATCHUpdate Template
  • POSTQuery Template
  • DELETEDelete Template

Ingest Data

post
Path parameters
dataset_idstringRequired

Unique identifier for the dataset

Header parameters
Content-TypestringOptionalExample: application/json
Body
objectOptionalExample: {"id":"api.data.in","ver":"v2","ts":"1711966306164","params":{"msgid":"e180ecac-8f41-4f21-9a21-0b3a1a368917"},"data":{"eid":"INTERACT","date":"2022-01-01","ver":"3.0","syncts":1668591949682,"ets":1668591949682}}
Responses
200
OK
application/json
Responseobject
400
Bad Request
application/json
404
Not Found
application/json
post
POST /v2/data/in/{dataset_id} HTTP/1.1
Host: localhost:3000
Content-Type: application/json
Accept: */*
Content-Length: 211

{
  "id": "api.data.in",
  "ver": "v2",
  "ts": "1711966306164",
  "params": {
    "msgid": "e180ecac-8f41-4f21-9a21-0b3a1a368917"
  },
  "data": {
    "eid": "INTERACT",
    "date": "2022-01-01",
    "ver": "3.0",
    "syncts": 1668591949682,
    "ets": 1668591949682
  }
}
{
  "id": "api.data.in",
  "ver": "v2",
  "ts": "2024-05-30T23:35:48+05:30",
  "params": {
    "status": "SUCCESS",
    "msgid": "e180ecac-8f41-4f21-9a21-0b3a1a368917",
    "resmsgid": "9a44ac5b-ef82-46f7-92c5-c5b39ef88764"
  },
  "responseCode": "OK",
  "result": {
    "message": "Data ingested successfully"
  }
}

Query Data

post
Path parameters
dataset_idstringRequired

Unique identifier for the dataset

Body
objectOptionalExample: {"id":"api.data.out","ver":"v2","ts":"1711966306164","params":{"msgid":"e180ecac-8f41-4f21-9a21-0b3a1a368917"},"context":{"aggregationLevel":"day"},"query":"Select * from \"check\" WHERE __time >= timestamp '2020-12-31' AND __time < TIMESTAMP '2024-01-21' Limit 1"}
Responses
200
OK
application/json
Responseobject
400
Bad Request
application/json
404
Not Found
application/json
post
POST /v2/data/query/{dataset_id} HTTP/1.1
Host: localhost:3000
Content-Type: application/json
Accept: */*
Content-Length: 266

{
  "id": "api.data.out",
  "ver": "v2",
  "ts": "1711966306164",
  "params": {
    "msgid": "e180ecac-8f41-4f21-9a21-0b3a1a368917"
  },
  "context": {
    "aggregationLevel": "day"
  },
  "query": "Select * from  \"check\" WHERE __time >= timestamp '2020-12-31' AND __time < TIMESTAMP '2024-01-21' Limit 1"
}
{
  "id": "api.data.out",
  "ver": "v2",
  "ts": "2024-05-30T23:47:45+05:30",
  "params": {
    "status": "SUCCESS",
    "msgid": "e180ecac-8f41-4f21-9a21-0b3a1a368917",
    "resmsgid": "134efe35-c096-4cab-ad14-db6a8952f264"
  },
  "responseCode": "OK",
  "result": [
    {
      "timestamp": "2023-09-11T00:00:00.000Z",
      "result": {
        "a1": 1694390400000,
        "a0": 1694390400000
      }
    }
  ]
}

List Templates

post
Body
objectOptionalExample: {"id":"api.query.template.list","ver":"v2","ts":"2024-04-10T16:10:50+05:30","params":{"msgid":"4a7f14c3-d61e-4d4f-be78-181834eeff6d"},"request":{"filters":{"query_type":"sql"},"sortBy":[{"field":"created_date","order":"desc"}]}}
Responses
200
OK
application/json
Responseobject
post
POST /v2/template/list HTTP/1.1
Host: localhost:3000
Content-Type: application/json
Accept: */*
Content-Length: 228

{
  "id": "api.query.template.list",
  "ver": "v2",
  "ts": "2024-04-10T16:10:50+05:30",
  "params": {
    "msgid": "4a7f14c3-d61e-4d4f-be78-181834eeff6d"
  },
  "request": {
    "filters": {
      "query_type": "sql"
    },
    "sortBy": [
      {
        "field": "created_date",
        "order": "desc"
      }
    ]
  }
}
200

OK

{
  "id": "api.query.template.list",
  "ver": "v2",
  "ts": "2024-04-29T19:16:03+05:30",
  "params": {
    "status": "SUCCESS",
    "msgid": "4a7f14c3-d61e-4d4f-be78-181834eeff6d",
    "resmsgid": "5d41ee6e-2fc6-4353-b6c4-49e068f39b2f"
  },
  "responseCode": "OK",
  "result": [
    {
      "template_id": "josnaksaaa",
      "template_name": "JOSnaks--aaa",
      "query": "{\"queryType\":\"select\",\"datasetId\":\"{{DATASET}}\",\"intervals\":\"{{STARTDATE}}/{{ENDDATE}}\",\"limit\":\"{{LIMITS}}\"}",
      "query_type": "json",
      "created_by": "SYSTEM",
      "updated_by": "SYSTEM",
      "created_date": "2024-04-25T06:25:04.706Z",
      "updated_date": "2024-04-25T06:25:04.706Z"
    },
    {
      "template_id": "josnaks-aaa",
      "template_name": "JOSnaks--aaa",
      "query": "{\"queryType\":\"select\",\"datasetId\":\"{{DATASET}}\",\"intervals\":\"{{STARTDATE}}/{{ENDDATE}}\",\"limit\":\"{{LIMITS}}\"}",
      "query_type": "json",
      "created_by": "SYSTEM",
      "updated_by": "SYSTEM",
      "created_date": "2024-04-25T06:26:35.749Z",
      "updated_date": "2024-04-25T06:26:35.749Z"
    },
    {
      "template_id": "a",
      "template_name": " a",
      "query": "{\"queryType\":\"select\",\"datasetId\":\"{{DATASET}}\",\"intervals\":\"{{STARTDATE}}/{{ENDDATE}}\",\"limit\":\"{{LIMITS}}\"}",
      "query_type": "json",
      "created_by": "SYSTEM",
      "updated_by": "SYSTEM",
      "created_date": "2024-04-25T06:30:50.179Z",
      "updated_date": "2024-04-25T06:30:50.179Z"
    },
    {
      "template_id": "yash-k",
      "template_name": "yash k",
      "query": "{\"queryType\":\"select\",\"datasetId\":\"{{DATASET}}\",\"intervals\":\"{{STARTDATE}}/{{ENDDATE}}\",\"limit\":\"{{LIMITS}}\"}",
      "query_type": "json",
      "created_by": "SYSTEM",
      "updated_by": "SYSTEM",
      "created_date": "2024-04-25T06:31:08.821Z",
      "updated_date": "2024-04-25T06:31:08.821Z"
    },
    {
      "template_id": "yashas-k",
      "template_name": "yashas  k",
      "query": "{\"queryType\":\"select\",\"datasetId\":\"{{DATASET}}\",\"intervals\":\"{{STARTDATE}}/{{ENDDATE}}\",\"limit\":\"{{LIMITS}}\"}",
      "query_type": "json",
      "created_by": "SYSTEM",
      "updated_by": "SYSTEM",
      "created_date": "2024-04-25T06:31:20.819Z",
      "updated_date": "2024-04-25T06:31:20.819Z"
    },
    {
      "template_id": "yashash-k",
      "template_name": "YASHASH  k",
      "query": "{\"queryType\":\"select\",\"datasetId\":\"{{DATASET}}\",\"intervals\":\"{{STARTDATE}}/{{ENDDATE}}\",\"limit\":\"{{LIMITS}}\"}",
      "query_type": "json",
      "created_by": "SYSTEM",
      "updated_by": "SYSTEM",
      "created_date": "2024-04-25T06:31:39.490Z",
      "updated_date": "2024-04-25T06:31:39.490Z"
    },
    {
      "template_id": "yashash-ak",
      "template_name": "YASHASH ak",
      "query": "{\"queryType\":\"select\",\"datasetId\":\"{{DATASET}}\",\"intervals\":\"{{STARTDATE}}/{{ENDDATE}}\",\"limit\":\"{{LIMITS}}\"}",
      "query_type": "json",
      "created_by": "SYSTEM",
      "updated_by": "SYSTEM",
      "created_date": "2024-04-25T06:33:56.501Z",
      "updated_date": "2024-04-25T06:33:56.501Z"
    },
    {
      "template_id": "test_template",
      "template_name": "test template",
      "query": "{\"queryType\":\"select\",\"datasetId\":\"{{DATASET}}\",\"intervals\":\"{{STARTDATE}}/{{ENDDATE}}\",\"limit\":\"{{LIMITS}}\"}",
      "query_type": "json",
      "created_by": "SYSTEM",
      "updated_by": "SYSTEM",
      "created_date": "2024-04-26T00:24:34.435Z",
      "updated_date": "2024-04-26T00:24:34.435Z"
    },
    {
      "template_id": "jsontemplate",
      "template_name": "jsontemplate",
      "query": "{\"queryType\":\"select\",\"datasetId\":\"{{DATASET}}\",\"intervals\":\"{{STARTDATE}}/{{ENDDATE}}\",\"limit\":\"{{LIMITS}}\"}",
      "query_type": "json",
      "created_by": "SYSTEM",
      "updated_by": "SYSTEM",
      "created_date": "2024-04-28T23:27:32.113Z",
      "updated_date": "2024-04-28T23:27:32.113Z"
    },
    {
      "template_id": "jsontemplate1",
      "template_name": "jsontemplate1",
      "query": "{\"queryType\":\"select\",\"datasetId\":\"{{DATASET}}\",\"intervals\":\"{{STARTDATE}}/{{ENDDATE}}\",\"limit\":\"{{LIMITS}}\"}",
      "query_type": "json",
      "created_by": "SYSTEM",
      "updated_by": "SYSTEM",
      "created_date": "2024-04-28T23:28:35.868Z",
      "updated_date": "2024-04-28T23:28:35.868Z"
    },
    {
      "template_id": "jsontemplate111",
      "template_name": "jsontemplate111",
      "query": "{\"queryType\":\"select\",\"datasetId\":\"{{DATASET}}\",\"intervals\":\"{{STARTDATE}}/{{ENDDATE}}\",\"limit\":\"{{LIMITS}}\"}",
      "query_type": "json",
      "created_by": "SYSTEM",
      "updated_by": "SYSTEM",
      "created_date": "2024-04-29T01:16:57.023Z",
      "updated_date": "2024-04-29T01:16:57.023Z"
    },
    {
      "template_id": "jso_template",
      "template_name": "jso template",
      "query": "{\"queryType\":\"select\",\"datasetId\":\"{{DATASET}}\",\"intervals\":\"{{STARTDATE}}/{{ENDDATE}}\",\"limit\":\"{{LIMITS}}\"}",
      "query_type": "json",
      "created_by": "SYSTEM",
      "updated_by": "SYSTEM",
      "created_date": "2024-04-29T01:19:42.458Z",
      "updated_date": "2024-04-29T01:19:42.458Z"
    },
    {
      "template_id": "json_1template",
      "template_name": "json 1template",
      "query": "{\"queryType\":\"select\",\"datasetId\":\"{{DATASET}}\",\"intervals\":\"{{STARTDATE}}/{{ENDDATE}}\",\"limit\":\"{{LIMITS}}\"}",
      "query_type": "json",
      "created_by": "SYSTEM",
      "updated_by": "SYSTEM",
      "created_date": "2024-04-29T01:22:19.689Z",
      "updated_date": "2024-04-29T01:22:19.689Z"
    },
    {
      "template_id": "sql_template",
      "template_name": "sql template",
      "query": "\"SELECT COUNT(*) FROM \\\"{{DATASET}}\\\" WHERE \\\"__time\\\" BETWEEN TIMESTAMP \\\"{{STARTDATE}}\\\" AND TIMESTAMP \\\"{{ENDDATE}}\\\"\"",
      "query_type": "sql",
      "created_by": "SYSTEM",
      "updated_by": "SYSTEM",
      "created_date": "2024-04-29T01:24:03.511Z",
      "updated_date": "2024-04-29T01:24:03.511Z"
    },
    {
      "template_id": "sql1template",
      "template_name": "sql1template",
      "query": "\"SELECT COUNT(*) FROM \\\"{{DATASET}}\\\" WHERE \\\"__time\\\" BETWEEN TIMESTAMP \\\"{{STARTDATE}}\\\" AND TIMESTAMP \\\"{{ENDDATE}}\\\"\"",
      "query_type": "sql",
      "created_by": "SYSTEM",
      "updated_by": "SYSTEM",
      "created_date": "2024-04-29T01:26:28.381Z",
      "updated_date": "2024-04-29T01:26:28.381Z"
    },
    {
      "template_id": "sql11template",
      "template_name": "sql11template",
      "query": "\"SELECT COUNT(*) FROM \\\"{{DATASET}}\\\" WHERE \\\"__time\\\" BETWEEN TIMESTAMP \\\"{{STARTDATE}}\\\" AND TIMESTAMP \\\"{{ENDDATE}}\\\"\"",
      "query_type": "sql",
      "created_by": "SYSTEM",
      "updated_by": "SYSTEM",
      "created_date": "2024-04-29T01:30:59.381Z",
      "updated_date": "2024-04-29T01:30:59.381Z"
    },
    {
      "template_id": "sql11template1",
      "template_name": "sql11template1",
      "query": "\"SELECT COUNT(*) FROM \\\"{{DATASET}}\\\" WHERE \\\"__time\\\" BETWEEN TIMESTAMP \\\"{{STARTDATE}}\\\" AND TIMESTAMP \\\"{{ENDDATE}}\\\"\"",
      "query_type": "sql",
      "created_by": "SYSTEM",
      "updated_by": "SYSTEM",
      "created_date": "2024-04-29T01:31:53.976Z",
      "updated_date": "2024-04-29T01:31:53.976Z"
    },
    {
      "template_id": "sql_template_1",
      "template_name": "sql template 1",
      "query": "\"SELECT COUNT(*) FROM \\\"{{DATASET}}\\\" WHERE \\\"__time\\\" BETWEEN TIMESTAMP \\\"{{STARTDATE}}\\\" AND TIMESTAMP \\\"{{ENDDATE}}\\\"\"",
      "query_type": "sql",
      "created_by": "SYSTEM",
      "updated_by": "SYSTEM",
      "created_date": "2024-04-29T01:36:01.592Z",
      "updated_date": "2024-04-29T01:36:01.592Z"
    },
    {
      "template_id": "sql_template_11",
      "template_name": "sql template 11",
      "query": "\"SELECT COUNT(*) FROM \\\"{{DATASET}}\\\" WHERE \\\"__time\\\" BETWEEN TIMESTAMP \\\"{{STARTDATE}}\\\" AND TIMESTAMP \\\"{{ENDDATE}}\\\"\"",
      "query_type": "sql",
      "created_by": "SYSTEM",
      "updated_by": "SYSTEM",
      "created_date": "2024-04-29T01:39:29.968Z",
      "updated_date": "2024-04-29T01:39:29.968Z"
    }
  ]
}

Update Template

patch
Path parameters
template_idstringRequired

Unique identifier for the template

Body
objectOptionalExample: {"id":"api.query.template.update","ver":"v2","ts":"2024-04-10T16:10:50+05:30","params":{"msgid":"4a7f14c3-d61e-4d4f-be78-181834eeff6d"},"request":{"template_name":"sql_update_test_template","query_type":"sql","query":"SELECT * FROM {{DATASET}} WHERE __time BETWEEN TIMESTAMP {{STARTDATE}} AND TIMESTAMP {{ENDDATE}} lIMIT {{LIMIT}}"}}
Responses
200
OK
application/json
Responseobject
400
Bad Request
application/json
patch
PATCH /v2/template/update/{template_id} HTTP/1.1
Host: localhost:3000
Content-Type: application/json
Accept: */*
Content-Length: 333

{
  "id": "api.query.template.update",
  "ver": "v2",
  "ts": "2024-04-10T16:10:50+05:30",
  "params": {
    "msgid": "4a7f14c3-d61e-4d4f-be78-181834eeff6d"
  },
  "request": {
    "template_name": "sql_update_test_template",
    "query_type": "sql",
    "query": "SELECT * FROM {{DATASET}} WHERE __time BETWEEN TIMESTAMP {{STARTDATE}} AND TIMESTAMP {{ENDDATE}} lIMIT {{LIMIT}}"
  }
}
{
  "id": "api.query.template.update",
  "ver": "v2",
  "ts": "2024-05-10T11:21:47+05:30",
  "params": {
    "status": "SUCCESS",
    "msgid": "4a7f14c3-d61e-4d4f-be78-181834eeff6d",
    "resmsgid": "9e4a6959-0eb9-4fc4-8e6f-2eea534d1384"
  },
  "responseCode": "OK",
  "result": {
    "message": "Query template updated successfully",
    "templateId": "sql11template1"
  }
}

Query Template

post
Path parameters
template_idstringRequired

Unique identifier for the template

Body
objectOptionalExample: {"id":"api.query.template.query","ver":"v2","ts":"2024-04-10T16:10:50+05:30","params":{"msgid":"4a7f14c3-d61e-4d4f-be78-181834eeff6d"},"request":{"startdate":"2020-12-31","enddate":"2024-12-31","aggregationLevel":"month","dataset":"test","limit":5}}
Responses
200
OK
application/json
Responseobject
400
Bad Request
application/json
404
Not Found
application/json
post
POST /v2/template/query/{template_id} HTTP/1.1
Host: localhost:3000
Content-Type: application/json
Accept: */*
Content-Length: 249

{
  "id": "api.query.template.query",
  "ver": "v2",
  "ts": "2024-04-10T16:10:50+05:30",
  "params": {
    "msgid": "4a7f14c3-d61e-4d4f-be78-181834eeff6d"
  },
  "request": {
    "startdate": "2020-12-31",
    "enddate": "2024-12-31",
    "aggregationLevel": "month",
    "dataset": "test",
    "limit": 5
  }
}
{
  "id": "api.query.template.query",
  "ver": "v2",
  "ts": "2024-05-14T11:52:24+05:30",
  "params": {
    "status": "SUCCESS",
    "msgid": "4a7f14c3-d61e-4d4f-be78-181834eeff6d",
    "resmsgid": "b65e0130-5ba4-49f1-bc6a-8a7d66d1a02d"
  },
  "responseCode": "OK",
  "result": [
    {
      "timestamp": "2023-09-01T00:00:00.000Z",
      "result": {
        "school_id": 0
      }
    }
  ]
}