---
title: "Update campaign"
method: PATCH
path: "/v1/campaigns/{id}"
tags: ["campaigns"]
---

# Update campaign

`PATCH /v1/campaigns/{id}`

## Request

- Base URL: `https://api.botdog.co`
- URL: `https://api.botdog.co/v1/campaigns/{id}`
- Auth: API key in header `x-api-key`

Update a campaign’s name and/or start/end dates. Does not change the message sequence or status.

## Path parameters

- `id` string, required

## Request body

- UpdateCampaignDto
  - `name` string: The campaign name
  - `startDate` string: When the campaign should start (ISO 8601)
  - `endDate` string: When the campaign should end (ISO 8601)

## Response `200`

- CampaignDto
  - `id` string, required: The unique identifier of the campaign
  - `name` string, required: The name of the campaign
  - `status` 'ACTIVE' | 'PAUSED' | 'ARCHIVED' | 'COMPLETED' | 'CREATED', required: The current status of the campaign
  - `ownerId` string, required: The ID of the user who owns this campaign
  - `ownerEmail` string, required: The email of the user who owns this campaign
  - `createdAt` string, date-time, required: The date the campaign was created
  - `updatedAt` string, date-time, required: The date the campaign was last updated
  - `startDate` string, date-time, required: The date the campaign will start
  - `endDate` string, date-time, required: The date the campaign will end

## Other responses

- `401`: Unauthorized. API key is missing or invalid.
- `403`: The key owner has no seat assigned (write endpoints only), the team is on Botdog Managed and so may only read (write endpoints only), or the subscription/plan does not permit this.
- `404`: Campaign not found
- `429`: Rate limit exceeded. Retry after cooldown.

---

[API](https://skmtc.dev/botdog/apis/botdog-api.md) · [All operations](https://skmtc.dev/botdog/apis/botdog-api/llms.txt) · [OpenAPI document](https://skmtc.dev/botdog/apis/botdog-api/revisions/6c0213d8a608?raw)
