Skip to main content

Overview

Prerequisites:
  • This feature is available with the Paradime Enterprise pack.
  • Your API keys must have the Custom Integrations Admin capability.
These examples authenticate with an account API key (api_secret="prdm_cmp_..." plus workspace_uid), which requires paradime-io 6.0.0 or later. Legacy workspace API keys (api_key + api_secret) are still supported. See Getting Started.
The Custom 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 module, you can create a comprehensive, interconnected view of your data landscape, improving data governance, traceability, and insights across your organization. You can find examples and a template on how to get started here

Create a custom integration and upload nodes using JSON

This example uses as inputs the node_types.json and the nodes.json.
The below example is where we define our node types and the related attributes.
Defining color for a node:The color can be one defined from one of the provided color palettes:
  • VIOLET #827be6
  • ORANGE #fb982e
  • MANDY #ef6292
  • TEAL #33a9a9
  • GREEN #27ae60
  • CORAL #FF8559
  • LEAF
  • CYAN
Defining icon for a node:Example node_type.json

Methods

All methods are called on paradime.custom_integration.

create

Creates a custom integration with the specified name, logo URL, and node types.
str
required
The name of the custom integration.
Optional[str]
required
The URL of the logo for the custom integration. If not provided (None), a default logo is used.
List[NodeType]
required
A list of NodeType objects representing the node types for the custom integration.
str
The integration UID of the created custom integration.
All arguments are keyword-only.

update

Updates a custom integration with the specified parameters. Only the parameters that are not None are updated.
str
required
The unique identifier of the integration.
Optional[str]
default:"None"
The new name of the integration.
Optional[str]
default:"None"
The new logo URL of the integration.
Optional[List[NodeType]]
default:"None"
The new list of node types for the integration. Overrides the existing node types.
Optional[bool]
default:"None"
Whether the integration should be active.
None
Returns nothing.
All arguments are keyword-only.

upsert

Upserts an integration by either updating an existing integration with the given name, or creating a new integration if it doesn’t exist.
str
required
The name of the integration.
Optional[str]
default:"None"
The URL of the integration’s logo.
List[NodeType]
required
A list of node types associated with the integration.
Integration
The upserted integration.
All arguments are keyword-only.

list_all

Retrieves a list of all custom integrations, including both active and inactive integrations. Takes no arguments.
List[Integration]
A list of Integration objects representing the custom integrations.

list_active

Retrieves a list of all active custom integrations. Takes no arguments.
List[Integration]
A list of Integration objects representing the active custom integrations.

get

Retrieves an active integration with the specified UID.
str
required
The UID of the integration to retrieve. Positional argument.
Optional[Integration]
The Integration object if found, otherwise None.

get_by_name

Retrieves an active custom integration with the specified name.
str
required
The name of the integration to retrieve. Positional argument.
Optional[Integration]
The Integration object if found, otherwise None.

add_nodes

Adds all nodes to a new snapshot in the custom integration. Internally batches the nodes across multiple requests. To add nodes in a streaming fashion, use add_nodes_to_snapshot.
str
required
The unique identifier of the integration.
List[Node]
required
The list of all nodes to be added to the integration.
None
Returns nothing.
All arguments are keyword-only.

add_nodes_to_snapshot

Adds nodes to a snapshot in the custom integration. A snapshot is a collection of nodes added to the custom integration. Nodes are added in batches, and the snapshot ID keeps track of the nodes added to the snapshot. This method is useful when adding a large number of nodes in batches.
str
required
The UID of the custom integration.
List[Node]
required
The list of nodes to be added to the snapshot.
bool
required
Indicates whether the snapshot has more nodes. Set to False when adding the last batch of nodes.
Optional[int]
default:"None"
The ID of the snapshot. If not provided, a new snapshot is created. If provided, the nodes are added to the existing snapshot.
int
The ID of the snapshot after adding the nodes.
All arguments are keyword-only.