Send Campaign With Daily Limits

Campaign daily limits allow you to restrict how many messages can be accepted for a specific batch campaign within a single day. This is useful for throttling large sends or enforcing volume controls.

If the daily limit is reached, any further requests for that campaign on the same day will be rejected.

If no daily limit is required, use the standard Batch SMS endpoint instead.

POST /send/campaign/limited/{dailyLimit}

Replace {dailyLimit} with the maximum number of messages that may be accepted per day for the campaign.

Required Permission

create:BatchSMS

Your API key must have this permission enabled to use this endpoint.

Example Request

curl --location 'https://<hostname>/send/campaign/limited/5' \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer YOUR_API_KEY' \
  --data '{
    "name": "test",
    "recipients": [
      {
        "recipient": "447000000000",
        "reference": "aaa",
        "meta": {
          "NAME": "John"
        }
      },
      {
        "recipient": "447000000001",
        "reference": "bbb",
        "meta": {
          "NAME": "Mike"
        }
      }
    ],
    "text": "Hello {{NAME}}",
    "originator": "test",
    "shortenUrls": false,
    "excludeDuplicates": false,
    "excludeOptOuts": true,
    "spreadHours": 0
  }'

Replace YOUR_API_KEY with your API key.

circle-info

All endpoints shown in this documentation use a sample base URL. The production API endpoint is provided by our team upon request.

How Daily Limits Work

  • The {dailyLimit} value defines the maximum number of messages that can be accepted for the campaign per day.

  • The limit is evaluated per campaign name.

  • Limits reset automatically at midnight UTC.

  • Messages that would exceed the daily limit are rejected and not queued for delivery.

Request Parameters

Field
Type
Required
Description

text

string

Yes

The SMS message content.

originator

string

Yes

The sender ID displayed on the recipient’s handset.

recipient

string

Yes

The destination phone number in international format.

shortenUrls

boolean

No

Whether URLs in the message should be automatically shortened.

excludeOptouts

boolean

No

Whether opted-out recipients should be excluded from delivery.

spreadHours

number

No

Spread message delivery evenly over the specified number of hours.

scheduleDateTime

string (ISO 8601 datetime)

No

Schedules the message or campaign to be sent at a future date and time. The value must be provided in ISO 8601 format (e.g. 2025-03-01T14:30:00Z). If omitted, the message or campaign is sent immediately.

Success (HTTP 200)

Returned when the campaign is accepted and within the configured daily limit.

The response format matches a standard Batch SMS response.

Daily Limit Reached (HTTP 429)

Returned when the campaign has reached its daily message limit.

This response indicates that no additional messages were accepted for the campaign on the current day.

circle-info

Daily limits apply only to message acceptance, not delivery completion.

Last updated