Services API
Services represent applications, microservices, or software components running on your infrastructure. This reference covers service CRUD, servers (compute resources), dependency mapping, and import/export.
Base URL
https://app.quazzar.spaceAll requests require an Authorization: Bearer <token> header. See the Authentication guide.
List Services
GET /services
curl -H "Authorization: Bearer YOUR_TOKEN" \
"https://app.quazzar.space/services?project_id=PROJECT_UUID&environment_id=ENV_UUID"Query Parameters:
| Parameter | Type | Description |
|---|---|---|
project_id | uuid | Filter by project (required) |
environment_id | uuid | Filter by environment |
group_id | uuid | Filter by group |
search | string | Search by service name |
language | string | Filter by programming language |
tags | string | Filter by tags (comma-separated) |
page | integer | Page number (default: 1) |
per_page | integer | Items per page (default: 20) |
Response (200 OK):
{
"items": [
{
"id": "svc-uuid-1",
"name": "auth-service",
"description": "Authentication and authorization microservice",
"type": "backend",
"category": "api",
"language": "python",
"version": "3.2.0",
"replicas": 3,
"repository_url": "https://github.com/org/auth-service",
"jira_project_key": "AUTH",
"tags": ["critical", "auth"],
"ports": [8080, 8443],
"project_id": "project-uuid",
"environment_id": "env-uuid",
"created_at": "2026-01-20T14:00:00Z"
}
],
"total": 24,
"page": 1,
"per_page": 20
}Create Service
POST /services
curl -X POST https://app.quazzar.space/services \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "auth-service",
"description": "Authentication and authorization microservice",
"type": "backend",
"category": "api",
"language": "python",
"version": "3.2.0",
"replicas": 3,
"repository_url": "https://github.com/org/auth-service",
"jira_project_key": "AUTH",
"tags": ["critical", "auth"],
"ports": [8080, 8443],
"project_id": "project-uuid",
"environment_id": "env-uuid",
"group_id": "group-uuid"
}'Response (201 Created): Returns the created service object.
Error Responses:
| Status | Description |
|---|---|
403 | Service limit reached for your subscription tier |
409 | Service with this name already exists in the scope |
422 | Validation error |
Service Limits
| Tier | Max Services |
|---|---|
| Free | 3 |
| Starter | 10 |
| Team / Business | 50 |
| Enterprise | Unlimited |
Get Service
GET /services/{service_id}
curl -H "Authorization: Bearer YOUR_TOKEN" \
https://app.quazzar.space/services/SVC_UUIDReturns the full service object with all metadata fields.
Update Service
PATCH /services/{service_id}
curl -X PATCH https://app.quazzar.space/services/SVC_UUID \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"description": "Updated auth service with OAuth2 support",
"version": "3.3.0",
"repository_url": "https://github.com/org/auth-service-v2"
}'Returns the updated service object.
Delete Service
DELETE /services/{service_id}
curl -X DELETE https://app.quazzar.space/services/SVC_UUID \
-H "Authorization: Bearer YOUR_TOKEN"Response (204 No Content) — removes the service and all associated connections and network attachments.
Service Connections
Map dependencies between services to visualize your architecture.
Create Connection
POST /service-connections
curl -X POST https://app.quazzar.space/service-connections \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"source_service_id": "auth-service-uuid",
"target_service_id": "user-database-uuid",
"connection_type": "database",
"description": "PostgreSQL connection for user data",
"port": 5432,
"protocol": "tcp"
}'Connection Types: http, grpc, database, queue, cache, custom
List Connections
GET /service-connections?service_id={id}
curl -H "Authorization: Bearer YOUR_TOKEN" \
"https://app.quazzar.space/service-connections?service_id=SVC_UUID"Get Dependency Graph
Retrieve the full dependency graph for a project or environment:
GET /service-links?project_id={id}&environment_id={id}
curl -H "Authorization: Bearer YOUR_TOKEN" \
"https://app.quazzar.space/service-links?project_id=PROJ_UUID&environment_id=ENV_UUID"Returns all service links, allowing you to build a visual dependency map showing how services connect to each other.
Servers (Service Floors)
Servers represent compute resources — virtual machines, containers, or bare metal servers.
Create Server
POST /service_floors
curl -X POST https://app.quazzar.space/service_floors \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "api-server-1",
"type": "vm",
"provider": "aws",
"region": "us-east-1",
"zone": "us-east-1a",
"specs": {
"cpu": 4,
"memory_gb": 16,
"disk_gb": 100,
"instance_type": "m5.xlarge"
},
"monthly_cost": 166.40,
"project_id": "project-uuid",
"environment_id": "env-uuid"
}'Server Types:
| Type | Description |
|---|---|
vm | Virtual machine (AWS EC2, GCP CE, Azure VM, Hetzner Cloud) |
container | Container instance (Docker, Kubernetes pod) |
bare_metal | Physical dedicated server |
Supported Providers: aws, gcp, azure, hetzner, ovh, digitalocean
List Servers
GET /service_floors
curl -H "Authorization: Bearer YOUR_TOKEN" \
"https://app.quazzar.space/service_floors?project_id=PROJ_UUID&provider=aws"Networks
Define network configurations and attach services and servers.
Create Network
POST /networks
curl -X POST https://app.quazzar.space/networks \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "production-vpc",
"cidr": "10.0.0.0/16",
"vlan_id": 100,
"gateway": "10.0.0.1",
"dns_servers": ["10.0.0.2", "10.0.0.3"],
"project_id": "project-uuid",
"environment_id": "env-uuid"
}'Network names must be unique within a project and environment pair.
Import / Export
Export and import your project and environment configurations as JSON for backup or migration.
Export
POST /impex/export
curl -X POST https://app.quazzar.space/impex/export \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"project_id": "project-uuid",
"environment_id": "env-uuid"
}'Returns a JSON document containing all groups, subgroups, services, servers, networks, and service links for the specified environment.
Import
POST /impex/import
curl -X POST https://app.quazzar.space/impex/import \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"project_id": "target-project-uuid",
"environment_id": "target-env-uuid",
"groups": [...],
"subgroups": [...],
"service_floors": [...],
"services": [...],
"networks": [...],
"service_links": [...]
}'Import runs as a background job. Resources are matched by name — existing resources with the same name are updated, new ones are created. Available on Starter tier and above.
Auto-Discovery
For connected cloud provider accounts, Quazzar Space can automatically discover and import existing infrastructure.
Trigger Discovery
POST /integrations/discover
curl -X POST https://app.quazzar.space/integrations/discover \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"provider": "aws",
"integration_id": "integration-uuid",
"project_id": "project-uuid",
"environment_id": "env-uuid"
}'Discovery runs as a background job and creates servers for each discovered resource. Available for AWS, GCP, and Azure on Team tier and above.
Next Steps
- Projects API — Manage projects and environments
- Billing API — Cost tracking and subscriptions
- Infrastructure Guide — Best practices for organizing services