Developer recipe

Distribute a campaign across accounts

Queue a larger campaign across a controlled pool of Telegram accounts with per-account daily limits.

Result
New conversations are assigned across the selected accounts while each account observes the configured daily quota.
Time
10 minutes
Key scopes
readsend

Before you queue

  1. Call GET /api/v1/me and copy only the account IDs you intend to use.
  2. Confirm every recipient is appropriate to contact and remove duplicates from your source list.
  3. Start with a conservative daily quota and a small test audience.

Queue the campaign

Terminal
export GRAMCLAW_BASE_URL="https://gramclaw.com"
export GRAMCLAW_API_KEY="gc_live_replace_with_your_key"

curl -s "$GRAMCLAW_BASE_URL/api/v1/campaigns" \
  -H "Authorization: Bearer $GRAMCLAW_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: partner-outreach-001" \
  -d '{
    "name": "Partner outreach",
    "account_pool": ["account_id_one", "account_id_two"],
    "message_text": "Hi {{name}}, I noticed your team works with Telegram communities. Open to a quick question?",
    "contacts": [
      { "name": "Alex", "identifier": "@alex_username" },
      { "name": "Sam", "identifier": "@sam_username" }
    ],
    "daily_quota_per_account": 20
  }'
  • Campaign creation queues work; it does not mean every message sent immediately.
  • A campaign accepts up to 5,000 contacts, but account health and relevance still matter more than volume.
  • Keep the Idempotency-Key unchanged when retrying the same request.
Chat on Telegram