# Retrieves all default communication credit plans available in the system

`GET /api/configuration/default-communication-plans`

- **Success:** `200 OK`
- **Products:** Gladstone Admin Areas (`ADMIN`)
- **Features:** not restricted by feature

HTML version: [Retrieves all default communication credit plans available in the system](https://support.gladstonesoftware.cloud/reference/configuration/retrieves-all-default-communication-credit-plans-available-in-the-system)

## Overview

Lists the standard communication credit plans the platform offers — the named bundles of emails and
SMS messages, with their audience and site limits, that an environment's allocation can be based on.

This is a catalogue, not a statement of what any environment holds. To see what a given environment
has actually been allocated, and when it expires, call
[Retrieve communication credit plans for an environment](retrieves-all-communication-credit-plans-for-a-specific-environment.md);
its `planId` is the `id` returned here.

The plans are global rather than tenant-specific, so every caller sees the same list. It is returned
in full, unordered, with no paging or filtering.

**When no plans are configured you get `200` with an empty body — not an empty array.** A client that
assumes JSON will fail to parse the response, so treat an empty body as "no plans".

## Endpoint

`GET {base_url}/api/configuration/default-communication-plans`

`{base_url}` is the environment URL issued to your integration. See [Authenticating with Gladstone APIs](../../guides/authenticating-with-gladstone-apis.md).

## Sample request

```bash title="cURL"
curl -X GET '{base_url}/api/configuration/default-communication-plans' \
  -H 'Authorization: Bearer {accessToken}' \
  -H 'X-Use-SSO: true'
```

## Response fields

| Field | Type | Description |
|-------|------|-------------|
| `[].id` | integer (int32) | The plan's identifier. It is the value that appears as `planId` on an environment's allocation, and the handle to use when allocating this plan to an environment. |
| `[].audienceLimit` | integer (int32) | The plan's cap on audience size. `null` where the plan sets no cap. |
| `[].siteLimit` | integer (int32) | The number of sites the plan covers. `null` where the plan sets no cap. |
| `[].name` | string | The plan's name, up to 255 characters — the label to show when someone is choosing a plan. It reappears as `planName` on an environment's allocation. Not guaranteed unique, so key off `id`. |
| `[].includedSMS` | integer (int32) | How many SMS messages the plan includes. This is the plan's headline figure; the amount actually granted is recorded on the environment's allocation and can differ. Note the upper-case `SMS` in the field name. |
| `[].includedEmails` | integer (int32) | How many emails the plan includes, on the same terms as `includedSMS` — a headline figure, not a balance. |

## Sample response

```json title="200 OK"
[
  {
    "id": 12345,
    "audienceLimit": 1,
    "siteLimit": 1,
    "name": "string",
    "includedSMS": 1,
    "includedEmails": 1
  }
]
```

## Errors

| Status | Meaning | When |
|--------|---------|------|
| `500` | Internal server error | An unexpected server-side failure while reading the plans, with an empty body. Note that an empty body alone does not mean failure — a `200` with no body means there are no plans. |
