> ## Documentation Index
> Fetch the complete documentation index at: https://docs-dev.setoo.work/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Update SMS campaign

> Update SMS campaign settings and replace message templates

Updates configuration fields for an SMS campaign. If `templates` array is provided, existing templates are replaced wholesale.

### Path parameters

<ParamField path="id" type="string" required>
  The unique UUID of the SMS campaign.
</ParamField>

### Body parameters

<ParamField body="name" type="string">
  Updated campaign name.
</ParamField>

<ParamField body="senderNumber" type="string">
  Updated sender phone number or sender ID.
</ParamField>

<ParamField body="senderProvider" type="string">
  Updated SMS provider (e.g. `TWILIO`, `PLIVO`).
</ParamField>

<ParamField body="isActive" type="boolean">
  Enable or disable the campaign.
</ParamField>

<ParamField body="templates" type="object[]">
  New array of SMS message templates (replaces existing).

  <Expandable title="SMS Template">
    <ParamField body="callStatus" type="string" required>
      `ANSWERED` or `UNANSWERED`.
    </ParamField>

    <ParamField body="messageBody" type="string" required>
      Updated message text.
    </ParamField>

    <ParamField body="dltSenderId" type="string">
      DLT Header / Sender ID.
    </ParamField>

    <ParamField body="dltTemplateId" type="string">
      DLT Template ID.
    </ParamField>
  </Expandable>
</ParamField>

<CodeGroup>
  ```bash curl theme={null}
  curl -X PUT https://api.agentic-os.com/api/v1/sms-agent/campaigns/66666666-6666-6666-6666-666666666666 \
    -H "Authorization: Bearer $AGENTIC_OS_API_KEY" \
    -H "Content-Type: application/json" \
    -d '{
      "isActive": true,
      "templates": [
        {
          "callStatus": "ANSWERED",
          "messageBody": "Hi {{name}}, here is your follow-up summary: https://agentic-os.com/summary"
        },
        {
          "callStatus": "UNANSWERED",
          "messageBody": "Hi {{name}}, we missed you! Call us back at +15550199 anytime."
        }
      ]
    }'
  ```

  ```python Python theme={null}
  import requests

  response = requests.put(
      "https://api.agentic-os.com/api/v1/sms-agent/campaigns/66666666-6666-6666-6666-666666666666",
      headers={
          "Authorization": f"Bearer {API_KEY}",
          "Content-Type": "application/json",
      },
      json={
          "isActive": True,
          "templates": [
              {
                  "callStatus": "ANSWERED",
                  "messageBody": "Hi {{name}}, here is your follow-up summary: https://agentic-os.com/summary",
              },
              {
                  "callStatus": "UNANSWERED",
                  "messageBody": "Hi {{name}}, we missed you! Call us back at +15550199 anytime.",
              },
          ],
      },
  )
  print(response.json())
  ```

  ```javascript Node theme={null}
  const response = await fetch(
    "https://api.agentic-os.com/api/v1/sms-agent/campaigns/66666666-6666-6666-6666-666666666666",
    {
      method: "PUT",
      headers: {
        Authorization: `Bearer ${API_KEY}`,
        "Content-Type": "application/json",
      },
      body: JSON.stringify({
        isActive: true,
        templates: [
          {
            callStatus: "ANSWERED",
            messageBody: "Hi {{name}}, here is your follow-up summary: https://agentic-os.com/summary",
          },
          {
            callStatus: "UNANSWERED",
            messageBody: "Hi {{name}}, we missed you! Call us back at +15550199 anytime.",
          },
        ],
      }),
    },
  );
  const data = await response.json();
  console.log(data);
  ```
</CodeGroup>

### Response

```json theme={null}
{
  "id": "66666666-6666-6666-6666-666666666666",
  "tenantId": "990e8400-e29b-41d4-a716-446655440000",
  "agentId": "11111111-1111-1111-1111-111111111111",
  "name": "Post-Call SMS Follow-up",
  "senderNumber": "+15550199",
  "senderProvider": "TWILIO",
  "isActive": true,
  "templates": [
    {
      "id": "sms_tpl_3",
      "callStatus": "ANSWERED",
      "messageBody": "Hi {{name}}, here is your follow-up summary: https://agentic-os.com/summary"
    },
    {
      "id": "sms_tpl_4",
      "callStatus": "UNANSWERED",
      "messageBody": "Hi {{name}}, we missed you! Call us back at +15550199 anytime."
    }
  ],
  "createdAt": "2026-06-01T12:00:00.000Z",
  "updatedAt": "2026-06-01T12:30:00.000Z"
}
```
