For the complete documentation index, see llms.txt. This page is also available as Markdown.

Connector APIs

List of APIs to manage data input connectors

Connector Config APIs

Connectors are used to ingest data from external sources. It provides a set of APIs to register, list and read connectors configurations API

Register Connector

post
/v2/connector/register

Registers a connector by uploading a file.

Body
file3string · binaryOptional

Connector distribution file to upload.

Responses
200

Connector registered successfully.

application/json
idstringOptionalExample: api.connector.register
verstringOptionalExample: v2
tsstring · date-timeOptionalExample: 2024-11-19T09:28:47+00:00
responseCodestringOptionalExample: OK
post/v2/connector/register
POST /v2/connector/register HTTP/1.1
Host: localhost:3000
Content-Type: multipart/form-data
Accept: */*
Content-Length: 18

{
  "file3": "binary"
}
{
  "id": "api.connector.register",
  "ver": "v2",
  "ts": "2024-11-19T09:28:47+00:00",
  "params": {
    "status": "SUCCESS",
    "resmsgid": "fc2ce24f-a333-479f-931c-024d61039801"
  },
  "responseCode": "OK",
  "result": {
    "message": "connector registered successfully."
  }
}

Read Connector

get
/v2/connectors/read/{connector_id}
Path parameters
connector_idstringRequired

Unique identifier for the connector

Responses
200

OK

application/json
Responseobject
get/v2/connectors/read/{connector_id}
GET /v2/connectors/read/{connector_id} HTTP/1.1
Host: localhost:3000
Accept: */*
{
  "id": "api.connectors.read",
  "ver": "v2",
  "ts": "2024-07-31T18:17:54+05:30",
  "params": {
    "status": "SUCCESS",
    "resmsgid": "7587f564-c2d7-49a8-9e56-dc56f6808ced"
  },
  "responseCode": "OK",
  "result": {
    "id": "postgres-connector-1.0.0",
    "connector_id": "postgres-connector",
    "name": "PostgreSQL",
    "type": "source",
    "category": "Database",
    "version": "1.0.0",
    "description": "The PostgreSQL Connector is used to move data from any Postgres Table to the Obsrv platform",
    "licence": "MIT",
    "owner": "Sunbird",
    "iconurl": "https://upload.wikimedia.org/wikipedia/commons/2/29/Postgresql_elephant.svg",
    "status": "Live",
    "ui_spec": {
      "schema": {
        "type": "object",
        "properties": {
          "connector_config": {
            "title": "Connector Config",
            "type": "object",
            "encrypt": true,
            "properties": {
              "databaseType": {
                "type": "string",
                "title": "Database Type",
                "enum": [
                  "PostgreSQL",
                  "MySQL"
                ],
                "fieldDescription": [
                  {
                    "type": "string",
                    "description": ""
                  }
                ]
              }
            },
            "dependencies": {
              "databaseType": {
                "oneOf": [
                  {
                    "properties": {
                      "databaseType": {
                        "enum": [
                          "PostgreSQL",
                          "MySQL"
                        ]
                      },
                      "connection_info": {
                        "title": "Connection Information",
                        "type": "object",
                        "properties": {
                          "host": {
                            "type": "string",
                            "title": "Database Host",
                            "pattern": "/^(?:[a-zA-Z0-9-]+\\.)+[a-zA-Z]{2,}(?:/[^\\s]*)?|localhost(?:/[^\\s]*)?|((?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)/",
                            "fieldDescription": [
                              {
                                "type": "string",
                                "description": ""
                              }
                            ]
                          },
                          "port": {
                            "type": "number",
                            "title": "Database Port",
                            "minimum": 1,
                            "maximum": 65535,
                            "fieldDescription": [
                              {
                                "type": "string",
                                "description": ""
                              }
                            ]
                          },
                          "name": {
                            "type": "string",
                            "title": "Database Name",
                            "pattern": "^[a-zA-Z0-9_]{1,64}$",
                            "fieldDescription": [
                              {
                                "type": "string",
                                "description": ""
                              }
                            ]
                          },
                          "username": {
                            "type": "string",
                            "title": "Database Username",
                            "fieldDescription": [
                              {
                                "type": "string",
                                "description": ""
                              }
                            ]
                          },
                          "password": {
                            "type": "string",
                            "title": "Database Password",
                            "fieldDescription": [
                              {
                                "type": "string",
                                "description": ""
                              }
                            ]
                          }
                        }
                      },
                      "schemaInfo": {
                        "title": "Schema Information",
                        "type": "object",
                        "properties": {
                          "table": {
                            "title": "Table Name",
                            "type": "string",
                            "pattern": "^[a-zA-Z_][a-zA-Z0-9_]{0,62}$",
                            "fieldDescription": [
                              {
                                "type": "string",
                                "description": ""
                              }
                            ]
                          },
                          "timestampColumn": {
                            "title": "Timestamp Column",
                            "type": "string",
                            "fieldDescription": [
                              {
                                "type": "string",
                                "description": ""
                              }
                            ]
                          }
                        }
                      }
                    }
                  }
                ]
              }
            }
          },
          "operations_config": {
            "title": "Operations Configuration",
            "type": "object",
            "properties": {
              "batch_size": {
                "type": "number",
                "title": "Batch Size",
                "default": 100,
                "fieldDescription": [
                  {
                    "type": "string",
                    "description": ""
                  }
                ]
              },
              "max_batches": {
                "type": "number",
                "title": "Maximum Batches",
                "default": 10,
                "fieldDescription": [
                  {
                    "type": "string",
                    "description": ""
                  }
                ]
              },
              "pollingInterval": {
                "type": "string",
                "title": "Polling Interval",
                "enum": [
                  "Once",
                  "Periodic"
                ],
                "fieldDescription": [
                  {
                    "type": "string",
                    "description": "Select polling interval"
                  }
                ]
              }
            },
            "dependencies": {
              "pollingInterval": {
                "oneOf": [
                  {
                    "properties": {
                      "pollingInterval": {
                        "enum": [
                          "Periodic"
                        ]
                      },
                      "schedule": {
                        "type": "string",
                        "title": "Schedule",
                        "enum": [
                          "Hourly",
                          "Daily",
                          "Weekly",
                          "Monthly"
                        ],
                        "fieldDescription": [
                          {
                            "type": "string",
                            "description": ""
                          }
                        ]
                      }
                    },
                    "required": [
                      "schedule"
                    ]
                  }
                ]
              }
            }
          }
        }
      },
      "properties": {
        "connector_config": {
          "connection_info": {
            "password": {
              "ui:widget": "password"
            }
          }
        },
        "operations_config": {
          "batch_size": {
            "ui:readonly": true
          },
          "max_batches": {
            "ui:readonly": true
          }
        }
      }
    },
    "created_by": "SYSTEM",
    "updated_by": "SYSTEM",
    "created_date": "2024-06-25T04:38:28.732Z",
    "updated_date": "2024-06-25T04:38:28.732Z",
    "live_date": "2024-06-25T04:38:28.732Z"
  }
}

List Connectors

post
/v2/connectors/list
Body
objectOptionalExample: {"id":"api.connectors.list","ver":"v2","ts":"2024-04-10T16:10:50+05:30","params":{"msgid":"4a7f14c3-d61e-4d4f-be78-181834eeff6d"},"request":{"filters":{"status":["Draft"]}}}
Responses
200

OK

application/json
Responseobject
post/v2/connectors/list
POST /v2/connectors/list HTTP/1.1
Host: localhost:3000
Content-Type: application/json
Accept: */*
Content-Length: 173

{
  "id": "api.connectors.list",
  "ver": "v2",
  "ts": "2024-04-10T16:10:50+05:30",
  "params": {
    "msgid": "4a7f14c3-d61e-4d4f-be78-181834eeff6d"
  },
  "request": {
    "filters": {
      "status": [
        "Draft"
      ]
    }
  }
}
{
  "id": "api.connectors.list",
  "ver": "v2",
  "ts": "2024-07-30T15:25:51+05:30",
  "params": {
    "status": "SUCCESS",
    "msgid": "4a7f14c3-d61e-4d4f-be78-181834eeff6d",
    "resmsgid": "f506e725-eed4-41df-86dc-2477d5c4d19a"
  },
  "responseCode": "OK",
  "result": {
    "data": [],
    "count": 0
  }
}

Last updated

Was this helpful?