Overview
The API Reference describes the planned HTTP interface for managing StrataGateway infrastructure. It provides a structured overview of the planned API surface across all resource families.
The API is intended to eventually cover:
StrataGateway tooling is expected to build on the same core platform API:
The StrataGateway API is still under development. Endpoint paths, request schemas, response fields, authentication behavior, resource identifiers, pagination, rate limits, error codes, and API versioning may change before public release.
All endpoint examples on this page must be clearly treated as Preview, Illustrative, Planned, or In Development unless the existing project explicitly marks them as finalized.
Base URL
The planned base URL for the StrataGateway API:
Illustrative API base URL
Base URL
https://api.stratagateway.com/v1The final production API hostname and versioning strategy will be confirmed before public release. Do not imply that api.stratagateway.com is currently a live production API.
Illustrative request:
Illustrative request
GET https://api.stratagateway.com/v1/instancesAuthentication
The StrataGateway API is planned to use Bearer token authentication. Include the token in the Authorization header on every request.
Authorization header
Authorization: Bearer $STRATA_API_TOKENIllustrative curl example
curl \
-H "Authorization: Bearer $STRATA_API_TOKEN" \
https://api.stratagateway.com/v1/instancesAPI tokens must be treated as secrets. Never expose them in:
- frontend source code
- public repositories
- screenshots
- documentation examples
- client-side bundles
- public logs
- container images
Request format
All request bodies use JSON. Include the following headers:
Illustrative headers
Authorization: Bearer $STRATA_API_TOKEN
Content-Type: application/json
Accept: application/jsonIllustrative create-instance request:
Illustrative request schema
POST /v1/instances
{
"name": "web-prod-01",
"region": "fra-1",
"plan": "compute-standard",
"image": "ubuntu-24.04-lts",
"ssh_keys": ["key_8f3a9b1c"]
}Clearly label: Illustrative request schema. Do not claim these exact fields are finalized.
Response format
Illustrative response:
Illustrative response
{
"id": "inst_7a91c2",
"name": "web-prod-01",
"status": "provisioning",
"region": "fra-1",
"created_at": "2026-07-28T18:30:00Z"
}The final response schema is still being designed. Conceptual response elements may include: resource identifier, status, region, timestamps, metadata, resource-specific properties. Do not claim every API response will use an identical envelope.
Resource identifiers
StrataGateway uses stable, prefixed identifiers for all resources. Illustrative examples:
Prefixes and identifier formats are illustrative. Stable identifiers are useful for:
Pagination
Collection endpoints are expected to support pagination.
Under Evaluation
Illustrative request
GET /v1/instances?limit=25Illustrative response
Illustrative response
{
"data": [
{
"id": "inst_example",
"name": "web-01"
}
],
"pagination": {
"limit": 25,
"next": "cursor_example"
}
}Pagination model, cursor behavior, limits, and response field names are not finalized. Do not claim cursor pagination or offset pagination is final.
Errors
The API is planned to return a consistent error structure:
Illustrative error schema
{
"error": {
"code": "resource_not_found",
"message": "The requested resource could not be found.",
"request_id": "req_example"
}
}Illustrative HTTP status codes:
Do not claim the final API will use every status code exactly this way.
Compute
Manage Cloud Compute resources and lifecycle operations.
Endpoint names and lifecycle action paths are illustrative and may change.
Illustrative create instance request:
Create instance
POST /v1/instances
{
"name": "web-prod-01",
"region": "fra-1",
"plan": "compute-standard",
"image": "ubuntu-24.04-lts",
"ssh_keys": ["key_8f3a9b1c"]
}Networks
Manage network resources.
Illustrative create request:
Create network
{
"name": "production-private",
"region": "fra-1",
"cidr": "10.10.0.0/24"
}Do not invent advanced networking resources. Use Preview / Illustrative statuses.
Firewalls
Manage firewall policies and rules.
Illustrative create request:
Create firewall
{
"name": "web-production",
"rules": [
{
"direction": "inbound",
"protocol": "tcp",
"port": "443",
"source": "0.0.0.0/0",
"action": "allow"
}
]
}Clearly state that the rule schema is not finalized.
SSH Keys
Manage SSH keys for instance access.
Illustrative create request:
Create SSH key
{
"name": "Personal Laptop",
"public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAI..."
}Only public SSH key material must ever be submitted. Private SSH keys must remain on the user's trusted device.
Backups
Manage backup resources and restore operations.
Use Illustrative / Planned statuses. Do not claim backup endpoints currently exist.
Monitoring
Retrieve metrics and events for resources.
Metric names, query parameters, aggregation, retention, endpoint paths, and response schemas are not finalized. Do not invent Prometheus-compatible endpoints.
DDoS Events
Retrieve DDoS event data and protection state.
Illustrative future API. Do not claim customer-facing DDoS telemetry exists today.
Rate limits
API rate limiting is expected for:
Technical safety limits are enforced server-side, but do not invent or promise requests per second, requests per minute, burst limits, per-token quotas, or endpoint-specific quotas. These controls are not customer resource quotas.
Potential illustrative headers:
Illustrative header model
RateLimit-Limit: 100
RateLimit-Remaining: 99
RateLimit-Reset: 1706454000Clearly label: Illustrative header model. Do not claim those header names are final.
Versioning
Versioning is intended to provide a stable API contract.
Illustrative version prefix
Version prefix
/v1/Conceptual goals:
The final versioning and deprecation policy will be published before the production API is released.
Control-plane mutations
API v1 supports JSON create, partial update, and delete operations for the current Compute, Networking, and Storage control-plane records. These operations use the same resource model as the dashboard and require a project API credential.
Mutation endpoints
POST /api/v1/compute
PATCH /api/v1/compute/{instanceId}
DELETE /api/v1/compute/{instanceId}
POST /api/v1/networking
PATCH /api/v1/networking/{networkId}
DELETE /api/v1/networking/{networkId}
POST /api/v1/storage
PATCH /api/v1/storage/{volumeId}
DELETE /api/v1/storage/{volumeId}Compute create request
POST /api/v1/compute
Authorization: Bearer sg_live_...
Content-Type: application/json
Idempotency-Key: 2f7b1b58-0f11-4e90-8a75-1b3c3bb2f6d1
{
"name": "web-01",
"region": "fra-1",
"image": "ubuntu-24-04",
"plan": "shared-1"
}Response shape
{
"instance": {
"publicId": "7d9c2c5d-2b29-4ec5-9af4-4a8f1d9f4e12",
"name": "web-01",
"regionKey": "fra-1",
"imageKey": "ubuntu-24-04",
"planKey": "shared-1",
"status": "queued",
"customerStatus": {
"status": "pending",
"reasonCode": "provisioning_pending",
"severity": "info",
"actionability": "wait",
"guidance": "wait",
"operation": { "type": "create", "state": "queued" },
"actions": { "edit": true, "delete": true, "start": false, "stop": false, "reboot": false, "snapshot": false, "firewall": false, "reverseDns": false }
}
}
}Creates currently record control-plane state only. They do not provision a VPS, allocate an IP, attach physical storage, or deploy a network route.
Compute status projection
Compute list and detail responses include an additivecustomerStatusprojection. It describes pending, provisioning, retrying, running, stopped, deleting, failed, delayed, reconciling, and deleted states using provider-neutral reason codes and action guidance. A reconciling state is not safe to repeat blindly.
The projection never includes provider identifiers, raw provider errors, worker details, incident records, or infrastructure credentials. It is informational; server-side authorization, idempotency, conflict, quota, capacity, and execution gates remain authoritative.
Idempotency
All Phase 2 resource mutations require an Idempotency-Key header. The key is scoped to the authenticated project, method, and route.
Supported for POST, PATCH, and DELETE
Illustrative header
Idempotency-Key: example-request-keyReusing a key with the same canonical JSON request replays the original response. Reusing it with a different request returns 409 idempotency_conflict. Mutation errors use the standard JSON error model and responses are marked no-store.
Request IDs
Request identifiers are planned for troubleshooting and support.
Illustrative
Illustrative header
X-Request-ID: req_examplePotential uses:
Do not claim the exact header name is final.
API Reference Status Matrix
Compact overview of resource reference and implementation status:
Inspect the actual shared project status data. If existing status values differ, use the project's real shared status configuration. Do not create contradictory hardcoded statuses.
REST API guide
This page complements rather than replaces the REST API guide:
REST API Guide
Learn API concepts, authentication, workflows, and usage patterns.
API Reference
Browse structured resource and endpoint documentation.
Do not duplicate full article content.
SDKs and tooling
The conceptual relationship between tooling and the API:
Conceptual flow
Application
→ SDK / CLI / Terraform
→ StrataGateway REST API
→ Control PlaneLink to verified routes:
Future SDK methods and CLI commands are expected to map to core API resources, but exact one-to-one mappings are not finalized.
Next steps
Next
Service StatusREST API
Learn API concepts, authentication, workflows.
Authentication
Token-based authentication and identity boundaries.
CLI
Command-line workflows for automation.
TypeScript SDK
JavaScript and TypeScript developer tooling.
Python SDK
Python client workflows for infrastructure automation.
Terraform Provider
Declarative infrastructure-as-code provisioning.
Was this page helpful?