# Quick Start

> Send your first Edesy Collect payment-reminder call - create a pool, create a reminder campaign, save the message, upload one debtor and start, in the portal or with the API.

Source: https://edesy.in/docs/collect/getting-started/quick-start

To send your first payment-reminder call, create a number pool with at least one number, create a reminder campaign, save the reminder message, upload a debtor (use your own phone first), and press Start. The call goes out at the next calling-window open, which is right away if you are inside 09:00 to 20:00 IST.

## Before you begin

- An approved KYC on your Edesy account
- An active Collect plan, or enough wallet balance to fund calls
- At least one Indian number on your account, or buy one from the Number Pools page

## In the portal

1. Open **Number Pools**, create a pool (for example "Collections pool", rotation "Round robin"), then **Buy a number** or **Add a number you own**. See [Number Pools and Rotation](https://edesy.in/docs/collect/numbers/number-pools-and-rotation).
2. Open **Reminder Campaigns** and click **New campaign**. Enter a name, a fallback caller ID in E.164 (`+91...`), pick your pool, and keep the default caps (2 a day, 6 in total, 180 minutes apart). Click **Create**.
3. On the campaign page, type the message under **Voice message**, optionally a voice ID, and click **Save & render**. See [Reminder Message and Voice](https://edesy.in/docs/collect/campaigns/reminder-message-and-voice).
4. Under **Upload debtors**, paste one line per debtor: `phone,name,due_date,amount`, for example `+919800000000,Test Debtor,2026-11-15,5000`. Click **Add contacts**. See [Upload Debtors](https://edesy.in/docs/collect/campaigns/upload-debtors-csv).
5. Click **Start**. Watch the contacts table: attempts go up and the payment column stays `pending` until you click **Paid** or **Stop**.

## With the API

Create an API key in your Edesy workspace and send it as `Authorization: Bearer sk_...`. The steps below assume you already created a pool (`POOL_ID`).

```bash
# 1. Create a reminder campaign
curl -X POST https://voice-api.edesy.in/v1/collect/campaigns \
  -H "Authorization: Bearer sk_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "November EMI reminders",
    "from_number": "+91XXXXXXXXXX",
    "audio_type": "tts",
    "number_pool_id": "POOL_ID",
    "max_attempts_day": 2,
    "max_attempts_total": 6,
    "min_gap_minutes": 180
  }'

# 2. Save and render the message (use the campaign id from step 1)
curl -X POST https://voice-api.edesy.in/v1/collect/campaigns/CAMPAIGN_ID/message \
  -H "Authorization: Bearer sk_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{"text": "Hello, this is a reminder that your payment is due. Please pay at the earliest to avoid late charges."}'

# 3. Upload debtors
curl -X POST https://voice-api.edesy.in/v1/collect/campaigns/CAMPAIGN_ID/contacts \
  -H "Authorization: Bearer sk_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{"contacts": [{"phone_number": "+91XXXXXXXXXX", "name": "Test Debtor", "due_date": "2026-11-15", "amount_due": 5000}]}'

# 4. Start
curl -X POST https://voice-api.edesy.in/v1/collect/campaigns/CAMPAIGN_ID/start \
  -H "Authorization: Bearer sk_your_api_key"
```

Full request and response details are in the [API reference](https://edesy.in/docs/collect/api).

## If the start fails

| Error | Fix |
|---|---|
| `403 KYC_NOT_APPROVED` | Finish KYC on the KYC page and wait for approval |
| `campaign has no contacts` | Upload at least one debtor first |
| `campaign has no TTS text configured` | Save a message first |
| Balance error | Top up the wallet or check that your plan's first payment went through |
| `caller-ID number not owned by this workspace` | Use a number that belongs to your workspace |

## Next steps

- [Schedules, Caps and Calling Hours](https://edesy.in/docs/collect/campaigns/schedules-caps-and-calling-hours)
- [Stop reminders when a debtor pays](https://edesy.in/docs/collect/payments/mark-paid-promised-stopped)
