Skip to Content

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.space

All 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:

ParameterTypeDescription
project_iduuidFilter by project (required)
environment_iduuidFilter by environment
group_iduuidFilter by group
searchstringSearch by service name
languagestringFilter by programming language
tagsstringFilter by tags (comma-separated)
pageintegerPage number (default: 1)
per_pageintegerItems 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:

StatusDescription
403Service limit reached for your subscription tier
409Service with this name already exists in the scope
422Validation error

Service Limits

TierMax Services
Free3
Starter10
Team / Business50
EnterpriseUnlimited

Get Service

GET /services/{service_id}

curl -H "Authorization: Bearer YOUR_TOKEN" \ https://app.quazzar.space/services/SVC_UUID

Returns 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:

TypeDescription
vmVirtual machine (AWS EC2, GCP CE, Azure VM, Hetzner Cloud)
containerContainer instance (Docker, Kubernetes pod)
bare_metalPhysical 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