Overview
ConstellationAPI provides a unified interface to multiple SaaS platforms with direct API integrations. This allows you to interact with JIRA, GitHub, and other services through a single, consistent API with automatic connection management.
Architecture
┌─────────────────┐ ┌─────────────────┐
│ Client │────▶│ Constellation│
│ │ │ API │
└─────────────────┘ └─────────────────┘
│
│ (JWT with tenant_id + connections)
│
┌──────┴──────┐
│ Redis │
│ (Cache) │
└──────┬──────┘
│
┌──────────────────────┼──────────────────────┐
│ │ │
▼ ▼ ▼
┌───────────┐ ┌───────────┐ ┌───────────┐
│ JIRA │ │ GitHub │ │ (More) │
│ Direct │ │ Direct │ │ │
│ API │ │ API │ │ │
└───────────┘ └───────────┘ └───────────┘
Key Features:
- Direct API Integration: No middleware, direct connections to services
- Connection Pooling: Automatic connection caching and reuse per tenant
- Stateless: No database, all info from JWT tokens
- Multi-Tenant: Complete isolation between companies
Key Concepts
Multi-Tenancy
ConstellationAPI uses a stateless, JWT-based multi-tenant architecture:
- Tenant Identification: Each request includes a JWT token with
tenant_id - Tenant Isolation: Company A and Company B have completely separate connections
- Connection Pooling: Connections are automatically cached and reused per tenant
- No Database: All tenant info comes from JWT tokens (stateless)
Example:
- Company A (
tenant_id: "company-a") connects to their Jira instance - Company B (
tenant_id: "company-b") connects to their own Jira instance - Each company has isolated, cached connections
- No cross-tenant access possible
See Connection Management for details.
Direct API Integration
ConstellationAPI provides direct integrations with SaaS platforms:
- JIRA: Direct integration with Atlassian Jira API
- GitHub: Direct integration with GitHub API
- Connection Pooling: Automatic connection management and reuse
- Consistent Interface: Unified API design across all integrations
Authentication
All API requests require:
X-API-KEYheader: Your internal API keyX-JWT-Tokenheader: JWT token containingtenant_idand connection credentials
The JWT token includes:
tenant_id: Identifies which company/tenantconnections: Credentials for each integration (Jira, GitHub, etc.)
See Authentication for JWT token structure and generation.
Supported Integrations
| Integration | Status | Features |
|---|---|---|
| JIRA | ✅ | Projects, tickets, metrics, DORA metrics |
| GitHub | ✅ | Repositories, issues, PRs, metrics, DORA metrics |
| More coming soon | 🚧 | Additional integrations in development |
Each integration supports:
- CRUD Operations: Create, read, update, delete resources
- Metrics: Developer productivity and DORA metrics
- Connection Pooling: Automatic connection management per tenant
Next Steps
- Installation - Set up ConstellationAPI
- Quickstart - Make your first API call
- Authentication - Learn about JWT tokens and authentication
- Connection Management - Understand connection pooling