Support

Trigger a deployment

View as Markdown

Builds the latest imported source and deploys it to the publish environment.

Full description

Builds the latest imported source and deploys it to the publish environment. Returns 202 Accepted. Poll GET /apps/{appId}/deployments/{deploymentId} until status is COMPLETED or FAILED. This endpoint is only applicable to Node.js applications (appType: NODEJS): a deployment builds the imported source and publishes it through the Node.js application agent, which other hosting products do not have. Other product types return 501.

POST
/apps/{appId}/deployments

Authorization

bearerAuth
AuthorizationBearer <token>

Personal Access Token (PAT). Generate one from the developer dashboard. Pass as: Authorization: Bearer <token>.

In: header

Path Parameters

appId*string

Application identifier in {PRODUCT}-{id} form. The prefix is the application type in upper case — an upper-case letter followed by any number of upper-case letters, digits, or underscores — then a hyphen, then the identifier. For NODEJS, the suffix is a 10-character nanoid. Example: NODEJS-aBcDeFgHiJ.

Match^[A-Z][A-Z0-9_]*-[A-Za-z0-9_-]+$

Header Parameters

Idempotency-Key?string

Client-generated UUID that makes a request safe to retry. Supplying the same key on a retry with an identical request body returns the original response without triggering a second operation. Retrying with the same key while the first request is still in flight returns 409 Conflict. Reusing a key with a different request body returns 422 Unprocessable Entity with details[].issue IDEMPOTENCY_KEY_MISMATCH. Keys are retained for 24 hours after the operation completes, after which the key may be reused.

Formatuuid
traceparent?string

W3C Trace Context identifier for this request. Clients should send a traceparent on every request so the trace can be correlated across services. See https://www.w3.org/TR/trace-context/ for the format.

Match^[0-9a-f]{2}-[0-9a-f]{32}-[0-9a-f]{16}-[0-9a-f]{2}$

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/apps/string/deployments"
{  "deploymentId": "string",  "status": "PENDING",  "gitHash": "string",  "createdAt": "stringstringstringst",  "updatedAt": "stringstringstringst",  "error": {    "name": "string",    "correlationId": "string",    "message": "string",    "informationLink": "string",    "details": [      {        "field": "string",        "value": "string",        "location": "body",        "issue": "string",        "description": "string"      }    ],    "links": [      {        "href": "http://example.com",        "rel": "string",        "title": "string",        "targetMediaType": "string",        "targetSchema": null,        "method": "string",        "submissionMediaType": "application/json",        "submissionSchema": null      }    ]  },  "logs": [    "string"  ],  "links": [    {      "href": "http://example.com",      "rel": "string",      "title": "string",      "targetMediaType": "string",      "targetSchema": null,      "method": "string",      "submissionMediaType": "application/json",      "submissionSchema": null    }  ]}

Agent & Automation Notes

Scopeshosting.application:read, hosting.application:create, hosting.application:update, hosting.application:delete, hosting.source:write, hosting.deployment:execute, hosting.secret:write, hosting.log:read
Rate limit10–120 req/min per client IP depending on operation
On failureCreate app returns 202 with a job. Poll GET /app-operations/{operationId} until app is ready. Upload source and deployments return 202 with an operation ID. Poll the matching status endpoint until complete. GET operations are safe to retry. Do not resubmit writes without checking current state.

Last updated on

How is this guide?