Reminders
Update a reminder
Partially update a reminder by its ID. **Requires an `Idempotency-Key` header**. Returns `{ data: { reminder: {...} } }` with the post-update row.
PATCH /v2/reminders/{reminderId}
Parameters
Path parameters
reminderId
string required
Header parameters
Idempotency-Key
string required
Required. UUID per logical operation, reused on every retry. See
apps/rest-api/src/shared/idempotency.ts for the full contract. Missing → 400 BadRequest; same key + different body → 409 Conflict.Request body
Content-Type: application/json
reminder
object required
reminder.text
string
reminder.due_at_date
any
reminder.due_at_time
any
reminder.is_complete
boolean
reminder.recurrence
string
reminder.reminders_contacts
array<object>
reminder.reminders_contacts[].contact_id
string (uuid)
reminder.reminders_contacts[].contacts
any
reminder.last_completed_at
string (date-time)
reminder.next_occurrence_at
string (date-time)
reminder.email_sent
boolean
reminder.push_notification_sent
boolean
Example
{
"reminder": {
"text": "string",
"due_at_date": null
}
}
Responses
200 — Successful response
Content-Type: application/json
data
object required
data.reminder
object required
data.reminder.id
string (uuid) required
data.reminder.user_id
string
data.reminder.text
string | null
data.reminder.due_at_date
string (date-time)
data.reminder.due_at_time
string (date-time)
data.reminder.is_complete
boolean
data.reminder.email_sent
boolean
data.reminder.push_notification_sent
boolean
data.reminder.recurrence
string | null
data.reminder.last_completed_at
string (date-time)
data.reminder.next_occurrence_at
string (date-time)
data.reminder.created_at
string (date-time)
data.reminder.is_overdue
boolean
data.reminder.next_cursor
string
data.reminder.reminders_contacts
array<object>
data.reminder.users
object | null
Example
{
"data": {
"reminder": {
"id": "00000000-0000-0000-0000-000000000000"
}
}
}
400
No response body.
401
No response body.
403
No response body.
404
No response body.
409
No response body.
429
No response body.
500
No response body.
Code samples
curl https://api.prod.getdex.com/v2/reminders/string \
--request PATCH \
--header 'Authorization: Bearer YOUR_API_KEY' \
--header 'Content-Type: application/json' \
--data '{
"reminder": {
"text": "string",
"due_at_date": null
}
}'
fetch('https://api.prod.getdex.com/v2/reminders/string', {
method: 'PATCH',
headers: {
Authorization: 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
reminder: {
text: 'string',
due_at_date: null
}
})
})
requests.patch(
"https://api.prod.getdex.com/v2/reminders/string",
headers={
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json"
},
json={
"reminder": {
"text": "string",
"due_at_date": None
}
}
)
Get a reminder
Retrieve a single reminder by its unique ID. Returns the canonical /v2 envelope `{ data: { reminder } }` — see Migration notes below.
Delete a reminder
Permanently delete a reminder by its ID. `Idempotency-Key` is optional on DELETE (the operation is HTTP-idempotent by semantics). Returns `{ data: { affected: 1, ids: [reminderId] } }`.

