---
title: "Update a reminder"
method: PUT
path: "/reminders/{id}"
tags: ["reminders"]
---

# Update a reminder

`PUT /reminders/{id}`

## Request

- Base URL: `https://withppl.com/api`
- URL: `https://withppl.com/api/reminders/{id}`
- Auth: one of:
  - HTTP bearer
  - OAuth 2 (authorization code, authorization URL `https://withppl.com/oauth/authorize`, token URL `https://withppl.com/oauth/token`)

## Path parameters

- `id` integer, required

## Request body

- object
  - `contact_id` integer: Contact id
  - `title` string: Reminder title
  - `initial_date` string, date
  - `frequency_type` 'one_time' | 'week' | 'month' | 'year'
  - `frequency_number` integer

## Response `200`

OK

- object

## Other responses

- `400`: Bad request. Correct malformed JSON or unsupported query parameters. Do not repeat unchanged input. Optional agent_error adds recovery hints without replacing existing fields.
- `401`: Token invalid or authentication required. Refresh through OAuth when supported; otherwise reconnect with human approval. Never log the credential. Optional agent_error adds recovery hints without replacing existing fields.
- `403`: Access denied. For insufficient_scope, request owner-approved reconnection with the required permission. For agent_paused, ask the owner to resume it in My agents. For policy_denied, respect the policy; retrying will not grant access. Optional agent_error adds recovery hints without replacing existing fields.
- `404`: Resource or route not found. Check the documented route and resolve the intended record within this account. Do not try IDs from other accounts. Optional agent_error adds recovery hints without replacing existing fields.
- `409`: Conflict or approval_required. Resolve the conflict before retrying. REST cannot consume MCP approvals; request approval and execute the exact reviewed MCP tool with its approval_id. Optional agent_error adds recovery hints without replacing existing fields.
- `422`: Validation failed. Correct supplied fields using errors or error.message and the request schema. Do not repeat unchanged input. Optional agent_error adds recovery hints without replacing existing fields.
- `429`: Rate limited. Respect Retry-After when present; otherwise back off with jitter. Do not run parallel retries. Optional agent_error adds recovery hints without replacing existing fields.
- `500`: Server error. Back off. A failed write response does not prove the write was rolled back; check the outcome before retrying to avoid duplicates. Optional agent_error adds recovery hints without replacing existing fields.
- `503`: Temporarily unavailable or maintenance. Respect Retry-After when present and back off. Check the outcome of writes before replaying them. Optional agent_error adds recovery hints without replacing existing fields.

---

[API](https://skmtc.dev/ppl/apis/ppl-agent-api.md) · [All operations](https://skmtc.dev/ppl/apis/ppl-agent-api/llms.txt) · [OpenAPI document](https://skmtc.dev/ppl/apis/ppl-agent-api/revisions/01bf494abf73?raw)
