Run API reference
Build-provider-neutral workloads, deployments, and revisions.
Published contracts: @socra/run-api@0.4.0.
Base URL
https://run.socra.cloudWorkloads
A stable runnable service or finite job.
Create workload
POST
/v1/workloadsRequest body
project_idcustomrequirednamestringrequiredmin length: 1 · max length: 63 · pattern: ^[a-z0-9]+(?:-[a-z0-9]+)*$kind"service" | "job"optionaldefault: "service"portinteger | nulloptionaldefault: 3000variablesobjectoptionaldefault: {}secretsobjectoptionalrelease_commandstring[] | nulloptionaldefault: nullResponse
12 fields
idcustomrequiredproject_idcustomrequirednamestringrequiredmin length: 1 · max length: 63 · pattern: ^[a-z0-9]+(?:-[a-z0-9]+)*$kind"service" | "job"requiredportinteger | nullrequiredvariablesobjectrequireddefault: {}secretsobjectrequireddefault: {}release_commandstring[] | nullrequiredactive_revision_idstring | nullrequiredurlstring | nullrequiredcreated_atcustomrequiredupdated_atcustomrequiredList workloads
GET
/v1/workloadsQuery parameters
limitintegeroptionalmin: 1 · max: 100afterstringoptionalproject_idcustomrequiredResponse
2 fields
dataobject[]required
dataobject[]requiredidcustomrequiredproject_idcustomrequirednamestringrequiredmin length: 1 · max length: 63 · pattern: ^[a-z0-9]+(?:-[a-z0-9]+)*$kind"service" | "job"requiredportinteger | nullrequiredvariablesobjectrequireddefault: {}secretsobjectrequireddefault: {}release_commandstring[] | nullrequiredactive_revision_idstring | nullrequiredurlstring | nullrequiredcreated_atcustomrequiredupdated_atcustomrequiredhas_morebooleanrequiredGet workload
GET
/v1/workloads/{id}Path parameters
idcustomrequiredQuery parameters
No query parameters
Response
12 fields
idcustomrequiredproject_idcustomrequirednamestringrequiredmin length: 1 · max length: 63 · pattern: ^[a-z0-9]+(?:-[a-z0-9]+)*$kind"service" | "job"requiredportinteger | nullrequiredvariablesobjectrequireddefault: {}secretsobjectrequireddefault: {}release_commandstring[] | nullrequiredactive_revision_idstring | nullrequiredurlstring | nullrequiredcreated_atcustomrequiredupdated_atcustomrequiredUpdate workload
PATCH
/v1/workloads/{id}Path parameters
idcustomrequiredRequest body
kind"service" | "job"optionalportinteger | nulloptionalvariablesobjectoptionaldefault: {}secretsobjectoptionalrelease_commandstring[] | nulloptionalResponse
12 fields
idcustomrequiredproject_idcustomrequirednamestringrequiredmin length: 1 · max length: 63 · pattern: ^[a-z0-9]+(?:-[a-z0-9]+)*$kind"service" | "job"requiredportinteger | nullrequiredvariablesobjectrequireddefault: {}secretsobjectrequireddefault: {}release_commandstring[] | nullrequiredactive_revision_idstring | nullrequiredurlstring | nullrequiredcreated_atcustomrequiredupdated_atcustomrequiredDelete workload
DELETE
/v1/workloads/{id}Path parameters
idcustomrequiredQuery parameters
No query parameters
Response
No response body
Deployments
A request to reconcile an immutable image into a workload.
Create deployment
POST
/v1/deploymentsRequest body
project_idcustomrequiredworkloadstringrequiredmin length: 1 · max length: 63 · pattern: ^[a-z0-9]+(?:-[a-z0-9]+)*$imagestringrequiredpattern: ^[^\s@]+@sha256:[0-9a-f]{64}$Response
17 fields
idcustomrequiredproject_idcustomrequiredworkload_idcustomrequiredimagestringrequiredpattern: ^[^\s@]+@sha256:[0-9a-f]{64}$variablesobjectrequireddefault: {}secret_referencesobjectrequireddefault: {}secretsobjectrequireddefault: {}release_commandstring[] | nullrequiredurlstring | nullrequiredstatus"queued" | "running" | "succeeded" | "failed" | "cancelled"requiredrevision_idstring | nullrequirederrorstring | nullrequiredlogsstringrequiredcreated_atcustomrequiredupdated_atcustomrequiredstarted_atcustom | nullrequiredfinished_atcustom | nullrequiredList deployments
GET
/v1/deploymentsQuery parameters
limitintegeroptionalmin: 1 · max: 100afterstringoptionalproject_idcustomrequiredworkload_idcustomoptionalstatus"queued" | "running" | "succeeded" | "failed" | "cancelled"optionalResponse
2 fields
dataobject[]required
dataobject[]requiredidcustomrequiredproject_idcustomrequiredworkload_idcustomrequiredimagestringrequiredpattern: ^[^\s@]+@sha256:[0-9a-f]{64}$variablesobjectrequireddefault: {}secret_referencesobjectrequireddefault: {}secretsobjectrequireddefault: {}release_commandstring[] | nullrequiredurlstring | nullrequiredstatus"queued" | "running" | "succeeded" | "failed" | "cancelled"requiredrevision_idstring | nullrequirederrorstring | nullrequiredlogsstringrequiredcreated_atcustomrequiredupdated_atcustomrequiredstarted_atcustom | nullrequiredfinished_atcustom | nullrequiredhas_morebooleanrequiredGet deployment
GET
/v1/deployments/{id}Path parameters
idcustomrequiredQuery parameters
No query parameters
Response
17 fields
idcustomrequiredproject_idcustomrequiredworkload_idcustomrequiredimagestringrequiredpattern: ^[^\s@]+@sha256:[0-9a-f]{64}$variablesobjectrequireddefault: {}secret_referencesobjectrequireddefault: {}secretsobjectrequireddefault: {}release_commandstring[] | nullrequiredurlstring | nullrequiredstatus"queued" | "running" | "succeeded" | "failed" | "cancelled"requiredrevision_idstring | nullrequirederrorstring | nullrequiredlogsstringrequiredcreated_atcustomrequiredupdated_atcustomrequiredstarted_atcustom | nullrequiredfinished_atcustom | nullrequiredGet deployment logs
GET
/v1/deployments/{id}/logsPath parameters
idcustomrequiredQuery parameters
No query parameters
Response
2 fields
datastringrequiredstatus"queued" | "running" | "succeeded" | "failed" | "cancelled"requiredGet deployment events
GET
/v1/deployments/{id}/eventsPath parameters
idcustomrequiredQuery parameters
No query parameters
Response
1 field
dataobject[]required
dataobject[]requiredtype"queued" | "started" | "succeeded" | "failed" | "cancelled"requiredatcustomrequiredmessagestringrequiredGet deployment health
GET
/v1/deployments/{id}/healthPath parameters
idcustomrequiredQuery parameters
No query parameters
Response
4 fields
status"pending" | "deploying" | "healthy" | "unhealthy" | "stopped"requiredurlstring | nullrequiredrevision_idstring | nullrequiredchecked_atcustomrequiredCancel deployment
POST
/v1/deployments/{id}/cancelPath parameters
idcustomrequiredRequest body
No request body
Response
17 fields
idcustomrequiredproject_idcustomrequiredworkload_idcustomrequiredimagestringrequiredpattern: ^[^\s@]+@sha256:[0-9a-f]{64}$variablesobjectrequireddefault: {}secret_referencesobjectrequireddefault: {}secretsobjectrequireddefault: {}release_commandstring[] | nullrequiredurlstring | nullrequiredstatus"queued" | "running" | "succeeded" | "failed" | "cancelled"requiredrevision_idstring | nullrequirederrorstring | nullrequiredlogsstringrequiredcreated_atcustomrequiredupdated_atcustomrequiredstarted_atcustom | nullrequiredfinished_atcustom | nullrequiredRevisions
An immutable successful workload configuration.
List revisions
GET
/v1/revisionsQuery parameters
limitintegeroptionalmin: 1 · max: 100afterstringoptionalproject_idcustomrequiredworkload_idcustomoptionalResponse
2 fields
dataobject[]required
dataobject[]requiredidcustomrequiredproject_idcustomrequireddeployment_idcustomrequiredworkload_idcustomrequirednumberintegerrequiredgreater than: 0 · max: 9007199254740991imagestringrequiredpattern: ^[^\s@]+@sha256:[0-9a-f]{64}$variablesobjectrequireddefault: {}secret_referencesobjectrequireddefault: {}secretsobjectrequireddefault: {}release_commandstring[] | nullrequiredcreated_atcustomrequiredhas_morebooleanrequiredGet revision
GET
/v1/revisions/{id}Path parameters
idcustomrequiredQuery parameters
No query parameters
Response
11 fields
idcustomrequiredproject_idcustomrequireddeployment_idcustomrequiredworkload_idcustomrequirednumberintegerrequiredgreater than: 0 · max: 9007199254740991imagestringrequiredpattern: ^[^\s@]+@sha256:[0-9a-f]{64}$variablesobjectrequireddefault: {}secret_referencesobjectrequireddefault: {}secretsobjectrequireddefault: {}release_commandstring[] | nullrequiredcreated_atcustomrequiredRoll back to revision
POST
/v1/revisions/{id}/rollbackPath parameters
idcustomrequiredRequest body
No request body
Response
17 fields
idcustomrequiredproject_idcustomrequiredworkload_idcustomrequiredimagestringrequiredpattern: ^[^\s@]+@sha256:[0-9a-f]{64}$variablesobjectrequireddefault: {}secret_referencesobjectrequireddefault: {}secretsobjectrequireddefault: {}release_commandstring[] | nullrequiredurlstring | nullrequiredstatus"queued" | "running" | "succeeded" | "failed" | "cancelled"requiredrevision_idstring | nullrequirederrorstring | nullrequiredlogsstringrequiredcreated_atcustomrequiredupdated_atcustomrequiredstarted_atcustom | nullrequiredfinished_atcustom | nullrequiredRoutes
A Run ingress rule connecting one claimed Hostname to a service workload.
Create route
POST
/v1/routesRequest body
project_idcustomrequiredhostnamestringrequiredmin length: 3 · max length: 253 · pattern: ^(?=.{3,253}$)(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)+[a-z]{2,63}$workloadstringrequiredmin length: 1 · max length: 63 · pattern: ^[a-z0-9]+(?:-[a-z0-9]+)*$Response
8 fields
idcustomrequiredproject_idcustomrequiredhostname_idcustomrequiredhostnamestringrequiredmin length: 3 · max length: 253 · pattern: ^(?=.{3,253}$)(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)+[a-z]{2,63}$workloadstringrequiredmin length: 1 · max length: 63 · pattern: ^[a-z0-9]+(?:-[a-z0-9]+)*$status"active" | "disabled"requiredcreated_atcustomrequiredupdated_atcustomrequiredList routes
GET
/v1/routesQuery parameters
limitintegeroptionalmin: 1 · max: 100afterstringoptionalproject_idcustomrequiredhostnamestringoptionalmin length: 3 · max length: 253 · pattern: ^(?=.{3,253}$)(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)+[a-z]{2,63}$workloadstringoptionalmin length: 1 · max length: 63 · pattern: ^[a-z0-9]+(?:-[a-z0-9]+)*$status"active" | "disabled"optionalResponse
2 fields
dataobject[]required
dataobject[]requiredidcustomrequiredproject_idcustomrequiredhostname_idcustomrequiredhostnamestringrequiredmin length: 3 · max length: 253 · pattern: ^(?=.{3,253}$)(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)+[a-z]{2,63}$workloadstringrequiredmin length: 1 · max length: 63 · pattern: ^[a-z0-9]+(?:-[a-z0-9]+)*$status"active" | "disabled"requiredcreated_atcustomrequiredupdated_atcustomrequiredhas_morebooleanrequiredGet route
GET
/v1/routes/{id}Path parameters
idcustomrequiredQuery parameters
No query parameters
Response
8 fields
idcustomrequiredproject_idcustomrequiredhostname_idcustomrequiredhostnamestringrequiredmin length: 3 · max length: 253 · pattern: ^(?=.{3,253}$)(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)+[a-z]{2,63}$workloadstringrequiredmin length: 1 · max length: 63 · pattern: ^[a-z0-9]+(?:-[a-z0-9]+)*$status"active" | "disabled"requiredcreated_atcustomrequiredupdated_atcustomrequiredUpdate route
PATCH
/v1/routes/{id}Path parameters
idcustomrequiredRequest body
workloadstringoptionalmin length: 1 · max length: 63 · pattern: ^[a-z0-9]+(?:-[a-z0-9]+)*$status"active" | "disabled"optionalResponse
8 fields
idcustomrequiredproject_idcustomrequiredhostname_idcustomrequiredhostnamestringrequiredmin length: 3 · max length: 253 · pattern: ^(?=.{3,253}$)(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)+[a-z]{2,63}$workloadstringrequiredmin length: 1 · max length: 63 · pattern: ^[a-z0-9]+(?:-[a-z0-9]+)*$status"active" | "disabled"requiredcreated_atcustomrequiredupdated_atcustomrequiredDelete route
DELETE
/v1/routes/{id}Path parameters
idcustomrequiredQuery parameters
No query parameters
Response
No response body