---
title: "Update a scheduled bulk send out - campaign"
method: PUT
path: "/sms/{trackingId}"
---

# Update a scheduled bulk send out - campaign

`PUT /sms/{trackingId}`

Update an already scheduled campaign.

## Path parameters

- `trackingId` string, required

## Headers

- `Content-Type` string, required
- `Authorization` string, required

## Request body

- object
  - `contacts` string[] — The contact ids that the message will be sent to. Contacts have to be uploaded to the system. One of "groups", "to", "contacts" parameters is required.
  - `groups` string[] — The groups of contacts in the account selected as recipients. Groups have to be created at the system. One of "groups", "to", "contacts" parameters is required.
  - `to` string[] — The phone numbers (array) the message is about to be sent to. Format with a '+' and country code e.g., +306948530920 (E.164 format). Maximum array of number allowed 30k. One of "groups", "to", "contacts" parameters is required.
  - `from` string, required — The sender of the message. This can be a telephone number (numeric string with maximum length 16 characters) or an alphanumeric string (maximum length 11 characters). When you want to use a number, you have to enter it without the '+' before the country code (eg 447123123456).
  - `body` string, required — The message you want to send. Use "\n" to create a new line in your message. Use [~{labelName}] in order to send personalized messages, by using the labels of your contacts.
  - `scheduledDate` string, date — Defines the scheduled date and time in UTC. (eg YYYY-MM-DDThh:mm:ssTZD where TZD is the time zone designator (Z or +hh:mm or -hh:mm))
  - `campaignName` string — The name of the campaign. If you want to be able to track the whole campaign from Routee web platform use a name, if no name is provided you won’t be able to see the campaign from Routee web platform but you can track all the individual messages. Must be between 2 and 30 characters and contain only latin letters, numbers, spaces and -
  - `flash` boolean — Indicates if the SMS is a flash SMS. A flash SMS is a type of SMS that appears directly on the main screen without user interaction and is not automatically stored in the inbox. It can be useful in emergencies, such as a fire alarm or cases of confidentiality, as in delivering one-time passwords. Default value false
  - `respectQuietHours` boolean — Indicates if the SMS should respect the quiet hours. Quiet Hours are set by default to 23.00 - 08.00 and 14.00-17.00 destination local time. Please note that not all countries are supported with this feature due to multiple time zones within the country. Default value false
  - `campaignCallback` object — Defines the notification callback information for the progress of the SMS campaign. Check [here](/docs/callbacks) for the payload information
    - `url` string — The URL that Routee will POST to, each time your campaign status changes to one of the following: Scheduled, Queued, Sent, Running, Finished, or Failed.
    - `strategy` string — When the URL will be called. Two possible values: on every status change (OnChange) or when a final status arrives (OnCompletion).
  - `callback` object — Defines the notification callback information for an individual message progress of the SMS campaign. Check [here](/docs/callbacks) for the payload information
    - `url` string — A URL that Routee will POST to, each time your message status changes to one of the following: Queued, Failed, Sent, Unsent, Delivered, or Undelivered. Routee will POST the trackingId along with the other request parameters as well as statuses and ErrorDescriptions.
    - `strategy` string — When the URL will be called. Two possible values: on every status change (OnChange) or when a final status arrives (OnCompletion).
  - `reminder` object — Defines the recipients that will receive a test SMS before the actual SMS campaign is sent.
    - `minutesBefore` integer — The minutes before the scheduled date (that the SMS will be sent) for the test SMS to be sent.
    - `to` string[] — Defines the recipients of the test SMS
  - `fallbackValues` string[] — Defines the default values when the SMS has labels, in case a contact does not contain any of these labels.
  - `transcode` boolean — If “transcode” is set to true/false, then the message body will be/not be transcoded. If the “transcode” parameter is not set, then the application level setting will be used. In case the message can be sent as UTF in one part, it will not be transcoded.

## Response `200`

200

- object
  - `campaignName` string
  - `trackingId` string
  - `type` string
  - `state` string
  - `createdAt` string
  - `respectQuietHours` boolean
  - `scheduledDate` string
  - `from` string
  - `to` string[]
  - `body` string
  - `smsAnalysis` object
    - `numberOfRecipients` integer
    - `recipientsPerCountry` object
      - `GR` integer
    - `recipientCountries` object
      - `+30693xxxxxxxx` string
      - `+30694xxxxxxxx` string
      - `+30697xxxxxxxx` string
    - `contacts` object
    - `recipientsPerGroup` object
    - `totalInGroups` integer
    - `bodyAnalysis` object
      - `parts` integer
      - `unicode` boolean
      - `characters` integer
  - `flash` boolean
  - `statuses` object
    - `Queued` integer
    - `Sent` integer
    - `Failed` integer
    - `Delivered` integer
    - `Undelivered` integer
    - `Unsent` integer
  - `callback` object
    - `url` string
    - `strategy` string
  - `cost` integer
  - `totalMessages` integer

## Other responses

- `400` — 400

---

[API](https://skmtc.net/routee/apis/auth.md) · [All operations](https://skmtc.net/routee/apis/auth/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/routee/auth/versions/5cef04e8f7d8/schema)
