# Restart an application environment (https://developer.godaddy.com/en/docs/references/rest/hosting/create-app-restart)

---
title: Restart an application environment
description: Triggers a restart of the specified environment (`PREVIEW` or `PUBLISH`).
full: true
---

Full description

> Triggers a restart of the specified environment (`PREVIEW` or `PUBLISH`). Returns `202 Accepted`. Poll `GET /apps/&#123;appId&#125;/status` until the targeted variant reaches a stable state.   This endpoint is only applicable to Node.js applications (`appType: NODEJS`): restarts act on the `PREVIEW` and `PUBLISH` environment variants, which are specific to the Node.js runtime model. Other product types return `501`.

## POST /apps/{appId}/restarts

Restart an application environment

Triggers a restart of the specified environment (`PREVIEW` or `PUBLISH`). Returns `202 Accepted`. Poll `GET /apps/{appId}/status` until the targeted variant reaches a stable state.

This endpoint is only applicable to Node.js applications (`appType: NODEJS`): restarts act on the `PREVIEW` and `PUBLISH` environment variants, which are specific to the Node.js runtime model. Other product types return `501`.


### Header parameters

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `Idempotency-Key` | string <uuid> | no | 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. |

### Request body (required)

Content-Type: `application/json`

Schema:

- schema reference: `#/components/schemas/RestartRequest`

### Responses

**202** — Restart accepted. Poll `links[rel=self]` until the targeted variant reaches a stable state.

Content-Type: `application/json`

Schema:

- schema reference: `#/x-ext/509c3ac`

**400** — The request body or parameters did not pass schema validation.

Content-Type: `application/json`

Schema:

- schema reference: `#/components/schemas/Error`

**401** — Authentication credentials are missing or invalid.

Content-Type: `application/json`

Schema:

- schema reference: `#/components/schemas/Error`

**403** — The caller is authenticated, but the request is not permitted: either the access token does not carry the scope this operation requires, or the operation is disabled for this account.

Content-Type: `application/json`

Schema:

- schema reference: `#/components/schemas/Error`

**404** — The requested resource does not exist.

Content-Type: `application/json`

Schema:

- schema reference: `#/components/schemas/Error`

**422** — The request was well-formed but could not be processed due to a business rule violation.

Content-Type: `application/json`

Schema:

- schema reference: `#/components/schemas/Error`

**429** — Rate limit exceeded. A `429` response may come in one of two shapes: an empty body with `RateLimit-Limit`, `RateLimit-Remaining`, and `RateLimit-Reset` headers; or a JSON `Error` body with `Retry-After` and `RateLimit-*` headers. Clients should honour whichever headers are present and should not assume a JSON body is available on every `429`.

Content-Type: `application/json`

Schema:

- schema reference: `#/components/schemas/Error`

**501** — The request is contract-valid, but the operation, or a value the request names, is not applicable to this deployment. `details[].issue` is always `NOT_APPLICABLE`. For example, deployments and restarts are offered for `NODEJS` applications only, and a hosting product this deployment does not serve is answered here rather than with a `400`.

Content-Type: `application/json`

Schema:

- schema reference: `#/components/schemas/Error`

**503** — The service is temporarily unable to handle the request. Retry after a short delay. May include a `Retry-After` header hinting at when to retry.

Content-Type: `application/json`

Schema:

- schema reference: `#/components/schemas/Error`

**Security:** requires `bearerAuth`.
