Create a service
Creation saves configuration by default. deploy:true also queues real execution if enabled and authorized. Project placement requires an environment belonging to that project. Protected environments require admin access. API keys cannot grant paid-compute or automatic-payment consent.
Kept in memory for this page. Requests go through this documentation site to the live Openstead API and can change your workspace. Use a read-only key to explore read operations.
Creation saves configuration by default. deploy:true also queues real execution if enabled and authorized. Project placement requires an environment belonging to that project. Protected environments require admin access. API keys cannot grant paid-compute or automatic-payment consent.
Workspace-scoped rnv_ API key. Read scope allows GET; write scope is additionally constrained by current membership, role, email verification, expiry and workspace MFA policy.
In: header
Path Parameters
Workspace UUID; it must match the bearer key scope.
uuidHeader Parameters
Optional correlation identifier; invalid values are replaced. The accepted/generated value is returned in X-Request-ID and error body requestId. This is not an idempotency key.
^[A-Za-z0-9][A-Za-z0-9._-]*$length <= 64Required on browser-session writes: obtain csrfToken from /api/bootstrap and retain its cookies. Not required for a validated bearer key.
Optional retry key of visible ASCII characters without spaces. Successful responses are retained for 24 hours, scoped to workspace, actor, credential, method and path. Changed payload with the same key returns 409 idempotency_conflict. If body requestId is supplied it must match.
^[!-~]+$1 <= length <= 160Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://api.openstead.tech/api/v1/workspaces/497f6eca-6276-4993-bfeb-53cbbbba6f08/services" \ -H "Authorization: Bearer <OPENSTEAD_API_KEY>" \ -H "Content-Type: application/json" \ -d '{ "configuration": { "buildMethod": "railpack", "plan": "free", "port": 8000, "repository": "https://github.com/your-team/your-app", "runtime": "auto", "sourceType": "repository" }, "deploy": false, "kind": "web", "name": "my-api", "variables": [ { "key": "APP_ENV", "value": "production" } ] }'{ "service": { "archived": true, "configuration": { "autoDeploy": "off", "backupEnabled": true, "backupRetentionDays": 7, "branch": "main", "buildCommand": "", "buildMethod": "railpack", "cacheProfile": "none", "databaseName": "", "databaseUser": "", "databaseVersion": "16", "description": "", "dockerContext": ".", "dockerfilePath": "Dockerfile", "evictionPolicy": "allkeys-lru", "healthCheckPath": "", "ignorePaths": [], "image": "", "includePaths": [], "ipAllowList": [], "maintenance": false, "maintenancePage": "", "maxConcurrency": 1, "maxReplicas": 3, "maxRetries": 3, "minReplicas": 1, "notifications": "workspace", "plan": "free", "platformDomainEnabled": true, "port": 8000, "preDeployCommand": "", "previewExpiryHours": 72, "previewMode": "off", "privateNetworking": true, "publishDirectory": "dist", "region": "auto", "registryId": "", "replicas": 1, "repository": "", "rootDirectory": "", "runtime": "auto", "scaling": "manual", "schedule": "0 * * * *", "sourceType": "repository", "startCommand": "", "targetCpu": 70, "targetMemory": 80, "timeoutSeconds": 3600, "timezone": "UTC" }, "createdAt": "2019-08-24T14:15:22Z", "deletedAt": "2019-08-24T14:15:22Z", "deletionRequestedAt": "2019-08-24T14:15:22Z", "deploymentId": "a73c85a1-d857-491e-a6b2-51dce05de7a2", "deploymentUpdatedAt": "2019-08-24T14:15:22Z", "displayStatus": "string", "environmentGroupIds": [ "92fbde13-991c-42dc-b79d-8aae32b12bd2" ], "environmentId": "19f5cc2e-7657-437a-9268-83cd3d563563", "estimatedMonthly": { "ngn": 0, "priced": true, "usd": 0 }, "healthCheckedAt": "2019-08-24T14:15:22Z", "healthStatus": "ready", "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "internalHost": "string", "kind": "static", "lifecycleStatus": "string", "liveDeploymentId": "4f10cf15-3de3-4eba-b208-7afcb8afd71d", "name": "string", "projectId": "5a8591dd-4039-49df-9202-96385ba3eff8", "runtimeDetail": "string", "status": "string", "updatedAt": "2019-08-24T14:15:22Z", "url": "string" }}