Create Campaign

Creates a campaign within the Infobip platform. This operation does not register the campaign with any networks. Registration can be done using created campaign's ID with the 'Register Campaign' endpoint.

Please log in to see full path URL. Learn why.
post
/number-registration/1/campaigns
Request rate limit:
5 requests / second (per account)
Request Body schema:
application/json
collapse all -
referenceId
string

Unique user defined ID for the campaign. While not required, it is recommended to supply a referenceId as the uniqueness constraint will help ensure a campaign is not accidentally created multiple times. Subsequent create requests with the same referenceId will be rejected with an error.

applicationId
string

CPaaS X property identifying an application, a use case or an environment on your system. It should only be set if you are using CPaaS X Applications with your traffic.

entityId
string

CPaaS X property identifying an unique actor on your system. Should only be set if you are using CPaaS X Applications with your traffic.

name
required
string [ 1 .. 30 ] characters [A-Za-z0-9_ ]*

The name of the campaign.

stage
string
Enum: "DRAFT" "SUBMITTED_FOR_REVIEW" "IN_REVIEW" "UPDATE_REQUESTED_BY_INTERNAL_REVIEWER" "APPROVED_BY_INTERNAL_REVIEWER" "SUBMITTED" "UPDATE_REQUESTED_BY_CARRIERS" "REGISTERED" "REJECTED" "ON_HOLD" "DEREGISTERED" "REGISTERED_PENDING_UPDATE" "REGISTERED_PENDING_DEREGISTRATION" "ARCHIVED" "BLOCKED" "SUSPENDED" "APPEALED" "IN_MIGRATION"
priority
object

Priority information used in latest campaign review.

priorityId
string <uuid>

Id of a priority

type
string
brandId
required
string <uuid>

The ID of the brand to use with the campaign.

programSummary
required
string [ 40 .. 500 ] characters

A brief description of the purpose of the campaign.

confirmationMessage
required
string [ 20 .. 320 ] characters

The message sent to the user after they have subscribed.

exampleMessages
required
Array of strings [ 0 .. 5 ] items

The example message(s) a user may receive from this campaign. Each example message must be at least 20 characters long.

helpMessage
required
string [ 20 .. 320 ] characters

The message sent to a user after they have asked for help.

stopMessage
required
string [ 20 .. 320 ] characters

The message sent to a user after they have asked to stop receiving messages.

messageTypes
required
Array of strings
Items Enum: "SMS" "MMS"

The message type(s) this campaign will use to send messages.

termsAndConditionsUrl
required
string [ 11 .. 255 ] characters

URL where the terms and conditions of the campaign are located.

optIns
required
object

The mechanism(s) the user may use to opt in to the campaign. At least one of [keyword, web, verbal, interactiveVoiceResponse] is required.

keyword
object

The type of opt in that requires a user to type in a keyword.

callToAction
required
string [ 20 .. 1024 ] characters
The message sent to the user to tell them how to subscribe. Must include:
• Product description
• Message frequency disclosure
• Complete terms and conditions OR link to complete terms and conditions
• Privacy policy OR link to privacy policy
• STOP keyword
• The "Message and data rates may apply" disclosure
keywords
required
Array of strings

The keyword(s) the user will text to subscribe. Keyword(s) must include only uppercase letters and numbers.

web
object

The type of opt in that requires a user to follow a URL.

callToAction
required
string [ 20 .. 1024 ] characters
The message sent to the user to tell them how to subscribe. Must include:
• Product description
• Message frequency disclosure
• Complete terms and conditions OR link to complete terms and conditions
• Privacy policy OR link to privacy policy
• STOP keyword
• The "Message and data rates may apply" disclosure
url
required
string [ 11 .. 255 ] characters
verbal
object

The type of opt in that requires a user to verbally confirm.

callToAction
required
string [ 20 .. 1024 ] characters
The message sent to the user to tell them how to subscribe. Must include:
• Product description
• Message frequency disclosure
• Complete terms and conditions OR link to complete terms and conditions
• Privacy policy OR link to privacy policy
• STOP keyword
• The "Message and data rates may apply" disclosure
interactiveVoiceResponse
object

The type of opt in that requires a user to record a confirmation.

callToAction
required
string [ 20 .. 1024 ] characters
The message sent to the user to tell them how to subscribe. Must include:
• Product description
• Message frequency disclosure
• Complete terms and conditions OR link to complete terms and conditions
• Privacy policy OR link to privacy policy
• STOP keyword
• The "Message and data rates may apply" disclosure
campaignFeedback
object

Offers additional information regarding the campaign, includes rejection reason and time.

rejectionReasons
Array of strings

The reasons for the rejection.

rejectionDetails
Array of objects

Rejection reasons details.

Array
errorCode
string

Predefined code.

description
string

Rejection reason.

recommendedAction
string

Recommended action.

rejectionDate
string <date-time>

The time of the rejection.

ageGated
boolean
Default: false

Shows whether the campaign will include any age-gated content, as defined by Carrier and CTIA guidelines.

customerCarePhone
required
string [ 3 .. 16 ] characters \+?[1-9]\d{1,14}

The phone number the user may call to get customer care.

lowVolume
required
boolean
Default: false

Low volume campaigns are a lower cost campaign designed for low daily volume and non-time-sensitive messages. They are limited to 6 messages per minute on most carriers and no more than 5,000 messages per month on all carriers.

useCases
required
Array of strings [ 1 .. 5 ] items
Items Enum: "ALERTS" "CHAT" "DONATION" "EDUCATION" "FRAUD_ALERTS" "PROMOTIONAL_MARKETING" "PUBLIC_SERVICE_ANNOUNCEMENT" "TWO_FACTOR_AUTH" "VOTING_POLLING" "POLITICAL"

The use cases for this campaign.

directLending
boolean
Default: false

Shows whether the campaign will include content related to direct lending or other loan arrangements.

embeddedLink
boolean
Default: false

Shows whether the campaign will send embedded links of any kind. Public URL shorteners (bitly, tinyurl) are not accepted.

embeddedPhone
boolean
Default: false

Shows whether any embedded phone numbers would be used in the campaign, except the required HELP information contact phone number.

customerCareEmail
required
string [ 1 .. 255 ] characters

The email address the user may contact to get customer care. Must be a well formed email address that does not include a '=' character.

numberKeys
Array of strings [ 0 .. 49 ] items

The numberKey(s) of the numbers to use with the campaign. Campaign must have at least one 10DLC number associated before it can be submitted for review. Alternatively, you can use the 'numbers' property to specify the numbers directly, but note that 'numberKeys' property takes precedence if both are specified.

numbers
Array of strings [ 0 .. 49 ] items

US 10DLC numbers to use with the campaign.Campaign must have at least one 10DLC number associated before it can be submitted for review. You may only use numbers that are associated with your account inside the Infobip platform. Numbers must be provided in international format including the country prefix, e.g. 14232180111. This property can be used instead of 'numberKeys' to specify the campaign numbers; it is not returned in the API response.

Responses

201

Created

400

Bad Request

401

Unauthorized

403

Forbidden

429

Too Many Requests

500

Internal Server Error

Request samples

Content type
application/json
Example

10-digit long code Campaign

Copy
Collapse all
{
  • "referenceId": "customer-defined-identifier",
  • "type": "TEN_DIGIT_LONG_CODE",
  • "applicationId": "app-id",
  • "entityId": "entity-id",
  • "name": "Example Promo",
  • "numbers":
    [
    • "41785473249"
    ],
  • "brandId": "a0c63335-f841-4d43-9ef8-e0765a233f29",
  • "confirmationMessage": "Example promotional-marketing. Msg&data rates may apply. Reply HELP for help, STOP to cancel.",
  • "customerCarePhone": "41785473249",
  • "customerCareEmail": "examples@example.com",
  • "exampleMessages":
    [
    • "Come in today and get 10% OFF today!"
    ],
  • "helpMessage": "Example promotional-marketing: Help at textsupport@example.com or 18889997777. Msg&data rates may apply. Reply STOP to cancel.",
  • "lowVolume": false,
  • "messageTypes":
    [
    • "SMS",
    • "MMS"
    ],
  • "programSummary": "A mix of promotional and informational messaging.",
  • "stopMessage": "Example promotional-marketing: You have been unsubscribed, no more messages will be sent.",
  • "useCases":
    [
    • "PROMOTIONAL_MARKETING",
    • "EDUCATION"
    ],
  • "optIns":
    {
    • "keyword":
      {
      • "callToAction": "Text MESSAGE to subscribe to recurring promotional marketing alerts. Msg&DataRates may apply. Text HELP for help, STOP to opt out. Terms and PP https://www.example.om/terms-of-service/",
      • "keywords":
        [
        • "MESSAGE"
        ]
      }
    },
  • "ageGated": true,
  • "directLending": false,
  • "embeddedLink": true,
  • "embeddedPhone": false
}

Response samples

Content type
application/json
Example

10-digit long code Campaign

Copy
Collapse all
{
  • "id": "4d3601ed-c632-4979-ae22-43854ef4ffaf",
  • "referenceId": "customer-defined-identifier",
  • "applicationId": "app-id",
  • "entityId": "entity-id",
  • "name": "Example Promo",
  • "createdDate": "2019-08-24T14:15:22Z",
  • "lastModifiedDate": "2019-08-24T14:15:22Z",
  • "stage": "DRAFT",
  • "priority":
    {
    • "priorityId": "46de4f63-390c-4253-9869-da282096691b"
    },
  • "brandId": "a0c63335-f841-4d43-9ef8-e0765a233f29",
  • "programSummary": "A mix of promotional and informational messaging.",
  • "customerCareEmail": "examples@example.com",
  • "confirmationMessage": "Example promotional-marketing. Msg&data rates may apply. Reply HELP for help, STOP to cancel.",
  • "exampleMessages":
    [
    • "Come in today and get 10% OFF today!"
    ],
  • "helpMessage": "Example promotional-marketing: Help at textsupport@example.com or 18889997777. Msg&data rates may apply. Reply STOP to cancel.",
  • "stopMessage": "Example promotional-marketing: You have been unsubscribed, no more messages will be sent.",
  • "messageTypes":
    [
    • "sms",
    • "mms"
    ],
  • "optIns":
    {
    • "keyword":
      {
      • "callToAction": "Text MESSAGE to subscribe",
      • "keywords":
        [
        • "MESSAGE"
        ]
      }
    },
  • "brandPreview":
    {
    • "brandId": "a0c63335-f841-4d43-9ef8-e0765a233f29",
    • "brandName": "Examples Warehouse"
    },
  • "customerCarePhone": "41785473249",
  • "lowVolume": false,
  • "useCase": null,
  • "useCases":
    [
    • "PROMOTIONAL_MARKETING",
    • "EDUCATION"
    ],
  • "numberKeys":
    [
    • "2C958BA98F9EBACA4F9357D81BFBF47B"
    ],
  • "numberPreviews":
    [
    • {
      • "numberKey": "2C958BA98F9EBACA4F9357D81BFBF47B",
      • "number": "41793026727",
      • "countryCode": "US"
      }
    ],
  • "ageGated": true,
  • "directLending": false,
  • "embeddedLink": true,
  • "embeddedPhone": false,
  • "type": "TEN_DIGIT_LONG_CODE",
  • "campaignFeedback":
    {
    • "rejectionReasons":
      [
      • "Campaign appears to be for an age-gated content type but age gate attribute is not selected.",
      • "This is a custom rejection reason provided by a reviewer."
      ],
    • "rejectionDetails":
      [
      • {
        • "errorCode": "1001",
        • "description": "Campaign appears to be for an age-gated content type but age gate attribute is not selected.",
        • "recommendedAction": "Verify if the Age Gate attribute is selected for the campaign registration. If the campaign is not related to age-gated content, update the campaign description."
        },
      • {
        • "errorCode": "9999",
        • "description": "This is a custom rejection reason provided by a reviewer.",
        • "recommendedAction": null
        }
      ],
    • "rejectionDate": "2019-08-23T14:15:22Z"
    },
  • "appealData":
    {
    • "appealReason": "Example appeal reason",
    • "appealDate": "2019-08-24T14:15:22Z"
    }
}

Encountering issues

Contact our support

What's new? Check out

Release Notes

Unsure about a term? See

Glossary

Research panel

Help shape the future of our products
Learn more
Service status

Copyright @ 2006-2025 Infobip ltd.