How to Integrate Synaptica with the Squirro Classifier#
Feature status notice
The Squirro Classifier is still in development. As we continue to refine and improve it, you may encounter some inconsistencies or issues. Please visit the Squirro Support website to share your feedback.
This guide explains how project administrators can integrate Synaptica with Squirro Classifier to enable features such as Linked Categories. The integration allows Squirro to connect with Synaptica’s Graphite API v2 to access taxonomies and controlled vocabularies.
Profile: Project Administrator
Introduction#
Synaptica is a leading provider of taxonomy and controlled vocabulary management solutions. By integrating Synaptica with Squirro Classifier, you can enable enhanced classification capabilities using your organization’s existing taxonomies.
The integration works by connecting to Synaptica’s Graphite API v2, which provides access to concepts that are used for classification. Squirro Classifier categories that are linked to Synaptica concepts are called Linked Categories. These categories enable Entity Linking, by associating entities detected by the Classifier with Synaptica concepts.
Prerequisites#
Before setting up the integration, ensure you have:
Squirro Project Administrator access - You must have admin permissions to configure integrations
Synaptica account - Active Synaptica account with API access
Graphite API v2 access - Your Synaptica installation must support Graphite API v2
API credentials - Username and password for Graphite API access
Integration Configuration Options#
Squirro provides two levels of Synaptica integration configuration:
Project-Level Integration (integrations.graphite.project)#
Project-level integrations apply only to the specific project where they are configured. This option is ideal when:
Different projects need different Synaptica configurations
You want to test the integration on a specific project first
Projects have distinct taxonomy requirements
Server-Level Integration (integrations.graphite.server)#
Server-level integrations apply to all projects on the Squirro server. This option is recommended when:
All projects should use the same Synaptica configuration
You want to standardize taxonomy access across your organization
Managing multiple identical configurations would be inefficient
Step-by-Step Configuration#
Setting Up Project-Level Integration#
Access Project Configuration
Navigate to your Squirro project and access the project configuration settings.
Configure Graphite Integration
Add the following configuration to your project settings under
integrations.graphite.project
:{ "integrations.graphite.project": { "your_integration_name": { "base_url": "https://your-synaptica-domain.synaptica.net/rest/v2/", "username": "your_api_username", "password_config_key": "integrations.graphite.your_integration_name.password" } } }
Replace the following values:
your_integration_name
- A unique identifier for this integrationyour-synaptica-domain
- Your Synaptica domainyour_api_username
- Your Synaptica API username
Configure Password Secret
The password must be stored separately as a secret configuration setting. Set the password using the key specified in
password_config_key
:{ "integrations.graphite.your_integration_name.password": "your_api_password" }
Setting Up Server-Level Integration#
Access Server Configuration
Navigate to the server configuration settings in your Squirro instance.
Configure Graphite Integration
Add the following configuration to your server settings under
integrations.graphite.server
:{ "integrations.graphite.server": { "your_integration_name": { "base_url": "https://your-synaptica-domain.synaptica.net/rest/v2/", "username": "your_api_username", "password_config_key": "integrations.graphite.your_integration_name.password" } } }
Configure Password Secret
Set the password as a server-level secret:
{ "integrations.graphite.your_integration_name.password": "your_api_password" }
Configuration Parameters#
The Synaptica integration requires the following configuration parameters:
Base URL#
Parameter:
base_url
Description: The API endpoint for your Synaptica Graphite API v2
Format:
https://your-domain.synaptica.net/rest/v2/
Required: Yes
Username#
Parameter:
username
Description: API username for authentication
Required: Yes
Password Config Key#
Parameter:
password_config_key
Description: Reference to the secret configuration key containing the API password
Recommended format:
integrations.graphite.<integration-name>.password
Required: Yes
Testing the Integration#
After configuring the integration, you can test the connection by:
Verifying Configuration
Ensure all required parameters are properly set and the password secret is configured.
For example, by using the Python Squirro client:
from squirro_client import SquirroClient client = SquirroClient(None, None, cluster=CLUSTER) client.authenticate(refresh_token=USER_TOKEN) graphite_instances = client.get_graphite_instances(PROJECT_ID) print(graphite_instances) # Output list available Synaptica Graphite instances for the project: # [{'id': 'your_integration_name', 'host': 'https://your-domain.synaptica.net/rest/v2', 'username': 'your_api_username'}]
Check API Connectivity and Validate Permissions
Test that Squirro can successfully connect to your Synaptica Graphite API endpoint. Also, confirm that the API user has appropriate permissions to access the required Synaptica projects, schemes and concepts.
Using the Squirro Client:
graphite_instance_id = "your_integration_name" graphite_projects = client.get_graphite_projects(PROJECT_ID, graphite_instance_id) print(graphite_projects) # Output should list available Synaptica projects: # [{'uri': 'https://your-domain.synaptica.net/project/your-project-id', 'label': 'Your Project Label', 'id': 'your-project-id'}],
Troubleshooting#
Common Issues and Solutions#
- Connection Failed
Verify the
base_url
points to the correct Graphite API v2 endpointEnsure the URL includes the
/rest/v2/
path
- Authentication Errors
Check that the username and password are correct
Verify the password is stored in the correct secret configuration key
Ensure the API user has necessary permissions
- Integration Not Available
Confirm the integration is configured at the appropriate level (project or server)
Check that the integration name matches across all configuration references
Verify the configuration has been applied and services restarted if necessary
Security Considerations#
When configuring the Synaptica integration:
Password Security: Always store passwords in separate secret configuration settings, never in plain text
Access Control: Limit API user permissions to only the required taxonomies and operations (currently only read operations are supported)
Network Security: Use HTTPS for all API communications
Regular Updates: Periodically rotate API credentials and review access permissions
Support and Additional Resources#
For additional support with Synaptica integration contact Squirro Support.