# List hosting subscriptions (https://developer.godaddy.com/en/docs/references/rest/hosting/list-subscriptions)

---
title: List hosting subscriptions
description: >-
  Returns hosting subscriptions for the authenticated user, including slot
  usage.
full: true
---

Full description

> Returns hosting subscriptions for the authenticated user, including slot usage. Use this to find a `subscriptionId` when attaching a subscription to an application. `hostingProduct` is required. Cross-product listing will be supported in a future version.   The parameter has three outcomes. Omitting it, or sending a value outside `HostingProduct`, returns `400` with `details[].issue` `VALIDATION_FAILED`. Sending a product the enum admits but this deployment does not serve returns `501` with `details[].issue` `NOT_APPLICABLE` — never `400`. Sending a product this deployment serves returns `200`.

## GET /subscriptions

List hosting subscriptions

Returns hosting subscriptions for the authenticated user, including slot usage. Use this to find a `subscriptionId` when attaching a subscription to an application. `hostingProduct` is required. Cross-product listing will be supported in a future version.

The parameter has three outcomes. Omitting it, or sending a value outside `HostingProduct`, returns `400` with `details[].issue` `VALIDATION_FAILED`. Sending a product the enum admits but this deployment does not serve returns `501` with `details[].issue` `NOT_APPLICABLE` — never `400`. Sending a product this deployment serves returns `200`.


### Query parameters

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `hostingProduct` | unknown | yes | Hosting product to scope the operation to. This filter is required rather than optional: an optional filter introduced after general availability would have to default to `WEB_HOSTING` for ever, or the set of subscriptions returned would silently change for clients that omit it. It is made required now, while this spec is still Beta. |

### Responses

**200** — Hosting subscriptions.

Content-Type: `application/json`

Schema:

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

**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`

**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`.
