Support

Create, read, update, and delete apps.

GET
/apps

Authorization

oauth2 hosting.application:read
AuthorizationBearer <token>

GoDaddy OAuth 2.0 access token. The scope(s) listed on each operation are enforced per-operation. A token requires at least one of the scopes listed for that operation.

In: header

Scope: hosting.application:read

Query Parameters

appType*AppType

Product type to scope the operation to.

pageToken?string

Opaque pagination cursor. Clients should navigate by following links[rel=next].href from the previous response rather than constructing URLs manually; this parameter is documented so that the endpoint's contract is discoverable.

pageSize?integer

Maximum number of items to return.

Range1 <= value <= 100
Default25
totalRequired?boolean

When true, populate totalItems in the response. This may impact response time on large collections.

Defaultfalse

Header Parameters

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

curl -X GET "https://example.com/apps?appType=NODEJS"
{  "totalItems": 0,  "totalPages": 0,  "links": [    {      "href": "http://example.com",      "rel": "string",      "title": "string",      "targetMediaType": "string",      "targetSchema": null,      "method": "string",      "submissionMediaType": "application/json",      "submissionSchema": null    }  ],  "items": [    {      "id": "NODEJS-aBcDeFgHiJ",      "name": "string",      "appType": "NODEJS",      "status": "CREATING",      "source": "ZIP",      "sourceDetails": {        "repositoryFullName": "string",        "branch": "string"      },      "urls": {        "preview": "http://example.com",        "publish": "http://example.com"      },      "region": "na",      "createdAt": "stringstringstringst",      "updatedAt": "stringstringstringst",      "links": [        {          "href": "http://example.com",          "rel": "string",          "title": "string",          "targetMediaType": "string",          "targetSchema": null,          "method": "string",          "submissionMediaType": "application/json",          "submissionSchema": null        }      ]    }  ]}
POST
/apps

Authorization

oauth2 hosting.application:create
AuthorizationBearer <token>

GoDaddy OAuth 2.0 access token. The scope(s) listed on each operation are enforced per-operation. A token requires at least one of the scopes listed for that operation.

In: header

Scope: hosting.application:create

Query Parameters

appType*AppType

Product type to scope the operation to.

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}$

Request Body

application/json

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/apps?appType=NODEJS" \  -H "Content-Type: application/json" \  -d '{    "name": "string"  }'
{  "operationId": "string",  "status": "PENDING",  "app": {    "id": "NODEJS-aBcDeFgHiJ",    "status": "CREATING",    "region": "na",    "createdAt": "stringstringstringst",    "links": [      {        "href": "http://example.com",        "rel": "string",        "title": "string",        "targetMediaType": "string",        "targetSchema": null,        "method": "string",        "submissionMediaType": "application/json",        "submissionSchema": null      }    ]  },  "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      }    ]  },  "createdAt": "stringstringstringst",  "links": [    {      "href": "http://example.com",      "rel": "string",      "title": "string",      "targetMediaType": "string",      "targetSchema": null,      "method": "string",      "submissionMediaType": "application/json",      "submissionSchema": null    }  ]}
GET
/app-operations/{operationId}

Authorization

oauth2 hosting.application:read
AuthorizationBearer <token>

GoDaddy OAuth 2.0 access token. The scope(s) listed on each operation are enforced per-operation. A token requires at least one of the scopes listed for that operation.

In: header

Scope: hosting.application:read

Path Parameters

operationId*string

The operation identifier returned by POST /apps.

Header Parameters

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

curl -X GET "https://example.com/app-operations/string"
{  "operationId": "string",  "status": "PENDING",  "app": {    "id": "NODEJS-aBcDeFgHiJ",    "status": "CREATING",    "region": "na",    "createdAt": "stringstringstringst",    "links": [      {        "href": "http://example.com",        "rel": "string",        "title": "string",        "targetMediaType": "string",        "targetSchema": null,        "method": "string",        "submissionMediaType": "application/json",        "submissionSchema": null      }    ]  },  "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      }    ]  },  "createdAt": "stringstringstringst",  "links": [    {      "href": "http://example.com",      "rel": "string",      "title": "string",      "targetMediaType": "string",      "targetSchema": null,      "method": "string",      "submissionMediaType": "application/json",      "submissionSchema": null    }  ]}
GET
/apps/{appId}

Authorization

oauth2 hosting.application:read
AuthorizationBearer <token>

GoDaddy OAuth 2.0 access token. The scope(s) listed on each operation are enforced per-operation. A token requires at least one of the scopes listed for that operation.

In: header

Scope: hosting.application:read

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

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

curl -X GET "https://example.com/apps/string"
{  "id": "NODEJS-aBcDeFgHiJ",  "name": "string",  "appType": "NODEJS",  "status": "CREATING",  "source": "ZIP",  "sourceDetails": {    "repositoryFullName": "string",    "branch": "string"  },  "urls": {    "preview": "http://example.com",    "publish": "http://example.com"  },  "region": "na",  "createdAt": "stringstringstringst",  "updatedAt": "stringstringstringst",  "links": [    {      "href": "http://example.com",      "rel": "string",      "title": "string",      "targetMediaType": "string",      "targetSchema": null,      "method": "string",      "submissionMediaType": "application/json",      "submissionSchema": null    }  ]}
PATCH
/apps/{appId}

Authorization

oauth2 hosting.application:update
AuthorizationBearer <token>

GoDaddy OAuth 2.0 access token. The scope(s) listed on each operation are enforced per-operation. A token requires at least one of the scopes listed for that operation.

In: header

Scope: hosting.application:update

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

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}$

Request Body

application/json-patch+json

An array of JSON patch objects to apply partial updates to resources.

[index: integer]?

The JSON patch object to apply partial updates to resources.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X PATCH "https://example.com/apps/string" \  -H "Content-Type: application/json-patch+json" \  -d '<0>    <op>add</op>  </0>'
{  "id": "NODEJS-aBcDeFgHiJ",  "name": "string",  "appType": "NODEJS",  "status": "CREATING",  "source": "ZIP",  "sourceDetails": {    "repositoryFullName": "string",    "branch": "string"  },  "urls": {    "preview": "http://example.com",    "publish": "http://example.com"  },  "region": "na",  "createdAt": "stringstringstringst",  "updatedAt": "stringstringstringst",  "links": [    {      "href": "http://example.com",      "rel": "string",      "title": "string",      "targetMediaType": "string",      "targetSchema": null,      "method": "string",      "submissionMediaType": "application/json",      "submissionSchema": null    }  ]}
DELETE
/apps/{appId}

Authorization

oauth2 hosting.application:delete
AuthorizationBearer <token>

GoDaddy OAuth 2.0 access token. The scope(s) listed on each operation are enforced per-operation. A token requires at least one of the scopes listed for that operation.

In: header

Scope: hosting.application:delete

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

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

curl -X DELETE "https://example.com/apps/string"
Empty

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?