API overview
Automate projects, services, variables, deployments, and logs with the Openstead REST API.
The Openstead API lets your server, CI pipeline, or developer tools manage applications on Openstead. Openstead operates the infrastructure; API clients work with workspaces and services.
Base URL
https://api.openstead.tech/api/v1Requests and responses use JSON. Send a workspace-scoped bearer key for authenticated operations. The OpenAPI specification is available without a key.
Make your first request
Create a read-only key in Account settings → API Keys and set OPENSTEAD_API_KEY in your shell's secret environment. Set OPENSTEAD_WORKSPACE_ID to the workspace UUID selected when creating that key.
curl --fail-with-body \
--header "Authorization: Bearer $OPENSTEAD_API_KEY" \
"https://api.openstead.tech/api/v1/workspaces/$OPENSTEAD_WORKSPACE_ID/services?limit=100"The response contains services and pagination metadata. A workspace with no services returns an empty list. Resource identifiers are UUIDs; a service name cannot replace a serviceId in a REST path.
Resource groups
| Resource | What you can do |
|---|---|
| Catalog | Read service types, runtimes, plans, defaults, and current capabilities. |
| Workspace | Read the authorized workspace, your role, and entitlements. |
| Projects | Create and organise projects and read their environments. |
| Services | Create or update configuration; archive, restore, delete, or operate services. |
| Variables | Manage encrypted variables and explicitly reveal an authorized value. |
| Deployments | Queue, inspect, cancel, or roll back releases. |
| Logs | Read and follow retained build, runtime, and system output. |
The public core specification defines the supported operations. Account sign-in, payment checkout, and dashboard-specific endpoints are separate workflows. Use the published specification when building a REST integration.
Read the returned state
Success responses preserve a named envelope, such as {"service": {...}} or {"projects": [...]}. Create requests and queued actions return HTTP 200. Inspect the resource state to determine what completed.
A deployment with status: "queued" has been accepted for processing. A deletion with queued: true is still in progress. Use follow-up reads or an SDK polling helper to observe the result.
Choose your integration
- Python SDK: synchronous and asynchronous typed clients.
- TypeScript SDK: typed Node.js client with pagination and polling.
- Openstead CLI: interactive operations and CI commands.
- MCP server: connect supported assistant tools to a workspace.
- API reference: endpoint parameters and response schemas.
Before adding automation, read authentication, pagination, and retry rules.