# List summary

URL: https://docs.hanzo.ai/docs/openapi/campaign/get-campaign-summary

> Returns the org's go-to-market roll-up: how many campaigns exist, how many are live, their total budget in cents, and which channel executors this deployment can actually reach.

`GET /v1/campaign/summary`

> [Campaign →](https://docs.hanzo.ai/docs/openapi/campaign) · [All API references →](https://docs.hanzo.ai/docs/openapi) · [Get started →](https://docs.hanzo.ai/docs/guides)

|               |                                            |
| ------------- | ------------------------------------------ |
| **Address**   | `https://api.hanzo.ai/v1/campaign/summary` |
| **Method**    | `GET`                                      |
| **Operation** | `get_campaign_summary`                     |
| **Auth**      | `Authorization: Bearer $HANZO_API_KEY`     |

Returns the org's go-to-market roll-up: how many campaigns
exist, how many are live, their total budget in cents, and which channel
executors this deployment can actually reach.

The channel list is the deployment's honest capability, not a wish: a kind
missing from it is one a launch will record as "unavailable" rather than fail
on.

## Request

`GET /v1/campaign/summary` takes no parameters and no body — the credential is the whole request.

## Response

| Status    | Body                     | Meaning |
| --------- | ------------------------ | ------- |
| `200`     | campaign.campaignSummary | ok      |
| `default` | problem-details          | refused |

`200` body — 4 fields.

| Field       | In   | Type            | Always | Description                                                               |
| ----------- | ---- | --------------- | ------ | ------------------------------------------------------------------------- |
| `budget`    | body | integer (int64) | —      | Budget is the sum of every campaign's budget, in CENTS.                   |
| `campaigns` | body | integer (int64) | —      | Campaigns is how many campaigns the org has, in any state.                |
| `channels`  | body | string\[]       | —      | Channels are the channel kinds this deployment has an executor wired for. |
| `live`      | body | integer (int64) | —      | Live is how many of them are currently live.                              |

Failure carries the platform error shape — see [Errors](https://docs.hanzo.ai/docs/errors).

## Examples

**CLI**

```bash
hanzo campaign summary
```

**SDK**

**.ts**

```ts
import { Configuration, CampaignApi } from 'hanzoai';

const api = new CampaignApi(new Configuration({ accessToken: process.env.HANZO_API_KEY }));
const { data } = await api.getCampaignSummary();
```

**.py**

```python
from hanzoai.cloud import ApiClient, Configuration
from hanzoai.cloud.api import CampaignApi

client = ApiClient(Configuration(access_token=os.environ["HANZO_API_KEY"]))
result = CampaignApi(client).get_campaign_summary()
```

**.go**

```go
cfg := hanzoai.NewConfiguration()
cfg.AddDefaultHeader("Authorization", "Bearer "+os.Getenv("HANZO_API_KEY"))
client := hanzoai.NewAPIClient(cfg)

resp, _, err := client.CampaignAPI.GetCampaignSummary(context.Background()).Execute()
if err != nil {
	return err
}
```

**.rs**

```rust
use hanzo_client::apis::{configuration::Configuration, campaign_api};

let mut cfg = Configuration::new();
cfg.bearer_access_token = std::env::var("HANZO_API_KEY").ok();

let result = campaign_api::get_campaign_summary(&cfg, Default::default()).await?;
```

**.java**

```java
import ai.hanzo.cloud.ApiClient;
import ai.hanzo.cloud.api.CampaignApi;

ApiClient client = new ApiClient();
client.setBearerToken(System.getenv("HANZO_API_KEY"));

var result = new CampaignApi(client).getCampaignSummary();
```

**HTTP**

```bash
curl https://api.hanzo.ai/v1/campaign/summary \
  -H "Authorization: Bearer $HANZO_API_KEY"
```

**MCP**

Tool `campaign`, op `get_campaign_summary` — POST the JSON-RPC envelope to `https://api.hanzo.ai/v1/mcp`.

```bash
curl -X POST https://api.hanzo.ai/v1/mcp \
  -H "Authorization: Bearer $HANZO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
       "jsonrpc": "2.0",
       "id": 1,
       "method": "tools/call",
       "params": {
         "name": "campaign",
         "arguments": {
           "op": "get_campaign_summary",
           "input": {}
         }
       }
     }'
```

---

[Campaign API](https://docs.hanzo.ai/docs/openapi/campaign) · [All Hanzo APIs](https://docs.hanzo.ai/docs/openapi) · [Interactive reference](https://docs.hanzo.ai/docs/openapi/reference)
