Custom Integration API

Overview

The Customer Integration API empowers users to seamlessly extend Paradime's lineage and catalog capabilities with external applications. This powerful interface enables you to:

  • Create custom integrations tailored to your specific needs

  • Ingest and manage nodes from various data sources and applications

  • Upload node information for Paradime to incorporate into its lineage and catalog

  • Enhance data visibility by connecting Paradime with your entire data ecosystem

By leveraging this API, you can create a comprehensive, interconnected view of your data landscape, improving data governance, traceability, and insights across your organization.

Registering a New Integration

The integrationUid in the response will be used in later APIs. This enpoint needs to be called only once when registering a new type of integration.

Defining color for a node:

The color can be one defined from one of the provided color pallets:

  • VIOLET #827be6

  • ORANGE #fb982e

  • MANDY #ef6292

  • TEAL #33a9a9

  • GREEN #27ae60

Defining icon for a node:

Example request

import requests
import os

# API credentials
api_endpoint = "<YOUR_API_ENDPOINT>"
api_key = "<YOUR_API_KEY>"
api_secret = "<YOUR_API_SECRET>"

graphql_query = """
mutation {
  addCustomIntegration(
    logoUrl: "https://example.com/logo.png"
    name: "Sample Integration"
    nodeTypes: [
      {
        nodeType: "Type1"
        iconName: "icon1"
        color: CYAN
      }
      {
        nodeType: "Type2"
        iconName: "icon2"
        color: VIOLET
      }
    ]
  ) {
    ok
    integrationUid
  }
}
  """
  
response = requests.post(api_endpoint, json={"query": graphql_query}, headers={
      "Content-Type": "application/json",
      "X-API-KEY": api_key,
      "X-API-SECRET": api_secret,
  })

print(response.json())
Example response
{
  "data": {
    "addCustomIntegration": {
      "ok": true,
      "integrationUid": "uuid-422324"
    }
  }
}

The integrationUid from above will be used in later APIs. The above api needs to be called only once when registering a new type of integration.

Adding nodes to an integration

Update a custom integration with the specified parameters.

Example request

Example response
// Some code

List Custom Integrations

Retrieves a list of all custom integrations. This includes both active and inactive integrations.

Example request

import requests
import os

# API credentials
api_endpoint = "<YOUR_API_ENDPOINT>"
api_key = "<YOUR_API_KEY>"
api_secret = "<YOUR_API_SECRET>"

graphql_query = """
query {
  listCustomIntegrations {
    ok
    integrations {
      uid
      name
      logoBase64
      isActive
      nodeTypes {
        nodeType
        iconName
        color
      }
    }
  }
}
  """
  
response = requests.post(api_endpoint, json={"query": graphql_query}, headers={
      "Content-Type": "application/json",
      "X-API-KEY": api_key,
      "X-API-SECRET": api_secret,
  })

print(response.json())
Example response
{
  "data": {
    "listCustomIntegrations": {
      "ok": true,
      "integrations": [
        {
          "uid": "abc123",
          "name": "Sample Integration 1",
          "logoBase64": "base64encodedlogoimage",
          "isActive": true,
          "nodeTypes": [
            {
              "nodeType": "NodeType1",
              "iconName": "icon1",
              "color": "CYAN"
            },
            {
              "nodeType": "NodeType2",
              "iconName": "icon2",
              "color": "VIOLET"
            }
          ]
        },
        {
          "uid": "def456",
          "name": "Sample Integration 2",
          "logoBase64": "base64encodedlogoimage",
          "isActive": false,
          "nodeTypes": [
            {
              "nodeType": "NodeType3",
              "iconName": "icon3",
              "color": "GREEN"
            }
          ]
        }
      ]
    }
  }
}

Last updated