<!-- AUTO-GENERATED from the capability registry — regenerate: npm run generate:registry -->

# `instantly.campaigns` — Instantly operation

> Direct access to Instantly's own API, priced in dollars on your Orange Slice key.
> Everything we expose, with prices: https://orangeslice.ai/llms.txt

List the campaigns in your connected Instantly workspace.

## Price

**free**

Billed on every call, including one that returns nothing.

Orange Slice holds the vendor account, so there is nothing to buy and no key to
paste. You connect your sending domains once; the price above is all you pay.


## Requires a connected account

This runs from **your sending domains**. Cold email needs warmed domains with a sending history. We buy and warm yours inside our Instantly workspace, so there is no tool to buy and no key to paste.

If the account is not connected the call returns **HTTP 428** with a
`connect_url`, and the CLI exits **9**. That is not an authentication failure
and no retry will clear it: a person has to open the link and approve access.

- Connect at: https://www.orangeslice.ai/dashboard/upgrade


## Call it

**CLI**

```bash
orangeslice instantly campaigns --limit <number> --search <string>
```

**HTTP**

```bash
curl -X POST 'https://orangeslice.ai/api/v1/run' \
  -H 'Authorization: Bearer $ORANGESLICE_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"capability":"instantly.campaigns","input":{"limit":"<number>","search":"<string>"}}'
```

## Inputs

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `limit` | number | No | Campaigns to return, 1–100 (default 100) |
| `search` | string | No | Filter campaigns by name |

## Output

```json
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "status": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "id",
          "name",
          "status"
        ],
        "additionalProperties": false
      }
    }
  },
  "required": [
    "items"
  ],
  "additionalProperties": false
}
```

## Before you run

- **Price it first.** `orangeslice instantly campaigns --dry-run` returns the
  exact dollar cost and spends nothing.
- **Large runs need approval.** Above the spend-gate threshold a run exits **7**
  until it carries a plan token, and only a dry run mints one.
- **Scopes:** read
- **Permitted uses:** outreach, research

## Exit codes

`0` ok · `2` bad input · `3` auth · `4` not found · `5` provider ·
`6` rate limited · `7` spend gate, nothing billed · `8` timeout ·
`9` a third-party account needs connecting
