Overview
The SYNQ API enables you to programmatically manage data quality monitors, custom entities, and other platform features. The API is built on gRPC, making it easy to integrate with your existing data infrastructure. Recommended approach: Use our pre-generated SDKs from buf.build/getsynq/api - no proto compilation required!Quick Start
1
Get API Credentials
Generate client credentials from the SYNQ application.Select the appropriate scope for your use case (e.g., read-only, write access, admin).
2
Choose Your Integration Method
Option 1 (Recommended): Use pre-generated SDKs from buf.buildOption 2: Generate client code from protosOption 3: Check out our reference implementations
3
Authenticate
Fetch an access token using OAuth2 client credentials flow
4
Start Building
Initialize gRPC clients and call API methods from your code
Reference Implementations
The best way to learn the SYNQ API is to see it in action. We’ve built two production-ready integrations that demonstrate best practices:Google Cloud Storage
Sync GCS buckets as custom entitiesDemonstrates:
- OAuth2 authentication
- Creating custom entity types
- Entity groups for auto-cleanup
- Regional deployment handling
Google Cloud Pub/Sub
Sync Pub/Sub topics and subscriptionsDemonstrates:
- Managing multiple entity types
- Creating relationships between entities
- Advanced filtering patterns
- Dry-run mode implementation
- Production-ready with pre-built binaries
- Well-documented with configuration examples
- Built using Go with the official buf.build SDKs
- Available as open source
Using Pre-Generated SDKs (Recommended)
The simplest way to use the SYNQ API is through our pre-generated SDKs available on buf.build/getsynq/api/sdks.- Go
- Python
- TypeScript
- Other Languages
Using buf.build SDKs means you don’t need to install
protoc, manage proto files, or generate code yourself.Authentication
All API calls require an access token obtained via OAuth2 client credentials flow.1. Generate Client Credentials
- Go to SYNQ Settings → API
- Create new client credentials
- Note your
CLIENT_IDandCLIENT_SECRET - Select the appropriate scope for your use case
2. Fetch Access Token
- EU Region (Default)
- US Region
3. Use the Access Token
Include the access token in your gRPC metadata:API Endpoints
Use the appropriate endpoint for your region:- EU Region (Default)
- US Region
- gRPC API:
developer.synq.io:443 - OAuth2:
https://developer.synq.io/oauth2/token - App: https://app.synq.io
Complete Example
Here’s a minimal working example in Go:Advanced: Generating Client Code from Protos
If you prefer to generate client code yourself, you can clone the protos from our GitHub repository.Manual Code Generation
Manual Code Generation
Prerequisites
- Install protoc
- Install language-specific plugins
- Install protovalidate
Clone the Repository
Generate Go Code
Generate Python Code
Common Use Cases
Custom Entity Management
Create and manage custom entity types to track cloud resources, data pipelines, or any data assets.See GCS example →
Data Lineage
Create relationships between entities to build cross-platform data lineage.See Pub/Sub example →
Monitor Management
Programmatically create and manage data quality monitors.View gRPC API →
Webhooks
Receive real-time notifications about incidents and alerts.View webhook docs →
Additional Resources
- API Reference: gRPC API Documentation
- Protos: github.com/getsynq/api
- SDKs: buf.build/getsynq/api
- Examples:
Troubleshooting
Slow gRPC connection
Slow gRPC connection
If you experience slow connections, especially behind a VPN, try flushing your DNS cache:
Authentication errors
Authentication errors
- Verify your client credentials are correct
- Ensure you’re using the correct OAuth2 endpoint for your region (EU or US)
- Check that your credentials have the required scope
- Verify the access token hasn’t expired
Connection refused errors
Connection refused errors
- Verify you’re using the correct API endpoint for your region
- Check your firewall allows outbound HTTPS/gRPC connections (port 443)
- If behind a corporate proxy, configure your gRPC client accordingly
Proto compilation issues
Proto compilation issues
Consider using pre-generated SDKs from buf.build instead of generating code manually. This avoids:
- Installing and configuring
protoc - Managing proto dependencies
- Keeping generated code in sync with API updates
Need Help?
- Documentation: Browse our full API reference
- Support: Contact us through the support page
- Examples: Check our reference implementations