Custom Integrations
Quazzar Space provides multiple integration points for connecting with your existing tools and workflows. This guide covers REST API usage patterns, webhook configuration, API key management, rate limits, and working with the Quazzar team for Enterprise integrations.
Integration Methods
| Method | Best For | Availability |
|---|---|---|
| REST API | Standard CRUD operations and automation | Starter and above |
| Webhooks | Event-driven integrations | Team and above |
| Jira Integration | Issue tracking synchronization | Team and above |
| Slack Integration | Notifications and alerts | Starter and above |
| PagerDuty | On-call alert routing | Enterprise |
| Custom Integrations | Bespoke tooling and workflows | Enterprise |
REST API Usage Patterns
All Quazzar Space resources are accessible through the REST API. Common automation patterns include:
CI/CD Pipeline Integration
Update service metadata from your deployment pipeline:
# After a successful deployment, update the service version
curl -X PATCH https://app.quazzar.space/services/SVC_UUID \
-H "Authorization: Bearer $QUAZZAR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"version": "'$GIT_TAG'",
"description": "Deployed from CI at '$BUILD_URL'"
}'Infrastructure Sync
Keep Quazzar Space in sync with your infrastructure-as-code:
# Create or update a server entry after Terraform apply
curl -X POST https://app.quazzar.space/service_floors \
-H "Authorization: Bearer $QUAZZAR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "web-server-prod-3",
"type": "vm",
"provider": "aws",
"region": "us-east-1",
"specs": {"cpu": 4, "memory_gb": 16, "instance_type": "m5.xlarge"},
"project_id": "'$PROJECT_ID'",
"environment_id": "'$ENV_ID'"
}'Bulk Operations with Import/Export
For large-scale changes, use the import/export API to modify configurations offline and re-import:
# Export current state
curl -X POST https://app.quazzar.space/impex/export \
-H "Authorization: Bearer $QUAZZAR_API_KEY" \
-d '{"project_id": "PROJECT_UUID", "environment_id": "ENV_UUID"}' \
-o environment-backup.json
# Modify the JSON file as needed, then re-import
curl -X POST https://app.quazzar.space/impex/import \
-H "Authorization: Bearer $QUAZZAR_API_KEY" \
-H "Content-Type: application/json" \
-d @environment-modified.jsonWebhook Configuration
Subscribe to platform events and receive HTTP callbacks when they occur. Available on Team tier and above.
Registering a Webhook
Configure webhooks from Settings > Integrations > Webhooks in the dashboard. Provide:
- URL: The endpoint that will receive webhook events
- Events: Which event types to subscribe to
- Secret: A signing secret for verifying webhook authenticity
Webhook Payload
{
"id": "evt_abc123",
"type": "service.created",
"timestamp": "2026-03-01T12:00:00Z",
"data": {
"service_id": "svc-uuid",
"name": "new-api-service",
"project_id": "proj-uuid",
"environment_id": "env-uuid"
}
}Verifying Webhook Signatures
Each webhook request includes an X-Quazzar-Signature header. Verify it using your webhook secret:
import hmac
import hashlib
def verify_signature(payload: bytes, signature: str, secret: str) -> bool:
expected = hmac.new(
secret.encode(), payload, hashlib.sha256
).hexdigest()
return hmac.compare_digest(f"sha256={expected}", signature)Available Events
| Event | Description |
|---|---|
service.created | A new service was registered |
service.updated | A service was modified |
service.deleted | A service was removed |
floor.created | A new server was created |
alert.triggered | A monitoring alert was triggered |
alert.resolved | A monitoring alert was resolved |
user.invited | A user was invited to a project |
subscription.changed | A subscription plan was changed |
API Key Management
Create and manage API keys from Profile > API Keys in the dashboard.
Best Practices
- Scope keys per project: Create separate API keys for each project or integration to limit blast radius
- Rotate regularly: Rotate keys periodically and after team member departures
- Use environment variables: Never hardcode API keys in source code
- Monitor usage: Review API key activity in the audit log
Key Permissions
API keys inherit the permissions of the user who created them. For CI/CD integrations, consider creating a dedicated service account with only the necessary project access.
Rate Limits by Plan
| Plan | Rate Limit |
|---|---|
| Starter | 120 requests/minute |
| Team | 300 requests/minute |
| Business | 600 requests/minute |
| Enterprise | 1,200 requests/minute |
| Enterprise+ | Custom (negotiable) |
When rate-limited, the API returns 429 Too Many Requests with a Retry-After header indicating when you can retry.
Built-In Integrations
Jira Synchronization
The built-in Jira integration synchronizes project and issue data automatically:
- Navigate to Settings > Integrations > Jira
- Enter your Jira instance URL and API token
- Map Jira projects to Quazzar services via the
jira_project_keyfield - Configure which fields to sync (status, assignee, labels)
Slack Notifications
Set up Slack notifications for platform events:
- Create a Slack app and generate an incoming webhook URL
- Navigate to Settings > Integrations > Slack
- Paste the webhook URL
- Select which events trigger Slack messages
PagerDuty (Enterprise)
Forward critical monitoring alerts to PagerDuty:
- Navigate to Settings > Integrations > PagerDuty
- Enter your PagerDuty integration key
- Map alert severity levels to PagerDuty urgency levels
Enterprise Custom Integrations
Enterprise customers can work with the Quazzar team to build custom integrations for:
- ServiceNow: Incident and change management synchronization
- Custom notification channels: Microsoft Teams, email groups, SMS
- Internal tools: Private API connectors for proprietary systems
- Data pipelines: Streaming infrastructure data to analytics platforms
Contact your account manager or email [email protected] to discuss custom integration requirements.
Next Steps
- Enterprise Deployment — SSO, SCIM, and advanced security
- White-Labeling — Brand the platform as your own
- Platform Architecture — Understand the platform architecture