---
title: "Cancel a recurring series from an occurrence forward"
method: POST
path: "/v1/workspaces/{workspaceId}/content/recurring-series/{seriesId}/cancel"
tags: ["Content"]
---

# Cancel a recurring series from an occurrence forward

`POST /v1/workspaces/{workspaceId}/content/recurring-series/{seriesId}/cancel`

## Request

- Base URL: `https://api.maevesocial.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.maevesocial.com/v1/workspaces/{workspaceId}/content/recurring-series/{seriesId}/cancel`
- Auth: HTTP bearer

Cancels the series and every not-yet-published occurrence from `effectiveOccurrenceId` onward. Discover seriesId, occurrenceId, and seriesVersion via `recurringMetadata` on the content list.

## Path parameters

- `seriesId` string, required
- `workspaceId` string, uuid, required

## Request body

- PublicCancelRecurringSeriesDto
  - `scope` 'future', required: Only future-scope cancellation is supported.
  - `effectiveOccurrenceId` string, uuid, required: Occurrence the cancellation takes effect from. This occurrence and everything after it is cancelled.
  - `expectedVersion` integer: Optimistic concurrency check. Fails if the series version has moved on.

## Response `200`

Series cancelled

- object
  - `data` PublicRecurringSeriesCancelResultDto, required
    - `seriesId` string, uuid, required
    - `status` 'cancelled', required
    - `cancelledOccurrenceIds` string[], required
  - `meta` unknown, required

---

[API](https://skmtc.dev/maevesocial/apis/maeve-social-api.md) · [All operations](https://skmtc.dev/maevesocial/apis/maeve-social-api/llms.txt) · [OpenAPI document](https://skmtc.dev/maevesocial/apis/maeve-social-api/revisions/1b00fd7e4b15?raw)
