---
title: "Make a task repeat, or change how it repeats (JSON rule or RRULE). An undated task gets its due date anchored on the first matching day from today"
method: PUT
path: "/crm/tasks/{entryId}/repeat"
tags: ["crm"]
---

# Make a task repeat, or change how it repeats (JSON rule or RRULE). An undated task gets its due date anchored on the first matching day from today

`PUT /crm/tasks/{entryId}/repeat`

## Request

- Base URL: `https://www.dench.com/api/v1`
- URL: `https://www.dench.com/api/v1/crm/tasks/{entryId}/repeat`
- Auth: one of:
  - HTTP bearer
  - HTTP bearer

Make a task repeat, or change how it repeats (JSON rule or RRULE). An undated task gets its due date anchored on the first matching day from today.

## Path parameters

- `entryId` string, required

## Request body

- object
  - `rule` union: Structured rule; alternative to `rrule`.
    - object
      - `freq` 'daily', required
      - `interval` integer, required
    - object
      - `freq` 'weekly', required
      - `interval` integer, required
      - `byWeekday` string[], required
    - object
      - `freq` 'monthly', required
      - `interval` integer, required
      - `byMonthDay` integer: 1–31, or -1 for the last day of the month.
      - `bySetPos` object
        - `ordinal` integer, required: 1–4, or -1 for the last week.
        - `weekday` 'mo' | 'tu' | 'we' | 'th' | 'fr' | 'sa' | 'su', required
    - object
      - `freq` 'yearly', required
      - `interval` integer, required
      - `month` integer, required
      - `day` integer, required
  - `rrule` string: RFC 5545 subset: FREQ, INTERVAL, BYDAY (ordinal allowed for MONTHLY, e.g. 2TU / -1FR), BYMONTHDAY, BYMONTH, COUNT, UNTIL. Bare FREQ=MONTHLY / YEARLY / WEEKLY take the day from the task's due date.
  - `trigger` 'after_completion' | 'on_schedule': When the next occurrence is created: after this one is done (default) or on schedule regardless.
  - `ends` union
    - object
      - `kind` 'never', required
    - object
      - `kind` 'count', required
      - `count` integer, required
    - object
      - `kind` 'until', required
      - `dateKey` string, required
  - `options` object
    - `skipWeekends` boolean
    - `keepAssignee` boolean
    - `copyNotes` boolean
    - `copySubtasks` boolean

## Response `200`

Successful response

- object, nullable

## Other responses

- `400`: Invalid request
- `401`: Missing or invalid authentication
- `404`: Operation or resource not found
- `500`: Server error

---

[API](https://skmtc.dev/dench/apis/dench-api.md) - [All operations](https://skmtc.dev/dench/apis/dench-api/llms.txt) - [OpenAPI document](https://skmtc.dev/dench/apis/dench-api/revisions/4a145b38f19c?raw)
