Axsync API v2

Reminders

Time-based reminders attached to notes. Delivered as push, email, or a webhook event.

The reminder object

FieldTypeDescription
idstringUnique identifier, prefixed with rm_.
note_id requiredstringRelated note.
remind_at requiredtimestampWhen to fire.
channelstringpush, email or webhook.
donebooleanWhether it already fired.

Example

{
  "id": "rm_8f3k2Q9xLm",
  "note_id": "nt_8f3k2Q9xLm",
  "remind_at": "2026-10-20T08:00:00Z",
  "channel": "push",
  "done": false
}

GET /reminders

List reminders. Returns a paginated list of reminders.

Required scope: notes:read

Query parameters

FieldTypeDescription
limitintegerPage size, 1–100. Default 25.
cursorstringCursor from the previous page.
sortstringField to sort by, prefix - for descending.
filterstringFilter expression, see Filtering and sorting.

Request

curl -X GET "https://api.axnode.net/v2/reminders" \
  -H "Authorization: Bearer $AXSYNC_TOKEN"
const res = await fetch('https://api.axnode.net/v2/reminders', {
  method: 'GET',
  headers: { Authorization: `Bearer ${token}` }
});
const data = await res.json();
import requests

res = requests.get(
    'https://api.axnode.net/v2/reminders',
    headers={'Authorization': f'Bearer {token}'},
)
data = res.json()

Response 200

{
  "data": [
    {
      "id": "rm_8f3k2Q9xLm",
      "note_id": "nt_8f3k2Q9xLm",
      "remind_at": "2026-10-20T08:00:00Z",
      "channel": "push",
      "done": false
    }
  ],
  "has_more": false,
  "next_cursor": null
}

POST /reminders

Create a reminder. Creates a reminder.

Required scope: notes:write

Body parameters

FieldTypeDescription
note_id requiredstringRelated note.
remind_at requiredtimestampWhen to fire.
channelstringpush, email or webhook.
donebooleanWhether it already fired.

Request

curl -X POST "https://api.axnode.net/v2/reminders" \
  -H "Authorization: Bearer $AXSYNC_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"note_id": "nt_8f3k2Q9xLm", "remind_at": "2026-10-20T08:00:00Z"}'
const res = await fetch('https://api.axnode.net/v2/reminders', {
  method: 'POST',
  headers: { Authorization: `Bearer ${token}`, 'Content-Type': 'application/json' },
  body: JSON.stringify({"note_id": "nt_8f3k2Q9xLm", "remind_at": "2026-10-20T08:00:00Z"})
});
const data = await res.json();
import requests

res = requests.post(
    'https://api.axnode.net/v2/reminders',
    headers={'Authorization': f'Bearer {token}'}, json={"note_id": "nt_8f3k2Q9xLm", "remind_at": "2026-10-20T08:00:00Z"},
)
data = res.json()

Response 201

{
  "id": "rm_8f3k2Q9xLm",
  "note_id": "nt_8f3k2Q9xLm",
  "remind_at": "2026-10-20T08:00:00Z",
  "channel": "push",
  "done": false
}

GET /reminders/{id}

Retrieve a reminder. Retrieves a reminder by its identifier.

Required scope: notes:read

Request

curl -X GET "https://api.axnode.net/v2/reminders/rm_8f3k2Q9xLm" \
  -H "Authorization: Bearer $AXSYNC_TOKEN"
const res = await fetch('https://api.axnode.net/v2/reminders/rm_8f3k2Q9xLm', {
  method: 'GET',
  headers: { Authorization: `Bearer ${token}` }
});
const data = await res.json();
import requests

res = requests.get(
    'https://api.axnode.net/v2/reminders/rm_8f3k2Q9xLm',
    headers={'Authorization': f'Bearer {token}'},
)
data = res.json()

Response 200

{
  "id": "rm_8f3k2Q9xLm",
  "note_id": "nt_8f3k2Q9xLm",
  "remind_at": "2026-10-20T08:00:00Z",
  "channel": "push",
  "done": false
}

PATCH /reminders/{id}

Update a reminder. Updates fields of a reminder. Only supplied fields change.

Required scope: notes:write

Body parameters

FieldTypeDescription
note_id requiredstringRelated note.
remind_at requiredtimestampWhen to fire.
channelstringpush, email or webhook.
donebooleanWhether it already fired.

Request

curl -X PATCH "https://api.axnode.net/v2/reminders/rm_8f3k2Q9xLm" \
  -H "Authorization: Bearer $AXSYNC_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"note_id": "nt_8f3k2Q9xLm", "remind_at": "2026-10-20T08:00:00Z"}'
const res = await fetch('https://api.axnode.net/v2/reminders/rm_8f3k2Q9xLm', {
  method: 'PATCH',
  headers: { Authorization: `Bearer ${token}`, 'Content-Type': 'application/json' },
  body: JSON.stringify({"note_id": "nt_8f3k2Q9xLm", "remind_at": "2026-10-20T08:00:00Z"})
});
const data = await res.json();
import requests

res = requests.patch(
    'https://api.axnode.net/v2/reminders/rm_8f3k2Q9xLm',
    headers={'Authorization': f'Bearer {token}'}, json={"note_id": "nt_8f3k2Q9xLm", "remind_at": "2026-10-20T08:00:00Z"},
)
data = res.json()

Response 200

{
  "id": "rm_8f3k2Q9xLm",
  "note_id": "nt_8f3k2Q9xLm",
  "remind_at": "2026-10-20T08:00:00Z",
  "channel": "push",
  "done": false
}

DELETE /reminders/{id}

Delete a reminder. Permanently deletes a reminder. This cannot be undone.

Required scope: notes:write

Request

curl -X DELETE "https://api.axnode.net/v2/reminders/rm_8f3k2Q9xLm" \
  -H "Authorization: Bearer $AXSYNC_TOKEN"
const res = await fetch('https://api.axnode.net/v2/reminders/rm_8f3k2Q9xLm', {
  method: 'DELETE',
  headers: { Authorization: `Bearer ${token}` }
});
const data = await res.json();
import requests

res = requests.delete(
    'https://api.axnode.net/v2/reminders/rm_8f3k2Q9xLm',
    headers={'Authorization': f'Bearer {token}'},
)
data = res.json()

Response 200

{
  "deleted": true,
  "id": "rm_8f3k2Q9xLm"
}